From eebc4c002224f4c4c880d49d15ff1ba3ee968882 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Sun, 2 Jul 2017 11:55:13 +0200 Subject: mpegdemux: segment seek flag is not relevant when checking for EOS It is only relevant in deciding whether or not send SEGMENT_DONE. In this case, not detecting EOS leads to a busy loop when encountering the originally recorded end-of-file of a file that is still growing. --- gst/mpegdemux/gstmpegdemux.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gst/mpegdemux') diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index c6226544d..44541490d 100644 --- a/gst/mpegdemux/gstmpegdemux.c +++ b/gst/mpegdemux/gstmpegdemux.c @@ -2858,10 +2858,9 @@ gst_ps_demux_loop (GstPad * pad) offset += size; gst_segment_set_position (&demux->sink_segment, GST_FORMAT_BYTES, offset); /* check EOS condition */ - if ((demux->src_segment.flags & GST_SEEK_FLAG_SEGMENT) && - ((demux->sink_segment.position >= demux->sink_segment.stop) || - (demux->src_segment.stop != (guint64) - 1 && - demux->src_segment.position >= demux->src_segment.stop))) { + if ((demux->sink_segment.position >= demux->sink_segment.stop) || + (demux->src_segment.stop != (guint64) - 1 && + demux->src_segment.position >= demux->src_segment.stop)) { GST_DEBUG_OBJECT (demux, "forward mode using segment reached end of " "segment pos %" GST_TIME_FORMAT " stop %" GST_TIME_FORMAT " pos in bytes %" -- cgit v1.2.1