Ruben Gonzalez
883bfb6f94
meson: Update dav1d dependecies to avoid build error when 1.3
...
See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1393
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:50:52 +02:00
Ruben Gonzalez
e798d5b216
meson: Use list for dependency version to enable multiple restrictions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:50:47 +02:00
Michael Tretter
21e5d3b7d8
meson: allow building plugins with GTK 4 examples
...
Only the examples of the fallbackswitch, livesync, and togglerecord
plugins require the gtk, gio, and gst-plugin-gtk4 features. The plugins
themselves don't actually have a dependency on GTK.
Only add the features (and examples) if the examples are actually
enabled to allow building these plugins without the GTK dependency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:46:31 +02:00
Nirbheek Chauhan
be3b46672d
meson: Add nasm to PATH if meson can find it
...
Fixes rav1e build on Windows when built inside the monorepo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:46:19 +02:00
Nirbheek Chauhan
e3f03a690d
meson: pkg-config is required at build time
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:46:14 +02:00
Nirbheek Chauhan
77acb7fad2
meson: Fix build on Windows with MSVC
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/480
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:46:08 +02:00
Michael Tretter
418107d64e
meson: remove trailing whitespace and add comma
...
Cleanup without functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1457 >
2024-02-12 17:46:02 +02:00
Sebastian Dröge
5bba2f7836
meson: Update version to 0.11.3 too
2024-01-04 13:05:23 +02:00
Sebastian Dröge
151702d264
Update versions to 0.11.2
2023-11-11 20:52:45 +02:00
Nirbheek Chauhan
1c3166c0c6
meson: Bump requirement to 1.1
...
WARNING: Project specifies a minimum meson_version '>= 0.60' but uses features which were added in newer versions:
* 1.1.0: {'feature_option.enable_if()'}
Caused by https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1363
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388 >
2023-11-10 15:55:06 +02:00
Nirbheek Chauhan
4e7b3e35a3
meson: Enable the RTP option when WebRTC is enabled
...
And make the webrtc option yielding, see:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5505
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1388 >
2023-11-10 15:54:39 +02:00
Sebastian Dröge
2b8728103f
Update versions to 0.11.1
2023-10-04 23:35:35 +03:00
robert
3eb9e0c88d
meson: Fix handling of optional deps
...
We were requiring the presence of all optional dependencies, such as
gstreamer-check-1.0 and gstreamer-gl-1.0, on the system, regardless of
whether the user actually requires these functionalities.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331 >
2023-09-20 19:56:52 +03:00
L. E. Segovia
f8b07ddcc1
meson: Tell cargo to prefer static libraries
...
This fixes most, but not all, of the build errors in Windows when using
static libraries.
The ones remaining are:
- redirection of gstreamer-1.0 towards gstreamer-full-1.0
- Cairo not exporting the C++ stdlib requirement when built statically
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331 >
2023-09-20 19:56:47 +03:00
L. E. Segovia
6c5c4205a4
meson: Disable plugins and related outputs if features are disabled
...
Previously, there was no check performed on features of plugins if these
specify GStreamer plugins. This commit adds that, and ensures that the
plugins and pkg-config targets are skipped if no outputs are to be
generated (this is already done for examples).
Closes #369
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331 >
2023-09-20 19:56:35 +03:00
L. E. Segovia
2c34193590
meson: Disable plugins and related outputs if features are disabled
...
Previously, there was no check performed on features of plugins if these
specify GStreamer plugins. This commit adds that, and ensures that the
plugins and pkg-config targets are skipped if no outputs are to be
generated (this is already done for examples).
Closes #369
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331 >
2023-09-20 19:56:30 +03:00
L. E. Segovia
746ce65e8f
meson: Allow usage of externally overridden pkg-config
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331 >
2023-09-20 19:56:25 +03:00
Sebastian Dröge
de0363efad
meson: Check for correct minimum cargo-c version
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/404
2023-08-14 11:08:19 +03:00
Sebastian Dröge
47f0520c20
meson: Update version to 0.11.0
2023-08-10 17:19:19 +03:00
Nirbheek Chauhan
89002b4562
meson: Don't override RUSTFLAGS in the env
...
Meson does not add RUSTFLAGS to rustc.cmd_array(), so the effect of
this code is to override that value in the env.
This is hacky, since the env has to match during setup and compile
now, and rust_args added in the cross / native file will be ignored.
But at least it fixes this regression:
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/372
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1237 >
2023-07-12 13:44:17 +05:30
Sebastian Dröge
dcb80ac105
gtk4: Add support for GL on Windows
...
This implements all the workarounds for Windows-specific complications
that the GTK GStreamer mediafile implementation also does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1255 >
2023-06-22 07:43:57 +02:00
Jan Beich
8d6751c88d
gtk4: unbreak wayland, x11egl, x11glx features on non-Linux
...
As the features are non-default leave the responsibility to filter by
platform to consumers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1191 >
2023-04-22 12:58:29 +00:00
Lily Foster
8e4fd2c167
meson: support rust cross-compiling with cargo wrapper
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1188 >
2023-04-21 16:55:37 +00:00
Lily Foster
760e97c7e7
meson: avoid passing the --features flag to wrapper when empty
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1184 >
2023-04-18 16:26:11 -04:00
Sebastian Dröge
884a8a8b23
meson: Update version
2023-04-06 11:25:33 +03:00
Thibault Saunier
f88552ee7f
meson: Handle features detection for gst version in a script
...
Instead of having a big list of features in the meson.build file, we
reuse the information from the Cargo.toml files
This refactors the dependencies to handle that new use case
There were issue in previous handling and only activating the `webrtc`
plugin was failing because the list of features incorrect.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/295
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1130 >
2023-03-12 09:16:34 +00:00
Sebastian Dröge
77d68080e8
meson: Update version to 0.10.0-alpha.1
...
Should've happened long ago already.
2023-01-24 15:44:54 +02:00
Philippe Normand
f5e01b9196
meson: Only enable cargo features when options are enabled (bis)
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/285 even more.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1043 >
2023-01-11 17:08:52 +00:00
Nirbheek Chauhan
b96d560f0a
meson: Only enable cargo features when options are enabled
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/285
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1041 >
2023-01-10 22:50:38 +05:30
Nirbheek Chauhan
002e3fa171
meson: Enable gstreamer-gl-1.0 features in gtk4 plugin
...
Basically, if gstreamer-gl-1.0 is built with wayland / x11 / egl, use
those features in the gtk4 plugin.
MacOS always uses CGL, and it's always available. Windows version does
not use GL yet.
Requires https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3654
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1031 >
2022-12-29 06:51:17 +05:30
Nirbheek Chauhan
155d621262
meson: Require gstreamer-gl-1.0 for gtkpaintablesink
...
This is required on macOS, and is also highly recommended on Linux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1025 >
2022-12-28 23:55:10 +05:30
Nirbheek Chauhan
5f0ff8348f
meson: Add an option to build examples
...
Required renaming threadshare/benchmark to threadshare/ts-benchmark
because 'benchmark' as a target name is reserved for meson's
`benchmark` target.
Disabled by default because cargo decides that it has to rebuild
everything, and is really slow because of that.
Also required adding --features for setting features required by the
examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 22:30:11 +05:30
Nirbheek Chauhan
a3d405f670
meson: Add options for all plugins
...
Required a slight rework of the build file, and how options are passed
to cargo_wrapper.py
Necessitated a bump of the required gstreamer version to 1.20, which
should be fine for the meson build since its primary function is to be
built as part of the gstreamer monorepo build to get a dev env.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 22:30:11 +05:30
Nirbheek Chauhan
72fa5fa922
meson: Require tomllib / tomli python modules explicitly
...
These are required by dependencies.py
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028 >
2022-12-28 15:52:52 +00:00
Nirbheek Chauhan
6607a63159
meson: Disable webp plugin on Windows and macOS
...
Known to be broken, should be kept disabled till the fix is in
a release: https://github.com/qnighy/libwebp-sys2-rs/pull/13
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1021 >
2022-12-19 11:21:57 +00:00
Nirbheek Chauhan
639997d67f
meson: Handle windows path separator correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1021 >
2022-12-19 11:21:57 +00:00
Nirbheek Chauhan
a507f24694
meson: Fix pkgconfig detection when specified in machine file
...
When pkgconfig and pkg_config_path are specified in the machine file,
we need to parse those and pass them on to the cargo_wrapper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1018 >
2022-12-18 04:56:46 +00:00
Nirbheek Chauhan
985e3e85d6
meson: Do not serialize env, use env: kwarg
...
This is simpler, and more correct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1018 >
2022-12-18 04:56:46 +00:00
Jan Alexander Steffens (heftig)
42385c81be
Add livesync plugin
...
It attempts to produce a (nearly) gapless live stream by synchronizing
its output to the running time and forwarding the next input buffer if
its start is (nearly) flush with the end of the last output buffer.
If the input buffer is missing or too far in the future, it duplicates
the last output buffer with adjusted timestamps. If it is operating on a
raw audio stream, it will fill duplicate buffers with silence.
If an input buffer arrives too late, it is thrown away. If the last
input buffer was accepted too long ago (according to `late-threshold`),
a late input buffer is accepted anyway, but immediately considered a
duplicate. Due to the silence-filling, this has no effect on audio, but
video gets a "slideshow" effect instead of freezing completely.
The "many-repeats" property will be notified when this element has
recently duplicated a lot of buffers or recovered from such a state.
Co-authored-by: Vivia Nikolaidou <vivia@ahiru.eu>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/708 >
2022-12-14 18:51:36 +02:00
Jordan Petridis
975f0141be
video/gtk4: Implement support for GLTextures when possible.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:18:46 +02:00
Jordan Petridis
12c058bc49
meson: Fix build of static plugins
...
While we were correctly skipping the plugins that couldn't be
built statically, we were still adding their names to the list
and the .pc list causing them to still get built.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/994 >
2022-11-29 20:03:29 +02:00
Sebastian Dröge
c2f403f998
gst-plugin-mp4: Add new MP4 plugin with a non-fragmented MP4 muxer
2022-11-08 19:08:47 +02:00
Jan Beich
d01779dc6c
meson: optionalize pango dependency used by net/onvif
...
Similar to -Dpango=<auto|enabled|disabled> in gst-plugins-base.
2022-11-05 08:19:12 +00:00
Sebastian Dröge
211cd095d6
Add new mux subdirectory for container formats
...
Contains the (incomplete) flavors FLV demuxer and the fragmented MP4
muxer for now.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/173
2022-10-23 20:25:08 +03:00
Sebastian Dröge
20ad9175d8
Make GStreamer plugin/crate/library/directory names and descriptions consistent
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/238
2022-10-23 20:25:08 +03:00
Sebastian Dröge
45168639e9
Rename rtpav1 plugin to just rtp
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/243
2022-10-23 20:04:43 +03:00
Sebastian Dröge
1929f5872c
Sort members in Cargo.toml and meson.build alphabetically and the same in both files
2022-10-23 11:51:02 +03:00
Zhao, Gang
f3546819ed
meson: Fix warning
...
Fixed following warning.
gst-plugins-rs| WARNING: You should add the boolean check kwarg to the run_command call.
gst-plugins-rs| It currently defaults to false,
gst-plugins-rs| but it will default to true in future releases of meson.
gst-plugins-rs| See also: https://github.com/mesonbuild/meson/issues/9300
2022-10-22 16:27:41 +00:00
Thibault Saunier
5c89c3db69
webrtc: Rename and add to meson build the signalling server
...
The binary was only called `server` it has been renamed to
`gst-webrtc-signalling-server` and is installed in meson.
2022-10-20 18:20:15 +00:00
Stéphane Cerveau
60223d127e
meson: add plugins list to summary
2022-10-20 15:29:58 +00:00