}
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);
GST_OBJECT_LOCK (tee);
/* keep track of which pad we pushed and the result value */
+ if (GST_TEE_PAD_CAST (pad)->removed)
+ ret = GST_FLOW_NOT_LINKED;
GST_TEE_PAD_CAST (pad)->pushed = TRUE;
GST_TEE_PAD_CAST (pad)->result = ret;
gst_object_unref (pad);