Commit graph

12 commits

Author SHA1 Message Date
Stéphane Cerveau
bdbf6e1c17 gst-full: register full features in a plugin
To offer the possibility to get information at plugin
level and get it from the registry, all the
full features are now registered in 'fullstaticfeatures'
meta plugin instead of NULL plugin.
In the case of gst-inspect, the features were not displayed
at plugin level because it was a NULL plugin.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5421>
2023-10-05 11:40:45 +00:00
L. E. Segovia
c4b30174a3 gstreamer-full: Specify the pattern for MSVC static libraries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5194>
2023-08-22 16:39:53 +00:00
L. E. Segovia
18a3dfa4a1 gstreamer-full: Properly export gst_init_static_plugins for Win32 PE
Currently, GStreamer relies throughout on ELF (and MachO)'s symbol
table preserving the function address, instead of marking it as
exportable, either through visibility:default or __declspec(dllexport).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5194>
2023-08-22 16:39:52 +00:00
Stéphane Cerveau
ce50cb7413 gstreamer-full: use the basename of plugin_path to avoid the ':' detection
The absolute path on windows contains ':' which prevents
gstinitstaticplugins.py to work properly. Use the basename whic is good
enough for the script to make the list of plugins

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3526>
2022-12-05 13:15:50 +00:00
Xavier Claessens
412362281f gst-full: Register GIO modules when glib-networking is a subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2653>
2022-09-14 20:46:20 +00:00
Stéphane Cerveau
802c8674d4 gstreamer-full-static: autopep on script
Pass autopep on generate_init_static_plugins.py

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637>
2022-05-25 12:13:47 +00:00
Stéphane Cerveau
a997108b18 gstreamer-full-static: Be more strict with plugin param
Check that the plugins are correctly separated by ";"
and do not accept "," or ":" inside.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637>
2022-05-25 12:13:47 +00:00
Stéphane Cerveau
23f4266bbd gstreamer-full: fix empty -Dgst-full-plugins=
When this option was given empty, when for example we don't
want any plugin in gstreamer full, the
build process was failing because an empty
plugin was created in gstinitstaticplugins.c.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/244>
2021-05-18 14:41:41 +02:00
Stéphane Cerveau
b6f61768d3 gst-full: add 'gst-full-' features options
These options allow to select a set of features from a given
plugin with the following syntax:

-Dgst-full-plugins=plugin1;plugin10
-Dgst-full-elements=plugin2:element1,element2
-Dgst-full-typefind-functions=plugins3:func
-Dgst-full-device-providers=plugin4,dp1
-Dgst-full-dynamic-types=plugin5:dt1

By default all the enabled plugin are registered and
gst-full-plugins will allow to include only a set of plugin

If a feature(element, typefind etc.) is selected from a plugin,
the plugin is removed from the plugins list.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
2020-12-11 12:50:16 +00:00
Xavier Claessens
89913b2f83 gst-full: Prevent multiple calls to gst_init_static_plugins()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Xavier Claessens
7ef372db76 Meson: Fix useless reconfigure when plugins libs change
This is a workaround for a Meson bug that incorrectly trigger
reconfigure when files change in build directory. This commit can be
reverted once GStreamer depends on Meson >=0.54.0.
See https://github.com/mesonbuild/meson/pull/6770

Fixes: #85
2020-03-11 13:49:11 -04:00
Xavier Claessens
35285c51b8 Add gstreamer-full library containing all plugins and their deps
When building with -Ddefault_library=static, also build a single library
containing all built plugins. Any external dependencies are still
dynamically linked.

A monolithic library is easier to distribute, and in some envs like
Android is required.
2020-03-04 08:23:52 -05:00