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