summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/dv/gstdvdemux.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 27da9e86..0ac887d3 100644
--- 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):
diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c
index 890e65e1..bd2c3ac3 100644
--- a/ext/dv/gstdvdemux.c
+++ b/ext/dv/gstdvdemux.c
@@ -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;