GNOME Bugzilla – Bug 700489
[dashdemux] Initialization blocks without URLs generate spurious critical errors
Last modified: 2013-07-01 22:12:04 UTC
An MPD with an Initialization that does not include a sourceURL, e.g. http://yt-dash-mse-test.commondatastorage.googleapis.com/car-20120827-manifest.mpd will generate the following critical error: ** (gst-launch-1.0:8060): CRITICAL **: gst_mpdparser_get_initializationURL: assertion `InitializationURL->sourceURL != NULL' failed However, per the DASH specification, URLTypes like Initialization are not required to have a sourceURL, provided there is a BaseURL that can be mapped instead. (See Table 13 in ISO/IEC 23009-1:2012) A patch is attached to remedy this bug. Reproduction: gst-launch playbin uri=http://yt-dash-mse-test.commondatastorage.googleapis.com/car-20120827-manifest.mpd
Created attachment 244470 [details] [review] This is the patch that had failure-to-attach.
Bump.
While this fixes the issue for this clip, it seems our dashdemux is still unable to handle segments that use byte ranges. In this particular case it is ok as there is only a single segment, but there might be other scenarios where multiple segments with byte ranges are used. I'm going to need to take a deeper look at the spec/code and check if we can add more to your patch and fix the whole byte range segments handling altogether. It would also be helpful if we had a sample that used byte ranges. I'll try to find some.
It looks like the byte range aspect is being handled under bug 702206 for the moment.
The byte range requests foundation is now ready on #702206, now I'm trying to understand what's the difference between index and media and the corresponding ranges. /me goes back to the spec
Can we mark this issue as resolved (and possibly commit the patch)? The byte-range issue is handled by bug 702206 and can be handled separately.
(In reply to comment #6) > Can we mark this issue as resolved (and possibly commit the patch)? The > byte-range issue is handled by bug 702206 and can be handled separately. There is still a missing piece here that is the indexRange handling for the stream in this bug. This can only be pushed after the other range patches are pushed.
Fixed, thanks for the patch. commit d68fffc21758399c401593f1bd5915cbcf74e131 Author: Thiago Santos <thiago.sousa.santos@collabora.com> Date: Mon Jul 1 13:19:15 2013 -0300 dashdemux: handle top-level index urls Parse and provide access to top-level index segments if available. dashdemux should push those whenever a header is pushed. Fixes #700489 commit 54d87f071c152e05de210047180c3147c88f0634 Author: Arthur Shipkowski <art@videon-central.com> Date: Mon May 6 17:08:54 2013 -0400 dashdemux: Fix critical error output when Initialization has no URL Issue evinced by http://yt-dash-mse-test.commondatastorage.googleapis.com/car-20120827-manifest.mpd which produces output like ** (gst-launch-1.0:8060): CRITICAL **: gst_mpdparser_get_initializationURL: assertion `InitializationURL->sourceURL != NULL' failed https://bugzilla.gnome.org/show_bug.cgi?id=700489