GNOME Bugzilla – Bug 751170
dashdemux: the bitstreamSwitching attribute from AdaptationSet is not parsed
Last modified: 2015-08-16 13:37:19 UTC
The bitstreamSwitching attribute from AdaptationSet is not parsed and its value is always false.
Created attachment 305616 [details] [review] Added parsing of bitstreamSwitching attribute and unit test to validate it. Attached patch to parse the attribute and unit test to reproduce the problem.
It seems we don't use bitstreamSwitching anywhere. I tried reading what it means from the spec but it isn't very clear. Is it an extra segment that needs to be downloaded and used when switching to a track?
I don't know what it is used for. My goal is to create unit tests to see if the dash parser implementation follows the standard and is able to parse any fields. From this point of view, I consider that the implementation must be able to parse this field, in case some user will sometimes want to use it.
> I tried reading what it means from the spec but it isn't > very clear. Is it an extra segment that needs to be > downloaded and used when switching to a track? Sounds like it, from 5.3.3.2, although it's not clear if they always need to be downloaded or only when switching. I'm guessing when switching otherwise it would be a bit pointless. Generally speaking it's not clear to me we need to parse stuff we don't implement, especially if it's not even clear what it's used for and whether it needs to be handled or not.
I see "parsing" and "using" 2 separate things: - the parser scope is to implement the ability to correctly extract data from the xml. All the data mentioned in the standard. It is not its decision what it is important and what not. - the "using" code can decide what parsed information is used and what is not used. It's scope is to process the information extracted by the parser and provide this information to the user of the gstmpdparser API. The 2 parts can thus be logically separated. The parsing API is the gst_mpd_parse function. The "using" API are all the other functions from gstmpdparser.h file
I think it makes sense to parse this, because we already have the struct field for it since forever. If the struct field exists, it should at least contain the correct value. If the struct field should exist before we use it is another question though. Merged this for now: commit cc9885ef4e13866c0eafe8e50de7f4af3f4f4f8e Author: Florin Apostol <florin.apostol@oregan.net> Date: Fri Jul 3 16:17:58 2015 +0100 dashdemux: added parsing of bitstreamSwitching@AdaptationSet https://bugzilla.gnome.org/show_bug.cgi?id=751170