diff --git a/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c b/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c index f8522a0513..9bcd791042 100644 --- a/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c +++ b/subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c @@ -1356,7 +1356,10 @@ uri_src_block_probe (GstPad * pad, GstPadProbeInfo * info, } PLAY_ITEMS_LOCK (handler->uridecodebin); - if (play_item_is_eos (handler->uridecodebin->input_item)) { + if (srcpad->block_probe_id == 0) { + GST_DEBUG_OBJECT (pad, "pad has already been unblocked"); + ret = GST_PAD_PROBE_REMOVE; + } else if (play_item_is_eos (handler->uridecodebin->input_item)) { GST_DEBUG_OBJECT (handler->uridecodebin, "We can switch over to the next input item"); switch_and_activate_input_locked (handler->uridecodebin,