1
0
Fork 0
forked from Fijxu/invidious

DASH playback force highest quality m4a

Since VideoJS is unable to handle adaptive audio quality, the best audo quality is forced for every video quality.
This commit is contained in:
138138138 2022-06-23 02:13:22 +08:00 committed by GitHub
parent 6c73614a47
commit 140b6c1227
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -61,7 +61,18 @@ module Invidious::Routes::API::Manifest
next if mime_streams.empty? next if mime_streams.empty?
xml.element("AdaptationSet", id: i, mimeType: mime_type, startWithSAP: 1, subsegmentAlignment: true) do xml.element("AdaptationSet", id: i, mimeType: mime_type, startWithSAP: 1, subsegmentAlignment: true) do
# ignore the 64k m4a stream, only consider the 128k m4a stream
best_m4a_stream = mime_streams[0]
best_m4a_stream_bitrate = 0
mime_streams.each do |fmt| mime_streams.each do |fmt|
bandwidth = fmt["bitrate"].as_i
if (bandwidth > best_m4a_stream_bitrate)
best_m4a_stream_bitrate = bandwidth
best_m4a_stream = fmt
end
end
[best_m4a_stream].each do |fmt|
# OTF streams aren't supported yet (See https://github.com/TeamNewPipe/NewPipe/issues/2415) # OTF streams aren't supported yet (See https://github.com/TeamNewPipe/NewPipe/issues/2415)
next if !(fmt.has_key?("indexRange") && fmt.has_key?("initRange")) next if !(fmt.has_key?("indexRange") && fmt.has_key?("initRange"))