Troubles with Gobject Introspection

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Troubles with Gobject Introspection

Peteris Krisjanis-2
Hi everyone!

This year I'm trying to port Jokosher from Gtk+2 to Gtk+3 using GI and
also I have added Gstreamer in the row. As sailing uncharted seas, I
have encountered several strange issue which I want to point here:

1) Gst.ElementFactory() has method create(), which is new way to
create GstElements. 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
gstelementfactory.c:409:gst_elemient_factory_create:<elementfactory280>
loading plugin containing feature level returned NULL!

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.

Already thanks for any ideas where I should dig,
Peter.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with Gobject Introspection

Tim-Philipp Müller-2
On Mon, 2011-07-25 at 23:14 +0300, [hidden email] 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
>
gstelementfactory.c:409:gst_elemient_factory_create:<elementfactory280>
> 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..)

Cheers
 -Tim


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with Gobject Introspection

Peteris Krisjanis-2
Hi!

2011/7/25 Tim-Philipp Müller <[hidden email]>:

> On Mon, 2011-07-25 at 23:14 +0300, [hidden email] 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).
Sorry, it was in context of Python, where previous method to create
elements was element_factory_make if I'm correct.

>> 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
>>
> gstelementfactory.c:409:gst_elemient_factory_create:<elementfactory280>
>> 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.
Python script is
Gst.init(None)
element = Gst.ElementFactory().create("level")

GST_DEBUG=*:5 is attached.

>
>> 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?
It seems to work, my fault for not checking it, I expected it under
Gst.Parse or Gst.ParseContext

Peter.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

g-element-factory.log.gz (265K) Download Attachment