tee: deactivate the pad after removing it

When releasing the request pad, first remove it from the element and then
deactivate it. If we do it the other way around, a gst_pad_push on the element
might return wrong-state before we had a chance to detect the removed pad in the
chain function.
This commit is contained in:
Wim Taymans 2011-05-27 14:00:56 +02:00
parent 26a5a877ff
commit a96002bb28

View file

@ -386,11 +386,14 @@ gst_tee_release_pad (GstElement * element, GstPad * pad)
}
GST_OBJECT_UNLOCK (tee);
gst_pad_set_active (pad, FALSE);
gst_object_ref (pad);
gst_element_remove_pad (GST_ELEMENT_CAST (tee), pad);
gst_pad_set_active (pad, FALSE);
GST_TEE_DYN_UNLOCK (tee);
gst_object_unref (pad);
if (changed) {
gst_tee_notify_alloc_pad (tee);
}