mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
uridecodebin3: Fix shutdown procedures in probe
When shutting down, we want to remove the urisourcebin blocking probes ... but we also want to propagate a GST_FLOW_FLUSHING upstream (and not GST_FLOW_NOT_LINKED) to make the upstream task gracefully stop instead of posting an error message. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3457>
This commit is contained in:
parent
7f5f7b3a77
commit
353691602e
1 changed files with 8 additions and 1 deletions
|
@ -1255,8 +1255,15 @@ uri_src_block_probe (GstPad * pad, GstPadProbeInfo * info,
|
|||
shutdown:
|
||||
{
|
||||
GST_LOG_OBJECT (pad, "Shutting down");
|
||||
/* We are shutting down, we both want to remove this probe and propagate a
|
||||
* GST_FLOW_FLUSHING upstream (to cause tasks to stop) */
|
||||
if (srcpad->block_probe_id)
|
||||
gst_pad_remove_probe (pad, srcpad->block_probe_id);
|
||||
srcpad->block_probe_id = 0;
|
||||
PLAY_ITEMS_UNLOCK (handler->uridecodebin);
|
||||
return GST_PAD_PROBE_REMOVE;
|
||||
GST_PAD_PROBE_INFO_FLOW_RETURN (info) = GST_FLOW_FLUSHING;
|
||||
gst_mini_object_unref (GST_PAD_PROBE_INFO_DATA (info));
|
||||
return GST_PAD_PROBE_HANDLED;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue