Nirbheek Chauhan
345edeb947
meson: Printing a list is only available with meson >=1.3
...
Fixes https://gitlab.freedesktop.org/tpm/gstreamer/-/jobs/60108579
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1632 >
2024-06-20 14:54:11 +05:30
Nirbheek Chauhan
6538803cf6
meson: Handle features needed only by examples separately
...
Currently we incorrectly require gtk4 to build the fallbackswitch, livesync,
togglerecord plugins when the examples option is allowed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
4c9ed330c8
meson: Actually build plugin examples
...
This broke in 8b5a398135
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
7f16fd7736
meson: Fix gtk4 plugin build on linux
...
dmabuf feature needs the wayland feature too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
3e4330686f
meson: Only enable gtk4 examples when gtk4 is found
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
3b6832724f
meson: Only enable the gtk4 plugin when deps are found
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
968e0fddb9
meson: Fix plugin requirement checking and add logging
...
We were silently skipping plugins that didn't find a required feature,
even if the plugin option was enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
39f466f2c6
meson: Fix typo in gstreamer-gl dep fetching
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Nirbheek Chauhan
4eed615871
meson: Make gstreamer-gl dependency optional
...
Minimal systems like docker containers may not have GL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1604 >
2024-06-10 18:50:05 +00:00
Sanchayan Maity
0d2f054c15
Move net/quic to net/quinn
...
While at it, add this to meson.build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1036 >
2024-05-01 22:30:23 +05:30
Sebastian Dröge
5803904deb
gtk4paintablesink: meson: Add auto-detection of GTK4 versions and dmabuf feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Matthew Waters
e868f81189
gopbuffer: implement element buffering of an entire GOP
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1349 >
2024-03-26 15:29:48 +11:00
Philippe Normand
7e1ab086de
dav1d: Require dav1d-rs 0.10
...
This version depends on libdav1d >= 1.3.0. Older versions are no longer
supported, due to an ABI/API break introduced in 1.3.0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1512 >
2024-03-21 17:33:32 +00:00
Olivier Crête
15e7a63e7b
originalbuffer: Pair of elements to keep and restore original buffer
...
The goal is to be able to get back the original buffer
after performing analysis on a transformed version. Then put the
various GstMeta back on the original buffer.
An example pipeline would be
.. ! originalbuffersave ! videoscale ! analysis ! originalbufferestore ! draw_overlay ! sink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1428 >
2024-03-08 15:15:13 -05:00
Guillaume Desmottes
721b7e9c8c
uriplaylistbin: rely on new uridecodebin3 gapless logic
...
uridecodebin3 can now properly handle gapless switches so use that
instead of our own very complicated logic.
Fix #268
Fix #193
Depends on gst 1.23.90 as the plugin requires recent fixes to work properly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 11:17:11 +01:00
Xavier Claessens
e09f9e9540
meson: Fix error when default_library=both
...
Skip duplicated plugin_name when we have both the static and shared
plugin in the plugins list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1470 >
2024-02-22 12:31:23 -05:00
Sebastian Dröge
119d905805
Update version to 0.13.0-alpha.1
2024-02-08 19:41:00 +02:00
Nirbheek Chauhan
086ffd7aff
New RTSP source plugin with live streaming support
...
GST_PLUGIN_FEATURE_RANK=rtspsrc2:1 gst-play-1.0 [URI]
Features:
* Live streaming N audio and N video
- With RTCP-based A/V sync
* Lower transports: TCP, UDP, UDP-Multicast
* RTP, RTCP SR, RTCP RR
* OPTIONS DESCRIBE SETUP PLAY TEARDOWN
* Custom UDP socket management, does not use udpsrc/udpsink
* Supports both rtpbin and the rtpbin2 rust rewrite
- Set USE_RTPBIN2=1 to use rtpbin2 (needs other MRs)
* Properties:
- protocols selection and priority (NEW!)
- location supports rtsp[ut]://
- port-start instead of port-range
Co-Authored-by: Tim-Philipp Müller <tim@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1425 >
2024-02-07 20:29:18 +05:30
Ruben Gonzalez
612ef91af9
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/1447 >
2024-02-06 10:13:43 +00:00
Ruben Gonzalez
f8572c17dd
meson: Use list for dependency version to enable multiple restrictions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1447 >
2024-02-06 10:13:43 +00:00
Michael Tretter
54f24fe4b0
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/1438 >
2024-01-29 10:48:14 +00:00
Nirbheek Chauhan
5b0733d535
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/1431 >
2024-01-26 17:37:38 +00:00
Nirbheek Chauhan
6b79ce605d
meson: pkg-config is required at build time
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1431 >
2024-01-26 17:37:38 +00:00
Nirbheek Chauhan
8b5a398135
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/1431 >
2024-01-26 17:37:38 +00:00
Michael Tretter
fcd57e9ac5
meson: remove trailing whitespace and add comma
...
Cleanup without functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1439 >
2024-01-24 12:03:11 +01:00
Nirbheek Chauhan
235e609eff
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/1364 >
2023-10-18 18:07:50 +05:30
Nirbheek Chauhan
84b0dd8980
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/1363 >
2023-10-18 14:47:16 +05:30
robert
c1ac9396ee
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/1305 >
2023-08-22 13:48:04 +00:00
L. E. Segovia
7f6421d977
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/1307 >
2023-08-21 21:41:07 -03:00
L. E. Segovia
7cf48db2fb
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/1303 >
2023-08-18 20:04:32 -03:00
L. E. Segovia
4ff681e0bb
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/1303 >
2023-08-18 08:06:07 +00:00
L. E. Segovia
7dea39736b
meson: Allow usage of externally overridden pkg-config
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1302 >
2023-08-17 22:13:27 -03:00
Mathieu Duponchelle
e905299eba
generic: expose inter plugin
...
This new plugin exposes two elements, intersink and intersrc. These act
as wormholes for data in the same process and can be used to forward
data from one pipeline to another.
The implementation makes use of gstreamer-utils' StreamProducer, and
supports dynamically adding and removing consumers, before and after
producers, and changing producer names while PLAYING, both on the sink
and the src.
This initial implementation comes with a small demo, and a few tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1257 >
2023-08-14 08:13:12 +00:00
Sebastian Dröge
6523a07a9f
meson: Check for correct minimum cargo-c version
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/404
2023-08-14 11:07:57 +03:00
Sebastian Dröge
d688aeb184
Update versions to 0.12.0-alpha.1
2023-08-10 17:21:11 +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