Developing new plugin out of tree

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

Developing new plugin out of tree

Russel Winder
I am finally getting on to starting the libdvbv5 rewrite of the DVB
plugin. Rather than work within a fork of gst-plugins-bad, it seems
more sensible to take the dvb directory out into a new repository.
I'll be creating a CMake build simply to be able to use CLion for
development, but this will be a quick hack of the far more sensible
Meson build. The dvb directory comes with it's meson.build but this is
just the leaf of a meson.build file tree.

Does anyone have any experience of doing this sort of thing and can
offer any help as to how to use the Meson build out of the tree?

--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Tim Müller
On Fri, 2017-04-14 at 12:46 +0100, Russel Winder wrote:

Hi Russel,

> I am finally getting on to starting the libdvbv5 rewrite of the DVB
> plugin. Rather than work within a fork of gst-plugins-bad, it seems
> more sensible to take the dvb directory out into a new repository. 
> I'll be creating a CMake build simply to be able to use CLion for
> development, but this will be a quick hack of the far more sensible
> Meson build. The dvb directory comes with it's meson.build but this
> is just the leaf of a meson.build file tree.
>
> Does anyone have any experience of doing this sort of thing and can
> offer any help as to how to use the Meson build out of the tree?
I'd just make my own repo/directory for now with a meson.build file
like attached.

Then just

  export GST_PLUGIN_PATH=/path/to/your/builddir

so it gets picked up from the build dir without you having to install
it somewhere first.

Then you just hack away until it's ready for upstreaming.

Cheers
 -Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

meson.build (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Developing new plugin out of tree

Russel Winder
On Mon, 2017-04-17 at 11:37 +0100, Tim Müller wrote:
>
[…]
> I'd just make my own repo/directory for now with a meson.build file
> like attached.
>

Thanks for the sample meson.build, much appreciated.

I'll set up and publish on GitHub till there is something proposable. I
can imagine I'll be the only person trying it till then . :-)
 
--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Russel Winder
In reply to this post by Tim Müller
Hi,

I have extracted the sys/dvb directory from the gst-plugins-bad
repository so as to develop a new version based on libdvbv5 rather than
using the Linux API directly. Following Tim suggestion I have a
meson.build file that allows the current code to build. However I had
to add:

conf_data = configuration_data()
conf_data.set('VERSION', '"1.11.90"')
conf_data.set('PACKAGE', '"gst-dvb"')
conf_data.set('GETTEXT_PACKAGE', '"gst-dvb"')
conf_data.set('GST_LICENSE', '""')
conf_data.set('GST_PACKAGE_NAME', '""')
conf_data.set('GST_PACKAGE_ORIGIN', '""')
conf_data.set('GST_API_VERSION', '""')

I am wondering what the right way to populate these symbols is, for
this "out of repository" context.

--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Sebastian Dröge-3
On Sun, 2017-04-23 at 11:51 +0100, Russel Winder wrote:

> Hi,
>
> I have extracted the sys/dvb directory from the gst-plugins-bad
> repository so as to develop a new version based on libdvbv5 rather
> than
> using the Linux API directly. Following Tim suggestion I have a
> meson.build file that allows the current code to build. However I had
> to add:
>
> conf_data = configuration_data()
> conf_data.set('VERSION', '"1.11.90"')
> conf_data.set('PACKAGE', '"gst-dvb"')
> conf_data.set('GETTEXT_PACKAGE', '"gst-dvb"')
> conf_data.set('GST_LICENSE', '""')
> conf_data.set('GST_PACKAGE_NAME', '""')
> conf_data.set('GST_PACKAGE_ORIGIN', '""')
> conf_data.set('GST_API_VERSION', '""')
>
> I am wondering what the right way to populate these symbols is, for
> this "out of repository" context.
You probably want to set correct values for these, at least
GST_API_VERSION and GST_LICENSE will otherwise cause problems when
loading the plugin. Check the values that are defined for the dvb
plugin in gst-plugins-bad for some inspiration :)

For how to let these things best defined with meson, I don't know.
Sorry!

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Tim Müller
In reply to this post by Russel Winder
On Sun, 2017-04-23 at 11:51 +0100, Russel Winder wrote:

Hi Russel,

> I have extracted the sys/dvb directory from the gst-plugins-bad
> repository so as to develop a new version based on libdvbv5 rather
> than using the Linux API directly. Following Tim suggestion I have a
> meson.build file that allows the current code to build. However I had
> to add:
>
> conf_data = configuration_data()
> conf_data.set('VERSION', '"1.11.90"')
> conf_data.set('PACKAGE', '"gst-dvb"')
> conf_data.set('GETTEXT_PACKAGE', '"gst-dvb"')
> conf_data.set('GST_LICENSE', '""')
> conf_data.set('GST_PACKAGE_NAME', '""')
> conf_data.set('GST_PACKAGE_ORIGIN', '""')
> conf_data.set('GST_API_VERSION', '""')
>
> I am wondering what the right way to populate these symbols is, for
> this "out of repository" context.

There isn't really a right way or a wrong way.

You can do it via '-Dfoo=bar' in c_args, like my meson.build had
already for PACKAGE and VERSION.

Or you do it like you're proposing by writing a config.h file from
configuration_data(). You still need a

  configure_file(output : 'config.h', configuration : conf_data)

somewhere then, and may also need to add '-DHAVE_CONFIG_H' to c_args.

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Developing new plugin out of tree

Russel Winder
In reply to this post by Sebastian Dröge-3
On Sun, 2017-04-23 at 12:45 +0100, Sebastian Dröge wrote:

> On Sun, 2017-04-23 at 11:51 +0100, Russel Winder wrote:
> > Hi,
> >
> > I have extracted the sys/dvb directory from the gst-plugins-bad
> > repository so as to develop a new version based on libdvbv5 rather
> > than
> > using the Linux API directly. Following Tim suggestion I have a
> > meson.build file that allows the current code to build. However I
> > had
> > to add:
> >
> > conf_data = configuration_data()
> > conf_data.set('VERSION', '"1.11.90"')
> > conf_data.set('PACKAGE', '"gst-dvb"')
> > conf_data.set('GETTEXT_PACKAGE', '"gst-dvb"')
> > conf_data.set('GST_LICENSE', '""')
> > conf_data.set('GST_PACKAGE_NAME', '""')
> > conf_data.set('GST_PACKAGE_ORIGIN', '""')
> > conf_data.set('GST_API_VERSION', '""')
> >
> > I am wondering what the right way to populate these symbols is, for
> > this "out of repository" context.
>
> You probably want to set correct values for these, at least
> GST_API_VERSION and GST_LICENSE will otherwise cause problems when
> loading the plugin. Check the values that are defined for the dvb
> plugin in gst-plugins-bad for some inspiration :)
Exactly why I was asking. :-)

The gst-plugins-bad sys/dvb build assumes the values are handed down
from above. I was hoping to avoid trying to workout from the Meson
build how to find the correct values, but I may have to.

> For how to let these things best defined with meson, I don't know.
> Sorry!

No worries, thanks for taking time to respond.

--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Russel Winder
In reply to this post by Tim Müller
On Sun, 2017-04-23 at 13:08 +0100, Tim Müller wrote:

> On Sun, 2017-04-23 at 11:51 +0100, Russel Winder wrote:
>
> Hi Russel,
>
> > I have extracted the sys/dvb directory from the gst-plugins-bad
> > repository so as to develop a new version based on libdvbv5 rather
> > than using the Linux API directly. Following Tim suggestion I have
> > a
> > meson.build file that allows the current code to build. However I
> > had
> > to add:
> >
> > conf_data = configuration_data()
> > conf_data.set('VERSION', '"1.11.90"')
> > conf_data.set('PACKAGE', '"gst-dvb"')
> > conf_data.set('GETTEXT_PACKAGE', '"gst-dvb"')
> > conf_data.set('GST_LICENSE', '""')
> > conf_data.set('GST_PACKAGE_NAME', '""')
> > conf_data.set('GST_PACKAGE_ORIGIN', '""')
> > conf_data.set('GST_API_VERSION', '""')
> >
> > I am wondering what the right way to populate these symbols is, for
> > this "out of repository" context.
>
> There isn't really a right way or a wrong way.
>
> You can do it via '-Dfoo=bar' in c_args, like my meson.build had
> already for PACKAGE and VERSION.
OK, I missed that, I will recheck.

> Or you do it like you're proposing by writing a config.h file from
> configuration_data(). You still need a
>
>   configure_file(output : 'config.h', configuration : conf_data)

That line is there, I just didn't clip it to the email.

> somewhere then, and may also need to add '-DHAVE_CONFIG_H' to c_args.

Definitely, again there.

I was really hoping someone might know the correct values. It seems
though my cheat shortcut isn't going to work, and I should hunt things
out for myself. No worries but it will not have to be after ACCU, which
will take up my time for the next week.

https://conference.accu.org/site/index.html

--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

Re: Developing new plugin out of tree

Nicolas Dufresne-5
Le dimanche 23 avril 2017 à 13:49 +0100, Russel Winder a écrit :
> I was really hoping someone might know the correct values. It seems
> though my cheat shortcut isn't going to work, and I should hunt
> things
> out for myself. No worries but it will not have to be after ACCU,
> which
> will take up my time for the next week.

License/Name, you will find through gst-inspect of an existing build.
Origin is the URI to your fork. While API Version, this is 1.0. All
strings.

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

signature.asc (188 bytes) Download Attachment