building GStreamer as a single shared library

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

building GStreamer as a single shared library

Luca Bacci
Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?

Many thanks,
Luca

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

Re: building GStreamer as a single shared library

David Ing
That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.

On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?

Many thanks,
Luca
_______________________________________________
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: building GStreamer as a single shared library

Sebastian Dröge-3
In reply to this post by Luca Bacci
On Thu, 2019-01-17 at 14:51 +0100, Luca Bacci wrote:
> Hi, I want to build GStreamer with all plugins as just one shared
> library: a shared library containing core Gstreamer and all elements
> from base, good, bad, ugly with all their deps, statically. I only
> need it for Windows. I'm using MSYS2. How can I do that?

There's no easy or direct support for that, but take a look at how the
Android and iOS builds are working. And also take a look how static
plugins can be build/used in applications (you'll have to build all
GStreamer plugins statically).

It's definitely possible, I'm aware of some (non-public) setups that
are doing exactly that on Windows. But you'll have to do quite some
work yourself for figuring out the build system pieces.

--
Sebastian Dröge, Centricular Ltd · https://www.centricular.com


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

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

Re: building GStreamer as a single shared library

Luca Bacci
In reply to this post by David Ing
Thank you very much David and Sebastian!
Ok, I will use dynamic linking for all plugins and dependencies then, it's allright.

A question: are the binaries in the GStreamer MSI installers built with MSVC?

Il giorno gio 17 gen 2019 alle ore 17:24 David Ing <[hidden email]> ha scritto:
That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.

On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?

Many thanks,
Luca
_______________________________________________
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

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

Re: building GStreamer as a single shared library

David Ing
My information might be out of date (or inaccurate) ... I hope someone will correct me if I am wrong about any of this.

As of about 1 year ago (around gstreamer version 1.12.4), I think the Windows binaries were built using cerbero relying on the old auto-tools build system.  I believe the compiler was gcc and mingw was also involved.  It may have also involved msys2 but my memory is foggy.

The gstreamer project has recently evolved to use a Meson build system (seeking to replace auto-tools), but last I heard it wasn't working with MSVC yet.  For example on Linux you would use gst-build which drives the Meson build.  But some builds (e.g. Windows) may still use the old auto-tools build system via cerbero.  I believe MSVC is on the roadmap for the Meson build (and for gst-build) but I haven't heard whether it is working yet.

The last time I tried to build the Windows binaries using cerbero (around gstreamer version 1.12.4) I ran into all kinds of problems and I didn't have enough time to push through them.  Hopefully those problems have been fixed by now.

On Thu, Jan 17, 2019 at 8:50 AM Luca Bacci <[hidden email]> wrote:
Thank you very much David and Sebastian!
Ok, I will use dynamic linking for all plugins and dependencies then, it's allright.

A question: are the binaries in the GStreamer MSI installers built with MSVC?

Il giorno gio 17 gen 2019 alle ore 17:24 David Ing <[hidden email]> ha scritto:
That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.

On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?

Many thanks,
Luca
_______________________________________________
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
_______________________________________________
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: building GStreamer as a single shared library

Luca Bacci
Ok, building all of GStreamer and plugins with Cerbero on MSYS2 should be the way to go. I will try that. Thanks!

Il giorno gio 17 gen 2019 alle ore 18:11 David Ing <[hidden email]> ha scritto:
My information might be out of date (or inaccurate) ... I hope someone will correct me if I am wrong about any of this.

As of about 1 year ago (around gstreamer version 1.12.4), I think the Windows binaries were built using cerbero relying on the old auto-tools build system.  I believe the compiler was gcc and mingw was also involved.  It may have also involved msys2 but my memory is foggy.

The gstreamer project has recently evolved to use a Meson build system (seeking to replace auto-tools), but last I heard it wasn't working with MSVC yet.  For example on Linux you would use gst-build which drives the Meson build.  But some builds (e.g. Windows) may still use the old auto-tools build system via cerbero.  I believe MSVC is on the roadmap for the Meson build (and for gst-build) but I haven't heard whether it is working yet.

The last time I tried to build the Windows binaries using cerbero (around gstreamer version 1.12.4) I ran into all kinds of problems and I didn't have enough time to push through them.  Hopefully those problems have been fixed by now.

On Thu, Jan 17, 2019 at 8:50 AM Luca Bacci <[hidden email]> wrote:
Thank you very much David and Sebastian!
Ok, I will use dynamic linking for all plugins and dependencies then, it's allright.

A question: are the binaries in the GStreamer MSI installers built with MSVC?

Il giorno gio 17 gen 2019 alle ore 17:24 David Ing <[hidden email]> ha scritto:
That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.

On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?

Many thanks,
Luca
_______________________________________________
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
_______________________________________________
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

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

Re: building GStreamer as a single shared library

Nicolas Dufresne-5
Le jeudi 17 janvier 2019 à 18:34 +0100, Luca Bacci a écrit :
> Ok, building all of GStreamer and plugins with Cerbero on MSYS2 should be the way to go. I will try that. Thanks!

When using cerbero, use cerbero instructions find in the readme. That
setup evolves over-time.

>
> Il giorno gio 17 gen 2019 alle ore 18:11 David Ing <[hidden email]> ha scritto:
> > My information might be out of date (or inaccurate) ... I hope someone will correct me if I am wrong about any of this.
> >
> > As of about 1 year ago (around gstreamer version 1.12.4), I think the Windows binaries were built using cerbero relying on the old auto-tools build system.  I believe the compiler was gcc and mingw was also involved.  It may have also involved msys2 but my memory is foggy.
> >
> > The gstreamer project has recently evolved to use a Meson build system (seeking to replace auto-tools), but last I heard it wasn't working with MSVC yet.  For example on Linux you would use gst-build which drives the Meson build.  But some builds (e.g. Windows) may still use the old auto-tools build system via cerbero.  I believe MSVC is on the roadmap for the Meson build (and for gst-build) but I haven't heard whether it is working yet.
> >
> > The last time I tried to build the Windows binaries using cerbero (around gstreamer version 1.12.4) I ran into all kinds of problems and I didn't have enough time to push through them.  Hopefully those problems have been fixed by now.
> >
> > On Thu, Jan 17, 2019 at 8:50 AM Luca Bacci <[hidden email]> wrote:
> > > Thank you very much David and Sebastian!
> > > Ok, I will use dynamic linking for all plugins and dependencies then, it's allright.
> > >
> > > A question: are the binaries in the GStreamer MSI installers built with MSVC?
> > >
> > > Il giorno gio 17 gen 2019 alle ore 17:24 David Ing <[hidden email]> ha scritto:
> > > > That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.
> > > >
> > > > On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
> > > > > Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?
> > > > >
> > > > > Many thanks,
> > > > > Luca
> > > > > _______________________________________________
> > > > > 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
> > >
> > > _______________________________________________
> > > 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
>
> _______________________________________________
> 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

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

Re: building GStreamer as a single shared library

Luca Bacci
Great,  thanks!

Il giorno gio 17 gen 2019, 19:28 Nicolas Dufresne <[hidden email]> ha scritto:
Le jeudi 17 janvier 2019 à 18:34 +0100, Luca Bacci a écrit :
> Ok, building all of GStreamer and plugins with Cerbero on MSYS2 should be the way to go. I will try that. Thanks!

When using cerbero, use cerbero instructions find in the readme. That
setup evolves over-time.

>
> Il giorno gio 17 gen 2019 alle ore 18:11 David Ing <[hidden email]> ha scritto:
> > My information might be out of date (or inaccurate) ... I hope someone will correct me if I am wrong about any of this.
> >
> > As of about 1 year ago (around gstreamer version 1.12.4), I think the Windows binaries were built using cerbero relying on the old auto-tools build system.  I believe the compiler was gcc and mingw was also involved.  It may have also involved msys2 but my memory is foggy.
> >
> > The gstreamer project has recently evolved to use a Meson build system (seeking to replace auto-tools), but last I heard it wasn't working with MSVC yet.  For example on Linux you would use gst-build which drives the Meson build.  But some builds (e.g. Windows) may still use the old auto-tools build system via cerbero.  I believe MSVC is on the roadmap for the Meson build (and for gst-build) but I haven't heard whether it is working yet.
> >
> > The last time I tried to build the Windows binaries using cerbero (around gstreamer version 1.12.4) I ran into all kinds of problems and I didn't have enough time to push through them.  Hopefully those problems have been fixed by now.
> >
> > On Thu, Jan 17, 2019 at 8:50 AM Luca Bacci <[hidden email]> wrote:
> > > Thank you very much David and Sebastian!
> > > Ok, I will use dynamic linking for all plugins and dependencies then, it's allright.
> > >
> > > A question: are the binaries in the GStreamer MSI installers built with MSVC?
> > >
> > > Il giorno gio 17 gen 2019 alle ore 17:24 David Ing <[hidden email]> ha scritto:
> > > > That would be extremely difficult ... I dont recommend it.  At the very least you would need to modify the plugin scanning and loading logic in the code.  There would probably also be lots of little things to change in the code which I cannot predict at this time.
> > > >
> > > > On Thu, Jan 17, 2019, 5:51 AM Luca Bacci <[hidden email] wrote:
> > > > > Hi, I want to build GStreamer with all plugins as just one shared library: a shared library containing core Gstreamer and all elements from base, good, bad, ugly with all their deps, statically. I only need it for Windows. I'm using MSYS2. How can I do that?
> > > > >
> > > > > Many thanks,
> > > > > Luca
> > > > > _______________________________________________
> > > > > 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
> > >
> > > _______________________________________________
> > > 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
>
> _______________________________________________
> 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

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