GNOME Bugzilla – Bug 752340
dashdemux: period bitstreamSwitching is not used
Last modified: 2015-10-30 16:08:37 UTC
The Period's bitstreamSwitching flag should be inherited by all the Adaptation sets. Currently it is ignored and the AdaptationSet's bitstreamSwitching defaults to false instead of the value from Period.
Created attachment 307360 [details] [review]
attached patch containing unit test and proposed fix
Review of attachment 307360 [details] [review]:
@@ +2430,3 @@
+ bitstreamSwitchingFlag =
+ gst_mpd_client_get_bitstream_switching_flag (activeStream);
+ assert_equals_int (bitstreamSwitchingFlag, TRUE);
Not sure it's a good idea to test a behavior that's just an implementation decision that's not the standard (overwriting an actual value specified in the child) vs plain inheritance.
(In reply to Vincent Penquerc'h from comment #2)
> Review of attachment 307360 [details] [review] [review]:
> ::: tests/check/elements/dash_mpd.c
> @@ +2430,3 @@
> + bitstreamSwitchingFlag =
> + gst_mpd_client_get_bitstream_switching_flag (activeStream);
> + assert_equals_int (bitstreamSwitchingFlag, TRUE);
> Not sure it's a good idea to test a behavior that's just an implementation
> decision that's not the standard (overwriting an actual value specified in
> the child) vs plain inheritance.
It is the standard behavior:
Table 4 — Semantics of Period element
When set to ‘true’, this is equivalent as if the AdaptationSet@bitstreamSwitching for each Adaptation Set contained in this Period is set to 'true'. In this case, the AdaptationSet@bitstreamSwitching attribute shall not be set to 'false' for any Adaptation Set in this Period.
No idea why I thought this wasn't.
In any case, this doesn't build anymore, implicit declaration of function ‘gst_mpd_client_get_stream_mimeType'.
Can you please update it to laster master ?
Created attachment 314500 [details] [review]
rebased the patch
Author: Florin Apostol <email@example.com>
Date: Fri Oct 30 15:55:19 2015 +0000
dashdemux: inherit bitstreamSwitching from Period to AdaptationSet