[Bug 754222] adaptivedemux: Timestamping of multi-period streams is not correct

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Sep 2 09:33:31 PDT 2015


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

Thiago Sousa Santos <thiagossantos at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #310519|none                        |reviewed
             status|                            |

--- Comment #11 from Thiago Sousa Santos <thiagossantos at gmail.com> ---
Review of attachment 310519:
 --> (https://bugzilla.gnome.org/review?bug=754222&attachment=310519)

::: gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ +830,3 @@
       stream->segment.base =
+          gst_segment_to_running_time (&demux->segment, GST_FORMAT_TIME,
+          period_start);

Suppose you have a dash mpd with 2 periods, P0 and P1 with 10s each. No
offsets.

The user does a flushing seek to 7s, that lands within P0 and the segment will
have: base=0, start=7s - 0.
It plays P0 until the end and moves to P1, now the segment will have: base=10s,
start=0.

The base at the second period will be wrong as it should be 3s, that is the
total that was played for the P0 in this case.
Maybe what we need is actually to go accumulating the amount of time played for
each period on base and time when moving to another period.

(I haven't actually reproduced this, it is just an analysis from the code
itself)

-- 
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