mirror of
https://github.com/iv-org/invidious.git
synced 2026-06-15 11:26:45 -05:00
Fix listen mode audio bitrate labels
This commit is contained in:
parent
0e0ee40cb6
commit
e20c1a97ac
@ -72,15 +72,16 @@ module Invidious::Routes::API::Manifest
|
|||||||
lang = audio_track["id"]?.try &.as_s.split('.')[0] || "und"
|
lang = audio_track["id"]?.try &.as_s.split('.')[0] || "und"
|
||||||
is_default = audio_track.has_key?("audioIsDefault") ? audio_track["audioIsDefault"].as_bool : i == 0
|
is_default = audio_track.has_key?("audioIsDefault") ? audio_track["audioIsDefault"].as_bool : i == 0
|
||||||
displayname = audio_track["displayName"]?.try &.as_s || "Unknown"
|
displayname = audio_track["displayName"]?.try &.as_s || "Unknown"
|
||||||
bitrate = fmt["bitrate"]
|
bitrate = fmt["bitrate"].as_i
|
||||||
|
bitrate_kbps = (bitrate / 1000).round.to_i
|
||||||
|
|
||||||
# Different representations of the same audio should be groupped into one AdaptationSet.
|
# Different representations of the same audio should be groupped into one AdaptationSet.
|
||||||
# However, most players don't support auto quality switching, so we have to trick them
|
# However, most players don't support auto quality switching, so we have to trick them
|
||||||
# into providing a quality selector.
|
# into providing a quality selector.
|
||||||
# See https://github.com/iv-org/invidious/issues/3074 for more details.
|
# See https://github.com/iv-org/invidious/issues/3074 for more details.
|
||||||
xml.element("AdaptationSet", id: i, mimeType: mime_type, startWithSAP: 1, subsegmentAlignment: true, label: "#{displayname} [#{bitrate}k]", lang: lang) do
|
xml.element("AdaptationSet", id: i, mimeType: mime_type, startWithSAP: 1, subsegmentAlignment: true, label: "#{displayname} [#{bitrate_kbps}k]", lang: lang) do
|
||||||
codecs = fmt["mimeType"].as_s.split("codecs=")[1].strip('"')
|
codecs = fmt["mimeType"].as_s.split("codecs=")[1].strip('"')
|
||||||
bandwidth = fmt["bitrate"].as_i
|
bandwidth = bitrate
|
||||||
itag = fmt["itag"].as_i
|
itag = fmt["itag"].as_i
|
||||||
url = fmt["url"].as_s
|
url = fmt["url"].as_s
|
||||||
|
|
||||||
|
|||||||
@ -167,8 +167,11 @@ module Invidious::Routes::Watch
|
|||||||
url = audio_streams[0]["url"].as_s
|
url = audio_streams[0]["url"].as_s
|
||||||
|
|
||||||
if params.quality.ends_with? "k"
|
if params.quality.ends_with? "k"
|
||||||
|
bitrate = params.quality.rchop("k").to_i
|
||||||
|
bitrate *= 1000 if bitrate < 1000
|
||||||
|
|
||||||
audio_streams.each do |fmt|
|
audio_streams.each do |fmt|
|
||||||
if fmt["bitrate"].as_i == params.quality.rchop("k").to_i
|
if fmt["bitrate"].as_i == bitrate
|
||||||
url = fmt["url"].as_s
|
url = fmt["url"].as_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -28,12 +28,13 @@
|
|||||||
src_url = invidious_companion.public_url.to_s + src_url +
|
src_url = invidious_companion.public_url.to_s + src_url +
|
||||||
"&check=#{invidious_companion_check_id}" if (invidious_companion)
|
"&check=#{invidious_companion_check_id}" if (invidious_companion)
|
||||||
|
|
||||||
bitrate = fmt["bitrate"]
|
bitrate = fmt["bitrate"].as_i
|
||||||
|
bitrate_kbps = (bitrate / 1000).round.to_i
|
||||||
mimetype = HTML.escape(fmt["mimeType"].as_s)
|
mimetype = HTML.escape(fmt["mimeType"].as_s)
|
||||||
|
|
||||||
selected = (i == best_m4a_stream_index)
|
selected = (i == best_m4a_stream_index)
|
||||||
%>
|
%>
|
||||||
<source src="<%= src_url %>" type='<%= mimetype %>' label="<%= bitrate %>k" selected="<%= selected %>">
|
<source src="<%= src_url %>" type='<%= mimetype %>' label="<%= bitrate_kbps %>k" selected="<%= selected %>">
|
||||||
<% if !params.local && !CONFIG.disabled?("local") %>
|
<% if !params.local && !CONFIG.disabled?("local") %>
|
||||||
<source src="<%= src_url %>&local=true" type='<%= mimetype %>' hidequalityoption="true">
|
<source src="<%= src_url %>&local=true" type='<%= mimetype %>' hidequalityoption="true">
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user