Troubles with Gobject Introspection
t.i.m at zen.co.uk
Mon Jul 25 13:45:11 PDT 2011
On Mon, 2011-07-25 at 23:14 +0300, pecisk at gmail.com wrote:
> 1) Gst.ElementFactory() has method create(), which is new way to
> create GstElements.
It's not really a "new way". In C both gst_element_factory_create() and
gst_element_factory_make() exist (the latter is more like a
create-from-factory and the second is a convenience function that looks
up the factory given the element factory name string, and then call
create on it).
> I checked with Gst-0.10.gir and method description
> seems to be fine. However, I get this error:
> (python:3736): GStreamer-CRITICAL **: gst_registry_find_plugin:
> assertion `name != NULL' failed
> and GST_DEBUG shows this that null is passed instead of string of element name:
> 0:00:00.014177244 3751 0x98fddf0 WARN GST_PLUGIN_LOADING
> gstpluginfeature.c:132:gst_plugin_feature_load: Failed to load plugin
> containing feature '(null)'.
> 0:00:00.014205391 3751 0x98fddf0 WARN GST_ELEMENT_FACTORY
> loading plugin containing feature level returned NULL!
It looks like the g-i markup for _create() didn't say that NULL names
are allowed here, but I don't know if that explains your failure. Maybe
you should make a fuller debug log to see what's going on.
> 2) It feels to me that something is wrong with scanned classes and
> methods - I can't find where Parse methods (I was looking for
> bin_from_description) are hidden (by Gst-0.10.gir they are somewhere
> under Gst.XML namespace but I can't launch them like that - like
> Gst.XML().parse_bin_from_description), and I can't initalise Parse
> itself (or ParseContext) correctly.
They shouldn't be under the Gst.XML namespace. Why would that happen?
Gst.parse_bin_from_description() or somesuch doesn't work?
(Not that I've tried any of this myself..)
More information about the gstreamer-devel