[gst-cvs] gst-plugins-good: qtdemux: Take last sample duration for dummy segment calculation.

Edward Hervey bilboed at kemper.freedesktop.org
Wed Jun 24 04:11:56 PDT 2009


Module: gst-plugins-good
Branch: master
Commit: 30dd45856736a7cbeb6c867139a9eb5a111a2452
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=30dd45856736a7cbeb6c867139a9eb5a111a2452

Author: Edward Hervey <bilboed at bilboed.com>
Date:   Wed Jun 17 16:20:25 2009 +0200

qtdemux: Take last sample duration for dummy segment calculation.

This fixes the cases where files without EDL wouldn't output their
last buffer.

---

 gst/qtdemux/qtdemux.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 639338a..a7d677c 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -3824,10 +3824,12 @@ done:
       stream->segments = g_new (QtDemuxSegment, 1);
 
     /* samples know best */
-    if (stream->n_samples > 0)
+    if (stream->n_samples > 0) {
       stream_duration =
           stream->samples[stream->n_samples - 1].timestamp +
-          stream->samples[stream->n_samples - 1].pts_offset;
+          stream->samples[stream->n_samples - 1].pts_offset +
+          stream->samples[stream->n_samples - 1].duration;
+    }
 
     stream->segments[0].time = 0;
     stream->segments[0].stop_time = stream_duration;





More information about the Gstreamer-commits mailing list