mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
tsdemux: Flush out pending data on EOS
Ensures downstream elements (like decoders) really get all the data
This commit is contained in:
parent
ca77865bce
commit
a76c658e8d
1 changed files with 5 additions and 0 deletions
|
@ -596,6 +596,11 @@ push_event (MpegTSBase * base, GstEvent * event)
|
||||||
for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
|
for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
|
||||||
TSDemuxStream *stream = (TSDemuxStream *) tmp->data;
|
TSDemuxStream *stream = (TSDemuxStream *) tmp->data;
|
||||||
if (stream->pad) {
|
if (stream->pad) {
|
||||||
|
/* If we are pushing out EOS, flush out pending data first */
|
||||||
|
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS && stream->active &&
|
||||||
|
gst_pad_is_active (stream->pad))
|
||||||
|
gst_ts_demux_push_pending_data (demux, stream);
|
||||||
|
|
||||||
gst_event_ref (event);
|
gst_event_ref (event);
|
||||||
gst_pad_push_event (stream->pad, event);
|
gst_pad_push_event (stream->pad, event);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue