mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
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:
parent
21a8cb1e06
commit
01f0a5ce32
1 changed files with 7 additions and 1 deletions
|
@ -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:
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue