mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 15:48:23 +00:00
decodebin3: When reconfiguring a slot make sure that the ghostpad is unlinked
This was only taken care of previously if there was a decoder before. However if previously a decoder was not needed then the ghostpad would've been linked directly to the slot's srcpad. Reconfiguring the slot requires this to be undone so that linking can happen normally. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/985>
This commit is contained in:
parent
932dfd4031
commit
15fb391401
1 changed files with 9 additions and 0 deletions
|
@ -2284,6 +2284,15 @@ reconfigure_output_stream (DecodebinOutputStream * output,
|
|||
gst_bin_remove ((GstBin *) dbin, output->decoder);
|
||||
output->decoder = NULL;
|
||||
output->decoder_latency = GST_CLOCK_TIME_NONE;
|
||||
} else if (output->linked) {
|
||||
/* Otherwise if we have no decoder yet but the output is linked make
|
||||
* sure that the ghost pad is really unlinked in case no decoder was
|
||||
* needed previously */
|
||||
if (!gst_ghost_pad_set_target ((GstGhostPad *) output->src_pad, NULL)) {
|
||||
GST_ERROR_OBJECT (dbin, "Could not release ghost pad");
|
||||
gst_caps_unref (new_caps);
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
gst_caps_unref (new_caps);
|
||||
|
|
Loading…
Reference in a new issue