mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
matroskademux: Drop buffers that are after segment stop
...and if this happened for all streams go EOS.
This commit is contained in:
parent
276a61ab2a
commit
c9b1ab53fe
1 changed files with 12 additions and 0 deletions
|
@ -4349,6 +4349,18 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux,
|
|||
GST_BUFFER_TIMESTAMP (sub) = lace_time;
|
||||
|
||||
if (GST_CLOCK_TIME_IS_VALID (lace_time)) {
|
||||
/* Check if this stream is after segment stop */
|
||||
if (GST_CLOCK_TIME_IS_VALID (demux->segment.stop) &&
|
||||
lace_time >= demux->segment.stop) {
|
||||
GST_DEBUG_OBJECT (demux,
|
||||
"Stream %d after segment stop %" GST_TIME_FORMAT, stream->index,
|
||||
GST_TIME_ARGS (demux->segment.stop));
|
||||
ret = GST_FLOW_UNEXPECTED;
|
||||
/* combine flows */
|
||||
ret = gst_matroska_demux_combine_flows (demux, stream, ret);
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!GST_CLOCK_TIME_IS_VALID (demux->segment.last_stop)
|
||||
|| demux->segment.last_stop < lace_time)
|
||||
demux->segment.last_stop = lace_time;
|
||||
|
|
Loading…
Reference in a new issue