ext/dv/gstdvdemux.c: Respect segment.stop. Fixes #342592.
authorWim Taymans <wim.taymans@gmail.com>
Wed, 14 Jun 2006 15:07:22 +0000 (15:07 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 14 Jun 2006 15:07:22 +0000 (15:07 +0000)
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame):
Respect segment.stop. Fixes #342592.

ChangeLog
ext/dv/gstdvdemux.c

index 27da9e8..0ac887d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-14  Wim Taymans  <wim@fluendo.com>
+
+       * ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame):
+       Respect segment.stop. Fixes #342592.
+
 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
index 890e65e..bd2c3ac 100644 (file)
@@ -1397,10 +1397,15 @@ gst_dvdemux_demux_frame (GstDVDemux * dvdemux, GstBuffer * buffer)
     goto done;
   }
 
-  ret = GST_FLOW_OK;
   gst_segment_set_last_stop (&dvdemux->time_segment, GST_FORMAT_TIME, next_ts);
   dvdemux->frame_offset++;
 
+  /* check for the end of the segment */
+  if (dvdemux->time_segment.stop != -1 && next_ts > dvdemux->time_segment.stop)
+    ret = GST_FLOW_UNEXPECTED;
+  else
+    ret = GST_FLOW_OK;
+
 done:
   return ret;