Bin missing basically everything

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

Bin missing basically everything

Edgar Thier
Hi,

I am trying to build a bin that contains multiple sub elements
and can be used in other pipelines.

I tried orienting myself on the gstautovideosrc as my bin will include
a src similar to v4l2src.

However when inspecting the .so  with gst-inspect-1.0 I only get:

Plugin Details:
   Name                     tcambin
   Description              Tcam Video Bin
   Filename                 /home/XXXXX/work/tiscamera/build/src/gstreamer-1.0/libgsttcambin.so
   Version                  1.0.0
   License                  Proprietary
   Source module            tcam
   Binary package           tcambin
   Origin URL               url

   tcambin: Tcam Video Bin

   1 features:
   +-- 1 elements

As you can see the caps and properties are missing.

What am I missing?

You can find my files here:

The header file: http://pastebin.com/b2XYcT6R
The body: http://pastebin.com/TcFwkrv6

Thank you in advance for your time.

Regards,

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

Re: Bin missing basically everything

Nicolas Dufresne-4
Le mardi 19 avril 2016 à 11:13 +0200, Edgar Thier a écrit :

> Plugin Details:
>    Name                     tcambin
>    Description              Tcam Video Bin
>    Filename                
> /home/XXXXX/work/tiscamera/build/src/gstreamer-1.0/libgsttcambin.so
>    Version                  1.0.0
>    License                  Proprietary
>    Source module            tcam
>    Binary package           tcambin
>    Origin URL               url
>
>    tcambin: Tcam Video Bin
>
>    1 features:
>    +-- 1 elements
>
> As you can see the caps and properties are missing.

Both your plugin and your feature have the same name. Try giving them
different name, like tcam for the plugin and tcambin for the feature.
This way gst-inspect-1.0 won't pick randomly.

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

Re: Bin missing basically everything

Edgar Thier
Sorry, I am not quite sure what you mean.

 From my current understanding I have a plugin defining one element.
I was under the assumption that a plugin is basically a shared object definition for an element and
nothing more.

Since I am kind of lost:

What do I need to change?
I tried using other names in the plugin_init and GST_PLUGIN_DEFINE but there seems to be something I
am consistently overlooking...

Edgar

On 04/19/2016 03:51 PM, Nicolas Dufresne wrote:

> Le mardi 19 avril 2016 à 11:13 +0200, Edgar Thier a écrit :
>> Plugin Details:
>>     Name                     tcambin
>>     Description              Tcam Video Bin
>>     Filename
>> /home/XXXXX/work/tiscamera/build/src/gstreamer-1.0/libgsttcambin.so
>>     Version                  1.0.0
>>     License                  Proprietary
>>     Source module            tcam
>>     Binary package           tcambin
>>     Origin URL               url
>>
>>     tcambin: Tcam Video Bin
>>
>>     1 features:
>>     +-- 1 elements
>>
>> As you can see the caps and properties are missing.
>
> Both your plugin and your feature have the same name. Try giving them
> different name, like tcam for the plugin and tcambin for the feature.
> This way gst-inspect-1.0 won't pick randomly.
>
> Nicolas
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Bin missing basically everything

Nicolas Dufresne-4
Le mercredi 20 avril 2016 à 10:43 +0200, Edgar Thier a écrit :
> Sorry, I am not quite sure what you mean.
>
>  From my current understanding I have a plugin defining one element.
> I was under the assumption that a plugin is basically a shared object
> definition for an element and 
> nothing more.

In GStreamer, a plugin represent a shared object. Each plugin can
contain one of more features. An element, is a feature.

>
> Since I am kind of lost:
>
> What do I need to change?
> I tried using other names in the plugin_init and GST_PLUGIN_DEFINE
> but there seems to be something I 
> am consistently overlooking...

Just make sure that you plugin name (third parameter of
GST_PLUGIN_DEFINE and by convention the shared object name) differ from
your feature name, that second parameter of gst_element_register()
call. After that, gst-inspect-1.0 will be able to give you the details
of both independently. The problem is that gst-inspect-1.0 uses that
same namespace for both plugins and features, it's not ideal, but it's
easy to workaround.

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

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bin missing basically everything

Edgar Thier
I tried that multiple times with different names but sadly without success.
I removed the cache with
     rm ~/.cache/gstreamer-1.0/registry.x86_64.bin
to be sure that no old information is used.

When now issuing
     gst-inspect-1.0 ~/work/project/build/src/gstreamer-1.0/libgsttcambin.so
I get:

(gst-plugin-scanner:3814): GLib-GObject-WARNING **: cannot register existing type 'ClutterGstVideoSink'

(gst-plugin-scanner:3814): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion
'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(gst-plugin-scanner:3814): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gst-plugin-scanner:3814): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a
(type, GST_TYPE_ELEMENT)' failed
Plugin Details:
   Name                     tcambla
   Description              Tcam Video Bin
   Filename                 /home/XXXX/work/project/build/src/gstreamer-1.0/libgsttcambin.so
   Version                  1.0.0
   License                  Proprietary
   Source module            tcam
   Binary package           tcambin
   Origin URL               url

   tcamsrc: Tcam Video Bin

   1 features:
   +-- 1 elements

I think there is something else going on, although I am not sure if those warnings really come from
my plugin. All other plugins come from the debian testing repositories (current version 1.8.0-1+b1).

I will continue searching. If someone sees a fault, please say tell me.

Edgar

On 04/20/2016 02:51 PM, Nicolas Dufresne wrote:

> Le mercredi 20 avril 2016 à 10:43 +0200, Edgar Thier a écrit :
>> Sorry, I am not quite sure what you mean.
>>
>>   From my current understanding I have a plugin defining one element.
>> I was under the assumption that a plugin is basically a shared object
>> definition for an element and
>> nothing more.
>
> In GStreamer, a plugin represent a shared object. Each plugin can
> contain one of more features. An element, is a feature.
>
>>
>> Since I am kind of lost:
>>
>> What do I need to change?
>> I tried using other names in the plugin_init and GST_PLUGIN_DEFINE
>> but there seems to be something I
>> am consistently overlooking...
>
> Just make sure that you plugin name (third parameter of
> GST_PLUGIN_DEFINE and by convention the shared object name) differ from
> your feature name, that second parameter of gst_element_register()
> call. After that, gst-inspect-1.0 will be able to give you the details
> of both independently. The problem is that gst-inspect-1.0 uses that
> same namespace for both plugins and features, it's not ideal, but it's
> easy to workaround.
>
> Nicolas
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Bin missing basically everything

Nicolas Dufresne-4
Le jeudi 21 avril 2016 à 06:39 +0200, Edgar Thier a écrit :

> (gst-plugin-scanner:3814): GLib-GObject-WARNING **: cannot register
> existing type 'ClutterGstVideoSink'
>
> (gst-plugin-scanner:3814): GLib-GObject-CRITICAL **:
> g_type_add_interface_static: assertion 
> 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
>
> (gst-plugin-scanner:3814): GLib-CRITICAL **: g_once_init_leave:
> assertion 'result != 0' failed
>
> (gst-plugin-scanner:3814): GStreamer-CRITICAL **:
> gst_element_register: assertion 'g_type_is_a 
> (type, GST_TYPE_ELEMENT)' failed
> Plugin Details:
>    Name                     tcambla
>    Description              Tcam Video Bin
>    Filename                
> /home/XXXX/work/project/build/src/gstreamer-1.0/libgsttcambin.so
>    Version                  1.0.0
>    License                  Proprietary
>    Source module            tcam
>    Binary package           tcambin
>    Origin URL               url
>
>    tcamsrc: Tcam Video Bin
>
>    1 features:
>    +-- 1 elements
>
> I think there is something else going on, although I am not sure if
> those warnings really come from 
> my plugin. All other plugins come from the debian testing
> repositories (current version 1.8.0-1+b1).
>
> I will continue searching. If someone sees a fault, please say tell
> me.

Now try "gst-inspect-1.0 tcamsrc" instead of using tcambla (or the
plugin shared object name).

The assertions seems to come from a miss-build of a third party
clutter-gst repository. You can debug futher with gdb and environment
variable "G_DEBUG=fatal_criticals".

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