Skip to content

element: Add sanity check with a critical warning if a pad is requested for a...

element: Add sanity check with a critical warning if a pad is requested for a pad template that is not installed on the element class

Various elements are assuming that the pointer matches a pad template they know about, and also randomly created pad templates might be missing some important information that is necessary to create a valid pad.

For example, creating a new pad template for audiomixer's sinkpad without providing the correct GType would cause audiomixer to create a GstAggregatorPad. That will then later fail spectacularly because it assumes that it got a GstAudioAggregatorPad.

Passing a pad template that does not belong to the element class in here will easily lead to undefined behaviour.

Merge request reports