Need to REMOVE an interface from a superclass.

Olivier Crête olivier.crete at collabora.com
Fri Feb 12 21:45:52 UTC 2021


Hi,

This is a problem related to the  translation between the C and Python
bindings. It's a separate interface in C. So you can either force
Python to access g_object_set instead of gst_child_proxy_set .. 

Or maybe you can re-implement GstChildProxy in the subclass in a
version that does nothing.

Olivier

On Fri, 2021-02-12 at 15:42 -0500, Stirling Westrup wrote:
> 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.
> 
> 
> 
> 

-- 
Olivier Crête
olivier.crete at collabora.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210212/c2ab2408/attachment.htm>


More information about the gstreamer-devel mailing list