Need to REMOVE an interface from a superclass.

Stirling Westrup swestrup at gmail.com
Fri Feb 12 20:42:54 UTC 2021


I am currently making a new element which is mostly controlling a set
of other contained elements, so we're subclassing Gst.Bin. As well, we
happen to be writing this in Python, but I think that's basically
irrelevant for my question.

GstBin has an annoying habit of treating any foo=bar parameter fed to
it as a proxy to be sent to a child named foo. As a result we just
spent several hours debugging our application, only to discover that a
misspelled element property was being silently ignored.

We would dearly love to NOT have the GstChildProxy interface active on
our GstBin as we want no external access to the contents of the bin.
However, I know of no safe way of disabling an existing interface.

Failing that, some way to intercept the property setting calls to the
GstChildProxy interface would at least allow us to issue an error in
case of a bad property.

We're actually seriously considering hacking up the source for GstBin
to produce an UnproxiedBin to derive from, but that sort of defeats
our attempts to move away from C to Python in the first place.




-- 
Stirling Westrup (he/him)
Programmer, Entrepreneur.
http://www.linkedin.com/in/swestrup
(+1) 514-626-0928


More information about the gstreamer-devel mailing list