[Bug 752480] dashdemux: negative values for r attribute in S node are not supported

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Sep 15 08:02:19 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=752480

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #311366|none                        |needs-work
             status|                            |

--- Comment #20 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 311366:
 --> (https://bugzilla.gnome.org/review?bug=752480&attachment=311366)

::: ext/dash/gstmpdparser.c
@@ +3108,3 @@
+      GstClockTime start, end;
+
+      stream_period = gst_mpdparser_get_stream_period (client);

That's not complete yet. You also have to consider g_ptr_array_index(segments,
i+1)->start if existing. What you can have is

<S t=0 d=10 r=-1 />
<S t=50 d=5 r=0 />

This would repeat the first segment 5 times, then do the last segment for 5

@@ +3657,3 @@
+              || (ts <
+                  segment->start + (segment->repeat +
+                      1) * segment->duration))) {

Here you still assume that the r<0 segments are extending until the end of the
period

@@ +3783,3 @@
+      const GstMediaSegment *next_segment =
+          g_ptr_array_index (stream->segments, segment_idx + 1);
+      *ts = next_segment->start;

Here you do it correct

@@ +4137,3 @@
+        GstClockTime start, end;
+
+        stream_period = gst_mpdparser_get_stream_period (client);

Need to consider the next segment here too

@@ +4178,3 @@
+        GstClockTime start, end;
+
+        stream_period = gst_mpdparser_get_stream_period (client);

and here

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list