summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2024-08-19 09:37:51 +0200
committerBackport Bot <gitlab-backport-bot@gstreamer-foundation.org>2024-08-19 10:40:07 +0100
commitbfcd23db61be4dd85d74cc0689a2009e09828697 (patch)
treee2a03001ab79f0220eb3f4a0817f48f6275aca4d
parent97461dc47d74336ad2c9684c0e11797031100683 (diff)
urisourcebin: Actually drop EOS on old-school pad switch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7376>
-rw-r--r--subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c b/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c
index d9c0d489c6..3c9a71c9ce 100644
--- a/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c
+++ b/subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c
@@ -915,6 +915,7 @@ demux_pad_events (GstPad * pad, GstPadProbeInfo * info, OutputSlotInfo * slot)
{
GstURISourceBin *urisrc = slot->linked_info->urisrc;
GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+ GstPadProbeReturn ret = GST_PAD_PROBE_OK;
GST_URI_SOURCE_BIN_LOCK (urisrc);
@@ -926,7 +927,8 @@ demux_pad_events (GstPad * pad, GstPadProbeInfo * info, OutputSlotInfo * slot)
GST_LOG_OBJECT (urisrc, "EOS on pad %" GST_PTR_FORMAT, pad);
if (slot->pending_pad && pad != slot->pending_pad) {
- GST_DEBUG_OBJECT (pad, "A pending pad is present, ignoring");
+ GST_DEBUG_OBJECT (pad, "A pending pad is present, dropping");
+ ret = GST_PAD_PROBE_DROP;
break;
}
@@ -974,7 +976,7 @@ demux_pad_events (GstPad * pad, GstPadProbeInfo * info, OutputSlotInfo * slot)
GST_URI_SOURCE_BIN_UNLOCK (urisrc);
unlock_done:
- return GST_PAD_PROBE_OK;
+ return ret;
}
static GstPadProbeReturn