diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 6 |
2 files changed, 13 insertions, 1 deletions
@@ -1,3 +1,11 @@ +2006-08-30 Edward Hervey <edward@fluendo.com> + + * gst/qtdemux/qtdemux.c: + (gst_qtdemux_do_seek): + Reset each streams last_flow to GST_FLOW_OK. + (gst_qtdemux_activate_segment): + Removing mystic modifications for good. + 2006-08-30 Stefan Kost <ensonic@users.sf.net> * gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment), diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index de5f842c..2b0e7536 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -753,6 +753,7 @@ gst_qtdemux_do_seek (GstQTDemux * qtdemux, GstPad * pad, GstEvent * event) gboolean res; gboolean update; GstSegment seeksegment; + int i; if (event) { GST_DEBUG_OBJECT (qtdemux, "doing seek with event"); @@ -843,6 +844,9 @@ gst_qtdemux_do_seek (GstQTDemux * qtdemux, GstPad * pad, GstEvent * event) /* restart streaming, NEWSEGMENT will be sent from the streaming * thread. */ qtdemux->segment_running = TRUE; + for (i = 0; i < qtdemux->n_streams; i++) { + qtdemux->streams[i]->last_ret = GST_FLOW_OK; + } gst_pad_start_task (qtdemux->sinkpad, (GstTaskFunction) gst_qtdemux_loop, qtdemux->sinkpad); @@ -1088,7 +1092,7 @@ gst_qtdemux_activate_segment (GstQTDemux * qtdemux, QtDemuxStream * stream, stop = segment->media_stop; else stop = MIN (segment->media_stop, qtdemux->segment.stop); - start = segment->media_start + seg_time; + start = MIN (segment->media_start + seg_time, stop); GST_DEBUG_OBJECT (qtdemux, "newsegment %d from %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT, seg_idx, |