diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/dv/gstdvdemux.c | 7 |
2 files changed, 11 insertions, 1 deletions
@@ -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; |