Xavier Claessens
84b3a0950d
build: Add missing common options that are yielding in subprojects
...
- Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
otherwise glib subproject won't inherit their value. Previous names
and values are preserved using Meson's deprecation mechanism.
- Add `extra-checks` and `benchmarks` options in the main project so it
can be inherited in GStreamer subprojects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165 >
2024-06-27 15:53:46 +00:00
Sebastian Dröge
1f12493787
gstreamer: Solaris/Illumos require linking to libnsl / libsocket for various socket APIs
...
Patch by Tim Mooney <Tim.Mooney@ndsu.edu> from OpenIndiana/oi-userland
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6925 >
2024-05-26 12:33:50 +03:00
Seungha Yang
e56d3d3e07
filesrc: Don't abort on _get_osfhandle()
...
_get_osfhandle() expects valid fd and CRT will abort program
if given paramerter is invalid. The fd can be invalidated
in various way, file was deleted by other process after
we open a file. To avoid it, our own exception
handler must be installed so that _get_osfhandle() can return
INVALID_HANDLE_VALUE if fd is invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6877 >
2024-05-20 08:32:43 +00:00
L. E. Segovia
6ce27e328d
gst: clock: Block futex_time64 usage on Android API level < 30
...
This syscall is seccomp blocked on all lower API levels:
ee7bc3002d
While at it, also fix all direct tests on __NR_futex_time64 and
__NR_futex so that they refer to the results available in
config.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6477 >
2024-04-02 15:32:37 +00:00
Tim-Philipp Müller
756064b9c3
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6261 >
2024-03-05 12:58:57 +00:00
Tim-Philipp Müller
b125253cad
Release 1.24.0
2024-03-04 23:59:25 +00:00
Tim-Philipp Müller
d474de8ff0
Release 1.23.90
2024-02-23 18:20:11 +00:00
Tim-Philipp Müller
88412ef100
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126 >
2024-02-15 16:38:53 +00:00
Tim-Philipp Müller
88751d4110
Release 1.23.2
2024-02-15 15:37:17 +00:00
Tim-Philipp Müller
2111d6f015
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066 >
2024-02-06 18:29:31 +00:00
Tim-Philipp Müller
9255e397f0
Release 1.23.1
2024-02-06 16:43:27 +00:00
Tim-Philipp Müller
c84285d44d
meson: bump Meson requirement to >= 1.1 for all modules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002 >
2024-01-29 01:11:55 +00:00
Seungha Yang
5e147ed3b8
meson: Fix MSVC build with GST_DISABLE_GST_DEBUG
...
MSVC does not understand Wno-unused
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585 >
2023-11-03 13:31:03 +00:00
Tim-Philipp Müller
654f3370a0
meson: Bump GLib requirement to >= 2.64
...
This includes fixes to make GstBus watches non-racy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2126 >
2023-10-22 10:48:12 +01:00
Stéphane Cerveau
dd17beb681
gstreamer-full: add full static support
...
Allow a project to use gstreamer-full as a static library
and link to create a binary without dependencies.
Introduce the option 'gst-full-target-type' to
select the build type, dynamic(default) or static.
In gstreamer-full/static build configuration gstreamer (gst.c)
needs the symbol gst_init_static_plugins which is defined
in gstreamer-full.
All the tests and examples are linking with gstreamer but the
symbol gst_init_static_plugins is only defined in the gstreamer-full
library. gstreamer-full can not be built first as it needs to know what plugins
will be built.
One option would be to build all the examples and tests after
gstreamer-full as the tools.
Disable tools build in subprojects too as it will be built at the end of
build process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128 >
2023-05-31 15:17:11 +00:00
Sebastian Dröge
f9dff72726
ptp: Allow relocation of GStreamer installation for finding PTP helper process
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4538 >
2023-05-03 17:01:07 +00:00
Tim-Philipp Müller
41c69372b5
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3775 >
2023-01-23 23:04:53 +00:00
Tim-Philipp Müller
f13c65d977
Release 1.22.0
2023-01-23 19:41:07 +00:00
Tim-Philipp Müller
a9ec35b1ca
Release 1.21.90
2023-01-13 19:08:48 +00:00
Xavier Claessens
cd78cbac86
Fix API visibility macros
...
This copies the logic from GLib discussed there:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
Beside being simpler, it also fix all public symbols being annotated
with dllexport when doing a static build, as discovered there:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567 >
2022-12-20 14:03:35 +00:00
Piotr Brzeziński
3bb8700577
macos: Add wrapper API to run a NSApplication in the main thread
...
On macOS, a Cocoa event loop is needed in the main thread to ensure
things like opening a GL window work correctly. In the past, this was
patched into glib via Cerbero, but that prevented us from updating it.
This workaround simply runs an NSApplication and then calls the
main function on a secondary thread, allowing GStreamer to correctly
display windows and/or system permission prompts, for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3532 >
2022-12-13 17:50:32 +00:00
Sebastian Dröge
9ca6b1196e
systemclock: Use futex_time64
syscall if available (32-bit systems) and use correct struct timespec
definition
...
See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1648
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3561 >
2022-12-13 13:11:56 +00:00
Tim-Philipp Müller
a2c7398a1c
meson: fix check for pthread_setname_np()
...
Need to define _GNU_SOURCE.
Fixes #1542
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3538 >
2022-12-07 11:53:50 +00:00
Tim-Philipp Müller
1f65d7cc5c
Back to development
2022-12-05 02:29:08 +00:00
Tim-Philipp Müller
fd6a3948c6
Release 1.21.3
2022-12-05 01:28:21 +00:00
Tim-Philipp Müller
9eb081ea0a
meson: Generate ChangeLog files for release tarballs on dist
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521 >
2022-12-04 18:16:25 +00:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
99bbb1ef35
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115 >
2022-10-04 03:57:31 +01:00
Tim-Philipp Müller
9820e58be6
Release 1.21.1
2022-10-04 01:18:20 +01:00
Nirbheek Chauhan
a0e6278dba
meson: Use implicit builtin dirs in pkgconfig generation
...
Starting with Meson 0.62, meson automatically populates the variables
list in the pkgconfig file if you reference builtin directories in the
pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
We need this, because ${prefix}/libexec is a hard-coded value which is
incorrect on, for example, Debian.
Bump requirement to 0.62, and remove version compares that retained
support for older Meson versions.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061 >
2022-09-21 21:08:11 +05:30
Zebediah Figura
c4681ac428
meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
...
GLib made the unfortunate decision to prevent libgobject from ever being
unloaded, which means that now any library which registers a static type
can't ever be unloaded either (and any library that depends on those,
ad nauseam).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778 >
2022-09-13 15:48:52 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
b5e90fe579
meson: Rename plugins list and make them "dependency" objects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Tim-Philipp Müller
9272943bc7
coding style: allow declarations after statement
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683 >
2022-06-29 13:40:25 +00:00
Tim-Philipp Müller
9d9e59622f
Bump GLib requirement to >= 2.62
...
Can't require 2.64 yet because of
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568 >
2022-06-10 06:01:41 +00:00
Nirbheek Chauhan
97655eb8ac
meson: Add -Wl,-rpath,${libdir} on macOS
...
We made the gstreamer installation prefix relocatable by picking up
plugins relative to the location of libgstreamer-1.0.dylib, similar to
how it's done for Windows:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
This had a lot of side-effects:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
A partial fix for the cerbero side of these was:
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
However, this relied on the consumers knowing that they need to add
`LC_RPATH` entries to the libdir of the prefix. This is done
automatically by build systems like Meson, but not by others, such as
Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
RPATH entries to the gstreamer-1.0.pc file.
This also has the side-effect of fixing the loading of gstreamer rust
plugins on macOS:
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218 >
2022-04-19 12:11:17 +00:00
Xavier Claessens
a40634eebe
Use gmodule-no-export-2.0
...
We don't need `-Wl,--export-dynamic`, that's used only for executables
that needs to export an API to be used by plugins they load.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Xavier Claessens
f270f9e974
Fix cross build with mingw32
...
At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
to WinXP. We require at least Vista for FILE_STANDARD_INFO.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022 >
2022-04-01 15:52:28 +00:00
Thibault Saunier
2952a73f40
tools: Add support for building gstreamer tools against gst-full
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581 >
2022-03-30 17:43:17 +00:00
Nirbheek Chauhan
1cb127f16b
meson: Bump all meson requirements to 0.60
...
Lots of new warnings ever since
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977 >
2022-03-18 22:49:16 +00:00
Seungha Yang
ec8b293999
check: Disable some tests if pipe() is unavailable for UWP build
...
pipe() and _pipe() are not allowed on UWP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006 >
2022-02-16 17:03:29 +00:00
Seungha Yang
e1f0687b09
meson: Do hard build error for some MSVC warnings
...
Handle various MSVC warnings as errors for development version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006 >
2022-02-16 17:03:29 +00:00
Matthew Waters
74233cfd67
pluginloader: support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir)
...
i.e. if GST_PLUGIN_SUBDIR is 'some/lib/path', then the default plugin
loading assumed that there was only 'lib' as it only went up a single
directory to then find the plugin scanner.
Fix to support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir).
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/995
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644 >
2022-02-07 09:37:57 +00:00
Tim-Philipp Müller
701ed92d27
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635 >
2022-02-04 22:59:41 +00:00
Tim-Philipp Müller
f0b045a69b
Release 1.20.0
2022-02-03 20:03:15 +00:00
Tim-Philipp Müller
31b5243e1d
Release 1.19.90
2022-01-28 14:28:42 +00:00
Nirbheek Chauhan
1be6d6ccf5
meson: Add explicit check: kwarg to all run_command() calls
...
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
2c079d855e
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507 >
2022-01-09 18:12:47 +05:30