This broke in 81bdef0150df3306136137a5187dc25a7c5f4aee. Simplify
removal of the plugin from the plugin list if features are listed, and
fix invocation of the script -- it was adding an extra space before
the first plugin filename.
Also ensure that gst-full CI is run when the script changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9452>
Gitlint returns error code 253 for a "wrong invocation" i.e. missing filename
for the commit message. That one signals a successful existing install.
Return a warning when either Git is not found (so no hooks will run) or Gitlint
failed its hook installation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8764>
This is a follow-up to 95eca6d91912620a8a36b55ae32f72a32bc2475b, due
to which the target existed, but was a no-op, and it was difficult to
notice why the plugin caches are not being generated, since the doc
option is disabled by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>
The gstreamer-rs CI needs to build gtk to test the gtk4 plugin in
gst-plugins-rs. Formalize support for gtk in the monorepo, and disable
it by default because it's not an important dependency; unlike
libnice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7372>
Meson devenv already overrides GST_PLUGIN_PATH and
GST_PLUGIN_SYSTEM_PATH so only built plugins can be found. That means
unit tests are allowed to use every plugins.
This makes easier to run some unit tests under devenv instead of through
"meson test".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5748>
This logs an error message listing all ABI plugins which are disabled
(usually because of `-Dauto_features=disabled`). Those need to be scouted
out and enabled manually through
`-Dgst_plugins_(bad, good,base):plugin=enabled`.
See #2934
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5244>
There are a bunch of plugins that you need for webrtc support, and
it's not obvious at all to users which those are.
With this commit, srtp, sctp and dtls options will be auto-enabled if
the webrtc option is enabled.
Requires meson 1.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5505>
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>
MSVC's /WHOLEARCHIVE and GCC/Clang's -Wl,--whole-archive options are
often sold as allowing the developer to reexport symbols coming from
static dependencies. However, this is not the complete picture.
While it is true in both ELF and MachO, which merge the symbol tables
into one [1], in PE this is not the case when the end binary is a DLL.
For this case, projects like FFmpeg extract the symbol table from the
static version and then construct a module definition file to mark
them as exported [2].
The approach in this platform is to, for the Windows and Cygwin cases,
reexport the libraries that are intended to be link_whole'd for
downstream consumption. Alternatively, the libraries in exposed_libs
need to be dumpbin'd individually and then a .def has to be constructed
for the whole [3].
[1]: https://stackoverflow.com/a/61544818
[2]:
3057ce797f/configure (L5726)
[3]:
ec0137734c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5194>
Newer macOS provides /usr/lib/pkgconfig/libpcre2-8.pc which is broken
because it says headers are in /usr/include but that directory doesn't
exist. It can only be used to find the library, which only exists on
newer macOS at /usr/lib/libpcre2-8.dylib, so it's also unusable.
So, force usage of the subproject for glib.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5060>