If there is no custom getcaps function on a sink pad, then changes in
downstream caps will never be propagated, so there is no point in trying to
renegotiate the capabilities.
goto flushed;
}
break;
+ case GST_EVENT_RENEGOTIATE:
+ if (GST_PAD_IS_SINK (pad) && GST_PAD_GETCAPSFUNC (pad) == NULL)
+ goto drop_renegotiate;
default:
while (G_UNLIKELY (GST_PAD_IS_BLOCKED (pad))) {
/* block the event as long as the pad is blocked */
GST_OBJECT_UNLOCK (pad);
return TRUE;
}
+drop_renegotiate:
+ {
+ GST_CAT_DEBUG_OBJECT (GST_CAT_EVENT, pad,
+ "No getcaps function on sink pad, dropping renegotiate event");
+ gst_event_unref (event);
+ GST_OBJECT_UNLOCK (pad);
+ return FALSE;
+ }
}
/**