mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
asfdemux: Don't push any data on pads after the segment.stop
https://bugzilla.gnome.org/show_bug.cgi?id=755469
This commit is contained in:
parent
155c8fc6a6
commit
738e48ef49
1 changed files with 22 additions and 1 deletions
|
@ -1713,6 +1713,25 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
|
||||||
timestamp = payload->ts;
|
timestamp = payload->ts;
|
||||||
if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
|
if (GST_CLOCK_TIME_IS_VALID (timestamp)) {
|
||||||
timestamp += demux->in_gap;
|
timestamp += demux->in_gap;
|
||||||
|
|
||||||
|
/* Check if we're after the segment already, if so no need to push
|
||||||
|
* anything here */
|
||||||
|
if (demux->segment.stop != -1 && timestamp > demux->segment.stop) {
|
||||||
|
GST_DEBUG_OBJECT (stream->pad,
|
||||||
|
"Payload after segment stop %" GST_TIME_FORMAT,
|
||||||
|
GST_TIME_ARGS (demux->segment.stop));
|
||||||
|
ret =
|
||||||
|
gst_flow_combiner_update_pad_flow (demux->flowcombiner, stream->pad,
|
||||||
|
GST_FLOW_EOS);
|
||||||
|
gst_buffer_unref (payload->buf);
|
||||||
|
payload->buf = NULL;
|
||||||
|
g_array_remove_index (stream->payloads, 0);
|
||||||
|
/* Break out as soon as we have an issue */
|
||||||
|
if (G_UNLIKELY (ret != GST_FLOW_OK))
|
||||||
|
break;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_BUFFER_PTS (payload->buf) = timestamp;
|
GST_BUFFER_PTS (payload->buf) = timestamp;
|
||||||
|
@ -1748,7 +1767,9 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gst_pad_push (stream->pad, payload->buf);
|
ret = gst_pad_push (stream->pad, payload->buf);
|
||||||
ret = gst_flow_combiner_update_flow (demux->flowcombiner, ret);
|
ret =
|
||||||
|
gst_flow_combiner_update_pad_flow (demux->flowcombiner, stream->pad,
|
||||||
|
ret);
|
||||||
} else {
|
} else {
|
||||||
gst_buffer_unref (payload->buf);
|
gst_buffer_unref (payload->buf);
|
||||||
ret = GST_FLOW_OK;
|
ret = GST_FLOW_OK;
|
||||||
|
|
Loading…
Reference in a new issue