Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2023-03-11 00:41:50 +0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2023-03-12 12:16:34 +0300
commitf88552ee7f7d51f260e3c365a0d2803551df571c (patch)
tree7e3eb697a01608ec8f684dda0cb5ed0efd7f8701 /meson.build
parentf7c8940ff26c6ba7581dd142616cc0e235c470ae (diff)
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>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build28
1 files changed, 6 insertions, 22 deletions
diff --git a/meson.build b/meson.build
index 03c8cbbb8..942d64ebf 100644
--- a/meson.build
+++ b/meson.build
@@ -315,28 +315,6 @@ if get_option('gtk4').allowed()
endif
endif
-if gst_dep.version().version_compare('>=1.21')
- components = [
- '', '-app', '-audio', '-base', '-check',
- '-rtp', '-sdp', '-utils', '-video', '-webrtc',
- ]
- if get_option('tracers').allowed()
- components += '-plugin-tracers'
- endif
- if get_option('threadshare').allowed()
- components += '-net'
- endif
- if get_option('mp4').allowed() or get_option('fmp4').allowed()
- components += '-pbutils'
- endif
- foreach c: components
- features += f'gst@c@/v1_22'
- endforeach
- if get_option('webrtc').allowed()
- features += 'gst-plugin-webrtc/gst1_22'
- endif
-endif
-
if get_option('rav1e').allowed() and find_program('nasm', required: false).found()
features += 'gst-plugin-rav1e/asm'
endif
@@ -359,6 +337,12 @@ foreach plugin_name, details: plugins
if plugin_deps_found
packages += f'gst-plugin-@plugin_name@'
features += details.get('features', [])
+ extra_features = run_command('dependencies.py', meson.current_source_dir(), plugin_name,
+ '--feature', '--gst-version', gst_dep.version(), capture: true, check: true).stdout().strip()
+ if extra_features != ''
+ features += extra_features.split(',')
+ endif
+
examples += details.get('examples', [])
lib = details.get('library')
if default_library in ['shared', 'both']