After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 760837 - dash, mpdparser: Implement the flow to check invalid adaption sets or representations according to ISO/IEC 23009-1 : section 8.3
dash, mpdparser: Implement the flow to check invalid adaption sets or repres...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-01-19 13:54 UTC by WeiChungChang
Modified: 2018-11-03 13:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix the issue (7.70 KB, patch)
2016-01-19 13:54 UTC, WeiChungChang
needs-work Details | Review
The issued MPD whose video adaption set should be ignored but not so (1.45 KB, application/xml)
2016-01-19 13:58 UTC, WeiChungChang
  Details

Description WeiChungChang 2016-01-19 13:54:04 UTC
Created attachment 319348 [details] [review]
patch to fix the issue

According to ISO/IEC 23009-1 : section 8.3, there are several checks should be executed to filter out the adaption sets or representations which are not in correct form.

For example, if it is a ISO BASE media file format On Demand profile with URN ="urn:mpeg:dash:profile:isoff-on-demand:2011" & AdaptationSet@subsegmentAlignment does not present,the adaption set should be ignored.

However, current MPD parser does not fully comply with this rule.
Hence when I played the MPD as attached TestSuit.mpd, the playback will stuck
by requesting an invalid URL link.

In the attached patch it tries to implement the flow to check the claimed rules within ISO/IEC 23009-1 : section 8.3.
Comment 1 WeiChungChang 2016-01-19 13:58:29 UTC
Created attachment 319350 [details]
The issued MPD whose video adaption set should be ignored but not so

The issued MPD whose video adaption set should be ignored but not so.
As the result, the playback fails.
Comment 2 Sebastian Dröge (slomo) 2017-03-02 18:06:55 UTC
Review of attachment 319348 [details] [review]:

Please provide a test for this also

::: ext/dash/gstmpdparser.c
@@ +1853,3 @@
   gchar *actuate;
+  gboolean has_subsegmentAlignment	   = FALSE;
+  gboolean has_subsegmentStartsWithSAP = FALSE;

And run gst-indent over your code to fix indentation

@@ +1972,3 @@
   }
 
+  if (0 == g_list_length (new_adap_set->Representations)) {

This is O(n), better would be to just check if ->Representations == NULL

@@ +2121,3 @@
   }
 
+  if (0 == g_list_length (new_period->AdaptationSets)) {

And here
Comment 3 Tim-Philipp Müller 2018-01-24 23:55:45 UTC
As far as I can tell the spec says "may be ignored".

Why should which adaptation sets or representations be ignored here?
Comment 4 WeiChungChang 2018-01-25 00:06:39 UTC
Dear Tim:

Thanks a lot for your reply after a long time it is still reached.

I do not work for GStreamer DASH plugin anymore.

For the question, I would like to say as I remembered, it is an official verification items.

Many vendors purchase commercial verification tools since they provide complete sanity check.

As I remembered, it is one of it.

Sure. we can ignore it; not hurt much but for me, as an user who hope GStreamer better I report it.

Please close it if you think it is minor. 

Thank you!
Comment 5 GStreamer system administrator 2018-11-03 13:45:24 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/342.