avidemux: ignore streams that finished

When we receive an UNEXPECTED from a stream, move to the next stream and only go
EOS when all streams are EOS. When selecting a stream to push, ignore streams
that went EOS.

Fixes #607949
This commit is contained in:
Wim Taymans 2010-01-26 11:18:28 +01:00
parent 21a8cb1e06
commit 01f0a5ce32

View file

@ -4205,6 +4205,11 @@ gst_avi_demux_find_next (GstAviDemux * avi, gfloat rate)
GstAviStream *stream;
stream = &avi->stream[i];
/* ignore streams that finished */
if (stream->last_flow == GST_FLOW_UNEXPECTED)
continue;
position = stream->current_timestamp;
/* position of -1 is EOS */
@ -4369,7 +4374,8 @@ eos_stop:
" setting EOS (%" GST_TIME_FORMAT " > %" GST_TIME_FORMAT ")",
GST_TIME_ARGS (timestamp), GST_TIME_ARGS (avi->segment.stop));
ret = GST_FLOW_UNEXPECTED;
goto beach;
/* move to next stream */
goto next;
}
pull_failed:
{