From: Thiago Santos Date: Tue, 7 Jan 2014 00:36:17 +0000 (-0300) Subject: qtdemux: remember reverse playback when verifying the segment end X-Git-Tag: 1.19.3~509^2~4899 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5fe1b3eb28f9960b2980e149b5f721dae466a4d8;p=platform%2Fupstream%2Fgstreamer.git qtdemux: remember reverse playback when verifying the segment end Check if the rate is positive or negative to correctly compare the current position with the segment to make reverse playback work --- diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index b0c5cd2..5f2e11c 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -4223,7 +4223,9 @@ gst_qtdemux_loop_state_movie (GstQTDemux * qtdemux) /* check for segment end */ if (G_UNLIKELY (qtdemux->segment.stop != -1 - && qtdemux->segment.stop <= min_time + && ((qtdemux->segment.rate >= 0 && qtdemux->segment.stop <= min_time) + || (qtdemux->segment.rate < 0 + && qtdemux->segment.start > min_time)) && qtdemux->streams[index]->on_keyframe)) { GST_DEBUG_OBJECT (qtdemux, "we reached the end of our segment."); qtdemux->streams[index]->time_position = -1;