tee: First deactivate the pad and then remove it when releasing pads
This reverts a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not necessary anymore. If we release the pad after removing it then none of the deactivation code will actually be called because the pad has no parent anymore, and we require a parent on the pad for deactivation to happen. This can then, among other things, cause a streaming thread to be still stuck in a pad probe because the pad was never flushed, and waiting there forever because now the pad will actually never be flushed anymore.
This commit is contained in:
parent
7f7da6a0d0
commit
d25a88e3a1
@ -460,12 +460,8 @@ gst_tee_release_pad (GstElement * element, GstPad * pad)
|
||||
}
|
||||
GST_OBJECT_UNLOCK (tee);
|
||||
|
||||
gst_object_ref (pad);
|
||||
gst_element_remove_pad (GST_ELEMENT_CAST (tee), pad);
|
||||
|
||||
gst_pad_set_active (pad, FALSE);
|
||||
|
||||
gst_object_unref (pad);
|
||||
gst_element_remove_pad (GST_ELEMENT_CAST (tee), pad);
|
||||
|
||||
if (changed) {
|
||||
gst_tee_notify_alloc_pad (tee);
|
||||
|
Loading…
x
Reference in New Issue
Block a user