|
|
@ -64,6 +64,10 @@ module Invidious::Routes::API::Manifest
|
|
|
|
# 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"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
# into providing a quality selector.
|
|
|
|
|
|
|
|
# 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: fmt["bitrate"].to_s + "k") do
|
|
|
|
xml.element("AdaptationSet", id: i, mimeType: mime_type, startWithSAP: 1, subsegmentAlignment: true, label: fmt["bitrate"].to_s + "k") 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 = fmt["bitrate"].as_i
|
|
|
|