plugin/element names

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

plugin/element names

mattias-12
Hi,

Is there a way to make a group name of plugins (like with effectTV) but
to have all the
distinct elements in different shared libs?

I tried to call macro GST_PLUGIN_DEFINE at the end of each element
source file with the group name I wanted
but it did not work.

How could be the right way to go about this, please?
-------

static gboolean plugin_init(GstPlugin* plugin)
{
  /* exchange the strings 'plugin' and 'Template plugin' with your
plugin name and description */
  GST_DEBUG_CATEGORY_INIT (gst_tidsidebyside_debug, "tidsidebyside", 0,
"Put 2 input video side by side in a double width frame ");

  return gst_element_register (plugin, "tidsidebyside", GST_RANK_NONE,
GST_TYPE_TIDSIDEBYSIDE);
}


GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
                   GST_VERSION_MINOR,
                   "tid",
                   "Example ONE of a TID plugin",
                   plugin_init,
                   VERSION,
                   "LGPL",
                   "GStreamer",
                   "http://gstreamer.net/")

--
 Mattias Frank Barthel      
 Vía Augusta 177 08021 Barcelona (España)
 Tecnologías de Video    
 TELEFÓNICA I+D



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

Eric Zhang-6
Hi, gstreamer-devel:

    1. In GST_PLUGIN_DEFINE macro, you can define the group name and the plugin_init function.

    2. In plugin_init function, call gst_element_register to register the elements which you wanna keep in this plugin group. So there is no need to call GST_PLUGIN_DEFINE in every element's source file, just call GST_PLUGIN_DEFINE once and register all the elements in plugin_init function, that's all.

Eric Zhang

2008/12/4 mattias <[hidden email]>
Hi,

Is there a way to make a group name of plugins (like with effectTV) but
to have all the
distinct elements in different shared libs?

I tried to call macro GST_PLUGIN_DEFINE at the end of each element
source file with the group name I wanted
but it did not work.

How could be the right way to go about this, please?
-------

static gboolean plugin_init(GstPlugin* plugin)
{
 /* exchange the strings 'plugin' and 'Template plugin' with your
plugin name and description */
 GST_DEBUG_CATEGORY_INIT (gst_tidsidebyside_debug, "tidsidebyside", 0,
"Put 2 input video side by side in a double width frame ");

 return gst_element_register (plugin, "tidsidebyside", GST_RANK_NONE,
GST_TYPE_TIDSIDEBYSIDE);
}


GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
                  GST_VERSION_MINOR,
                  "tid",
                  "Example ONE of a TID plugin",
                  plugin_init,
                  VERSION,
                  "LGPL",
                  "GStreamer",
                  "http://gstreamer.net/")

--
 Mattias Frank Barthel
 Vía Augusta 177 08021 Barcelona (España)
 Tecnologías de Video
 TELEFÓNICA I+D



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

mattias-12
Thanks,

But can I have the different elements in a plugin/group in different
shared libs?

Or is 1 shared lib = 1 plugin?

Maybe the gstreamer framework calls the plugin_init function upon a
dlopen, which will
obviously be an obstacle for my wishes.

Kindest regards,

Mattias

Eric Zhang wrote:

> Hi, gstreamer-devel:
>
>     1. In GST_PLUGIN_DEFINE macro, you can define the group name and
> the plugin_init function.
>
>     2. In plugin_init function, call gst_element_register to register
> the elements which you wanna keep in this plugin group. So there is no
> need to call GST_PLUGIN_DEFINE in every element's source file, just
> call GST_PLUGIN_DEFINE once and register all the elements in
> plugin_init function, that's all.
>
> Eric Zhang
>
> 2008/12/4 mattias <[hidden email] <mailto:[hidden email]>>
>
>     Hi,
>
>     Is there a way to make a group name of plugins (like with
>     effectTV) but
>     to have all the
>     distinct elements in different shared libs?
>
>     I tried to call macro GST_PLUGIN_DEFINE at the end of each element
>     source file with the group name I wanted
>     but it did not work.
>
>     How could be the right way to go about this, please?
>     -------
>
>     static gboolean plugin_init(GstPlugin* plugin)
>     {
>      /* exchange the strings 'plugin' and 'Template plugin' with your
>     plugin name and description */
>      GST_DEBUG_CATEGORY_INIT (gst_tidsidebyside_debug, "tidsidebyside", 0,
>     "Put 2 input video side by side in a double width frame ");
>
>      return gst_element_register (plugin, "tidsidebyside", GST_RANK_NONE,
>     GST_TYPE_TIDSIDEBYSIDE);
>     }
>
>
>     GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
>                       GST_VERSION_MINOR,
>                       "tid",
>                       "Example ONE of a TID plugin",
>                       plugin_init,
>                       VERSION,
>                       "LGPL",
>                       "GStreamer",
>                       "http://gstreamer.net/")
>
>     --
>      Mattias Frank Barthel
>      Vía Augusta 177 08021 Barcelona (España)
>      Tecnologías de Video
>      TELEFÓNICA I+D
>
>
>
>     -------------------------------------------------------------------------
>     This SF.Net email is sponsored by the Moblin Your Move Developer's
>     challenge
>     Build the coolest Linux based applications with Moblin SDK & win
>     great prizes
>     Grand prize is a trip for two to an Open Source event anywhere in
>     the world
>     http://moblin-contest.org/redirect.php?banner_id=100&url=/
>     <http://moblin-contest.org/redirect.php?banner_id=100&url=/>
>     _______________________________________________
>     gstreamer-devel mailing list
>     [hidden email]
>     <mailto:[hidden email]>
>     https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


--
 Mattias Frank Barthel      
 Vía Augusta 177 08021 Barcelona (España)
 Tecnologías de Video    
 TELEFÓNICA I+D



------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

Sebastian Dröge-7
Am Dienstag, den 09.12.2008, 09:29 +0100 schrieb mattias:

> Thanks,
>
> But can I have the different elements in a plugin/group in different
> shared libs?
>
> Or is 1 shared lib = 1 plugin?
>
> Maybe the gstreamer framework calls the plugin_init function upon a
> dlopen, which will
> obviously be an obstacle for my wishes.
You can only have one plugin per shared library. As you've guessed
already GStreamer dlopens the shared libraries and calls the
plugin_init.

GST_PLUGIN_DEFINE will define the gst_plugin_desc symbol and of course
you can only have the same symbol once per object file

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

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

Re: plugin/element names

michael smith-6-3
In reply to this post by mattias-12
On Tue, Dec 9, 2008 at 12:29 AM, mattias <[hidden email]> wrote:
> Thanks,
>
> But can I have the different elements in a plugin/group in different
> shared libs?
>
> Or is 1 shared lib = 1 plugin?

That's right - a plugin is a shared library. Each gstreamer plugin can
contain multiple elements, though - there's no problem with that.

Can you explain why you want to do this? It doesn't make a lot of
sense with the information you've given us so far.

Mike

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

mattias-12
Michael Smith wrote:

> On Tue, Dec 9, 2008 at 12:29 AM, mattias <[hidden email]> wrote:
>  
>> Thanks,
>>
>> But can I have the different elements in a plugin/group in different
>> shared libs?
>>
>> Or is 1 shared lib = 1 plugin?
>>    
>
> That's right - a plugin is a shared library. Each gstreamer plugin can
> contain multiple elements, though - there's no problem with that.
>
> Can you explain why you want to do this? It doesn't make a lot of
> sense with the information you've given us so far.
>
>  
Ok, the thing is that we have a group of elements which are functionally
different but belong
to the same organizational group. I cant see how these could even be
combined in one and the same pipeline.
So putting them all in the same .so is not really optimal because when
you would use any of them all the others would be loaded into memory as
well.

Is this clearer to you?

Kindest regards,

Mattias

--
 Mattias Frank Barthel      
 Vía Augusta 177 08021 Barcelona (España)
 Tecnologías de Video    
 TELEFÓNICA I+D



------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

michael smith-6-3
On Thu, Dec 18, 2008 at 3:28 AM, mattias <[hidden email]> wrote:

> Michael Smith wrote:
>> On Tue, Dec 9, 2008 at 12:29 AM, mattias <[hidden email]> wrote:
>>
>>> Thanks,
>>>
>>> But can I have the different elements in a plugin/group in different
>>> shared libs?
>>>
>>> Or is 1 shared lib = 1 plugin?
>>>
>>
>> That's right - a plugin is a shared library. Each gstreamer plugin can
>> contain multiple elements, though - there's no problem with that.
>>
>> Can you explain why you want to do this? It doesn't make a lot of
>> sense with the information you've given us so far.
>>
>>
> Ok, the thing is that we have a group of elements which are functionally
> different but belong
> to the same organizational group. I cant see how these could even be
> combined in one and the same pipeline.
> So putting them all in the same .so is not really optimal because when
> you would use any of them all the others would be loaded into memory as
> well.

Well, a plugin is a shared library - nothing more. It corresponds to
the physical organisation of a group of elements - not anything
"organisational" at all. If you don't want them in the same shared
library, that's fine - then they're in different plugins.

Applications don't generally care about plugins; they're an internal
implementation detail of gstreamer - apps only care about elements.

Mike

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: plugin/element names

mattias-12
Michael Smith wrote:

> On Thu, Dec 18, 2008 at 3:28 AM, mattias <[hidden email]> wrote:
>  
>> Michael Smith wrote:
>>    
>>> On Tue, Dec 9, 2008 at 12:29 AM, mattias <[hidden email]> wrote:
>>>
>>>      
>>>> Thanks,
>>>>
>>>> But can I have the different elements in a plugin/group in different
>>>> shared libs?
>>>>
>>>> Or is 1 shared lib = 1 plugin?
>>>>
>>>>        
>>> That's right - a plugin is a shared library. Each gstreamer plugin can
>>> contain multiple elements, though - there's no problem with that.
>>>
>>> Can you explain why you want to do this? It doesn't make a lot of
>>> sense with the information you've given us so far.
>>>
>>>
>>>      
>> Ok, the thing is that we have a group of elements which are functionally
>> different but belong
>> to the same organizational group. I cant see how these could even be
>> combined in one and the same pipeline.
>> So putting them all in the same .so is not really optimal because when
>> you would use any of them all the others would be loaded into memory as
>> well.
>>    
>
> Well, a plugin is a shared library - nothing more. It corresponds to
> the physical organisation of a group of elements - not anything
> "organisational" at all. If you don't want them in the same shared
> library, that's fine - then they're in different plugins.
>
> Applications don't generally care about plugins; they're an internal
> implementation detail of gstreamer - apps only care about elements.
>
>  
Yes of course. But maybe the system will care about its resources?
Especially in embedded systems where resources are scarce.

The only reason for me asking was actually to be able to see:

element group: element1
element group: element2
element group: element3
element group: element4
element group: element5

But each element<n> residing where ever.
Anyways, I rest my case. If it is not possible it isn't and thats that.

Kindest regards,

Mattias

--
 Mattias Frank Barthel      
 Vía Augusta 177 08021 Barcelona (España)
 Tecnologías de Video    
 TELEFÓNICA I+D



------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel