aboutsummaryrefslogtreecommitdiff
path: root/multimedia/gstreamer1-plugins-bad/files
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/gstreamer1-plugins-bad/files')
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build21
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build17
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h10
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d142
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb7026
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build20
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build21
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-meson.build18
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt44
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build16
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build90
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build12
35 files changed, 540 insertions, 179 deletions
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
new file mode 100644
index 000000000000..e3eefedf06b9
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
@@ -0,0 +1,12 @@
+--- data/meson.build.orig 2023-01-23 19:29:34 UTC
++++ data/meson.build
+@@ -1,3 +1,4 @@
++if get_option('data').enabled()
+ encoding_targetsdir = join_paths(get_option('datadir'),
+ 'gstreamer-' + api_version, 'encoding-profiles')
+
+@@ -28,3 +29,4 @@ meson.add_devenv(env)
+ env = environment()
+ env.prepend('GST_ENCODING_TARGET_PATH', srcdirs)
+ meson.add_devenv(env)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build
new file mode 100644
index 000000000000..da6913ecbf4c
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build
@@ -0,0 +1,21 @@
+--- ext/dash/meson.build.orig 2022-09-13 21:07:32 UTC
++++ ext/dash/meson.build
+@@ -45,9 +45,15 @@ if xml2_dep.found()
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ link_args : noseh_link_args,
+ include_directories : [configinc, libsinc],
+- dependencies : [gstadaptivedemux_dep, gsturidownloader_dep, gsttag_dep,
+- gstnet_dep, gstpbutils_dep, gstbase_dep, gstisoff_dep,
+- gio_dep, xml2_dep],
++ dependencies : [cc.find_library('gstadaptivedemux-1.0', required : true),
++ cc.find_library('gsturidownloader-1.0', required : true),
++ dependency('gstreamer-tag-1.0'),
++ dependency('gstreamer-net-1.0'),
++ dependency('gstreamer-pbutils-1.0'),
++ gstbase_dep,
++ cc.find_library('gstisoff-1.0', required : true),
++ gio_dep,
++ xml2_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build
new file mode 100644
index 000000000000..cc1e561b6d3d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build
@@ -0,0 +1,12 @@
+--- ext/hls/meson.build.orig 2022-09-16 17:38:38 UTC
++++ ext/hls/meson.build
+@@ -58,7 +58,8 @@ gsthls = library('gsthls',
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gstpbutils_dep, gsttag_dep, gstvideo_dep,
+- gstadaptivedemux_dep, gsturidownloader_dep,
++ cc.find_library('gstadaptivedemux-1.0', required: true),
++ cc.find_library('gsturidownloader-1.0', required: true),
+ hls_crypto_dep, gio_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp b/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp
deleted file mode 100644
index 632a5b18225a..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/opencv/gstcvdilateerode.cpp.orig 2021-08-02 14:37:33 UTC
-+++ ext/opencv/gstcvdilateerode.cpp
-@@ -89,7 +89,7 @@ gst_cv_dilate_erode_get_type (void)
- {
- static volatile gsize opencv_dilate_erode_type = 0;
-
-- if (g_once_init_enter (&opencv_dilate_erode_type)) {
-+ if (g_once_init_enter ((unsigned long *)&opencv_dilate_erode_type)) {
- GType _type;
- static const GTypeInfo opencv_dilate_erode_info = {
- sizeof (GstCvDilateErodeClass),
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build
new file mode 100644
index 000000000000..91d6ee280f39
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build
@@ -0,0 +1,11 @@
+--- ext/openjpeg/meson.build.orig 2022-09-12 08:53:57 UTC
++++ ext/openjpeg/meson.build
+@@ -18,7 +18,7 @@ if openjpeg_dep.found()
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gst_dep, gstvideo_dep, openjpeg_dep,
+- gstcodecparsers_dep, libm],
++ dependency('gstreamer-codecparsers-1.0'), libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build
new file mode 100644
index 000000000000..f7b9a0e82bc5
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build
@@ -0,0 +1,11 @@
+--- ext/openmpt/meson.build.orig 2022-06-15 22:36:22 UTC
++++ ext/openmpt/meson.build
+@@ -4,7 +4,7 @@ if openmpt_dep.found()
+ 'gstopenmptdec.c', 'plugin.c',
+ c_args: gst_plugins_bad_args,
+ include_directories: [configinc],
+- dependencies: [gstbadaudio_dep, gstaudio_dep, openmpt_dep],
++ dependencies: [dependency('gstreamer-bad-audio-1.0'), dependency('gstreamer-audio-1.0'), openmpt_dep],
+ install: true,
+ install_dir: plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build
new file mode 100644
index 000000000000..53ad3bf562e7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build
@@ -0,0 +1,17 @@
+--- ext/smoothstreaming/meson.build.orig 2022-09-16 20:01:19 UTC
++++ ext/smoothstreaming/meson.build
+@@ -13,8 +13,12 @@ if xml28_dep.found()
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ link_args : noseh_link_args,
+ include_directories : [configinc, libsinc],
+- dependencies : [gst_dep, gstadaptivedemux_dep, gstcodecparsers_dep,
+- gsturidownloader_dep, gstisoff_dep, xml28_dep, gio_dep],
++ dependencies : [gst_dep,
++ cc.find_library('gstadaptivedemux-1.0', required : true),
++ dependency('gstreamer-codecparsers-1.0', required : true),
++ cc.find_library('gsturidownloader-1.0', required : true),
++ cc.find_library('gstisoff-1.0', required : true),
++ xml28_dep, gio_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h b/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h
new file mode 100644
index 000000000000..1ecaa7622f5c
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h
@@ -0,0 +1,10 @@
+--- ext/spandsp/gstspanplc.h.orig 2022-09-16 22:58:32 UTC
++++ ext/spandsp/gstspanplc.h
+@@ -22,6 +22,7 @@
+
+ #include <gst/gst.h>
+
++#include <spandsp/private/plc.h>
+ #include <spandsp.h>
+
+ G_BEGIN_DECLS
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
new file mode 100644
index 000000000000..ae302fcad5b1
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
@@ -0,0 +1,13 @@
+--- ext/webrtc/meson.build.orig 2023-01-23 19:29:34 UTC
++++ ext/webrtc/meson.build
+@@ -12,6 +12,10 @@ webrtc_sources = [
+ 'webrtcdatachannel.c',
+ ]
+
++if not is_variable('libgstwebrtcnice_dep')
++ libgstwebrtcnice_dep=cc.find_library('gstwebrtcnice-1.0', required : true)
++endif
++
+ webrtc_option = get_option('webrtc').require(
+ libgstwebrtcnice_dep.found(), error_message: 'webrtc plugin requires libgstwebrtcnice.')
+ if webrtc_option.disabled()
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build
new file mode 100644
index 000000000000..10e6460bbda0
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build
@@ -0,0 +1,11 @@
+--- ext/webrtcdsp/meson.build.orig 2022-09-07 19:55:24 UTC
++++ ext/webrtcdsp/meson.build
+@@ -17,7 +17,7 @@ if webrtc_dep.found() and gnustl_dep.found()
+ cpp_args : gst_plugins_bad_args,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+- dependencies : [gstbase_dep, gstaudio_dep, gstbadaudio_dep, webrtc_dep, gnustl_dep],
++ dependencies : [gstbase_dep, gstaudio_dep, dependency('gstreamer-bad-audio-1.0'), webrtc_dep, gnustl_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ override_options : ['cpp_std=c++11'],
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d b/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d
deleted file mode 100644
index dda40dab4b28..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d
+++ /dev/null
@@ -1,142 +0,0 @@
-From a0cd455dd0e0375c6395fe732173225ea7e18562 Mon Sep 17 00:00:00 2001
-From: Debarshi Ray <rishi@gnu.org>
-Date: Fri, 20 Mar 2020 15:49:06 +0100
-Subject: [PATCH] lv2: Make it build with -fno-common
-
-GCC 10 defaults to -fno-common. This means that global variables shared
-across multiple translation units should be declared as 'extern' in
-header files and defined in exactly one C file. See:
-https://gcc.gnu.org/gcc-10/porting_to.html
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
----
- ext/lv2/gstlv2.c | 33 ++++++++++++++++++++++++++
- ext/lv2/gstlv2.h | 62 ++++++++++++++++++++++++------------------------
- 2 files changed, 64 insertions(+), 31 deletions(-)
-
-diff --git a/ext/lv2/gstlv2.c b/ext/lv2/gstlv2.c
-index 60d502f41a..7feeee1921 100644
---- ext/lv2/gstlv2.c
-+++ ext/lv2/gstlv2.c
-@@ -69,6 +69,39 @@ GST_DEBUG_CATEGORY (lv2_debug);
- #error "Unsupported OS"
- #endif
-
-+LilvWorld *world = NULL;
-+LilvNode *atom_class = NULL;
-+LilvNode *audio_class = NULL;
-+LilvNode *control_class = NULL;
-+LilvNode *cv_class = NULL;
-+LilvNode *event_class = NULL;
-+LilvNode *input_class = NULL;
-+LilvNode *output_class = NULL;
-+LilvNode *preset_class = NULL;
-+LilvNode *state_iface = NULL;
-+LilvNode *state_uri = NULL;
-+
-+LilvNode *integer_prop = NULL;
-+LilvNode *toggled_prop = NULL;
-+LilvNode *designation_pred = NULL;
-+LilvNode *in_place_broken_pred = NULL;
-+LilvNode *optional_pred = NULL;
-+LilvNode *group_pred = NULL;
-+LilvNode *supports_event_pred = NULL;
-+LilvNode *label_pred = NULL;
-+
-+LilvNode *center_role = NULL;
-+LilvNode *left_role = NULL;
-+LilvNode *right_role = NULL;
-+LilvNode *rear_center_role = NULL;
-+LilvNode *rear_left_role = NULL;
-+LilvNode *rear_right_role = NULL;
-+LilvNode *lfe_role = NULL;
-+LilvNode *center_left_role = NULL;
-+LilvNode *center_right_role = NULL;
-+LilvNode *side_left_role = NULL;
-+LilvNode *side_right_role = NULL;
-+
- GstStructure *lv2_meta_all = NULL;
-
- static void
-diff --git a/ext/lv2/gstlv2.h b/ext/lv2/gstlv2.h
-index 177f9b2c19..9f72582294 100644
---- ext/lv2/gstlv2.h
-+++ ext/lv2/gstlv2.h
-@@ -28,40 +28,40 @@
-
- #include "gstlv2utils.h"
-
--LilvWorld *world;
--LilvNode *atom_class;
--LilvNode *audio_class;
--LilvNode *control_class;
--LilvNode *cv_class;
--LilvNode *event_class;
--LilvNode *input_class;
--LilvNode *output_class;
--LilvNode *preset_class;
--LilvNode *state_iface;
--LilvNode *state_uri;
-+extern LilvWorld *world;
-+extern LilvNode *atom_class;
-+extern LilvNode *audio_class;
-+extern LilvNode *control_class;
-+extern LilvNode *cv_class;
-+extern LilvNode *event_class;
-+extern LilvNode *input_class;
-+extern LilvNode *output_class;
-+extern LilvNode *preset_class;
-+extern LilvNode *state_iface;
-+extern LilvNode *state_uri;
-
--LilvNode *integer_prop;
--LilvNode *toggled_prop;
--LilvNode *designation_pred;
--LilvNode *in_place_broken_pred;
--LilvNode *optional_pred;
--LilvNode *group_pred;
--LilvNode *supports_event_pred;
--LilvNode *label_pred;
-+extern LilvNode *integer_prop;
-+extern LilvNode *toggled_prop;
-+extern LilvNode *designation_pred;
-+extern LilvNode *in_place_broken_pred;
-+extern LilvNode *optional_pred;
-+extern LilvNode *group_pred;
-+extern LilvNode *supports_event_pred;
-+extern LilvNode *label_pred;
-
--LilvNode *center_role;
--LilvNode *left_role;
--LilvNode *right_role;
--LilvNode *rear_center_role;
--LilvNode *rear_left_role;
--LilvNode *rear_right_role;
--LilvNode *lfe_role;
--LilvNode *center_left_role;
--LilvNode *center_right_role;
--LilvNode *side_left_role;
--LilvNode *side_right_role;
-+extern LilvNode *center_role;
-+extern LilvNode *left_role;
-+extern LilvNode *right_role;
-+extern LilvNode *rear_center_role;
-+extern LilvNode *rear_left_role;
-+extern LilvNode *rear_right_role;
-+extern LilvNode *lfe_role;
-+extern LilvNode *center_left_role;
-+extern LilvNode *center_right_role;
-+extern LilvNode *side_left_role;
-+extern LilvNode *side_right_role;
-
--GstStructure *lv2_meta_all;
-+extern GstStructure *lv2_meta_all;
-
- void gst_lv2_filter_register_element (GstPlugin *plugin,
- GstStructure * lv2_meta);
---
-GitLab
-
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70 b/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70
deleted file mode 100644
index 536a69bcbbd3..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70
+++ /dev/null
@@ -1,26 +0,0 @@
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1255
-
-vkerror.c:66:16: error: use of undeclared identifier 'VK_RESULT_BEGIN_RANGE'
- if (result < VK_RESULT_BEGIN_RANGE)
- ^
-
---- ext/vulkan/vkerror.c.orig 2019-04-19 09:16:36 UTC
-+++ ext/vulkan/vkerror.c
-@@ -27,7 +27,7 @@
- #include "vkerror.h"
-
- /* *INDENT-OFF* */
--static const struct
-+static const struct
- {
- VkResult result;
- const char *str;
-@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result)
-
- if (result >= 0)
- return NULL;
-- if (result < VK_RESULT_BEGIN_RANGE)
-- return "Unknown Error";
-
- for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
- if (result == vk_result_string_map[i].result)
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build
new file mode 100644
index 000000000000..99a8f3eafb3e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build
@@ -0,0 +1,20 @@
+--- gst-libs/gst/adaptivedemux/meson.build.orig 2022-09-05 19:47:37 UTC
++++ gst-libs/gst/adaptivedemux/meson.build
+@@ -1,5 +1,8 @@
++if get_option('adaptivedemux').enabled()
+ adaptivedemux_sources = files('gstadaptivedemux.c')
+-adaptivedemux_headers = files('gstadaptivedemux.h')
++adaptivedemux_headers = files('gstadaptivedemux.h',
++ 'adaptive-demux-prelude.h')
++install_headers(adaptivedemux_headers, subdir : 'gstreamer-1.0/gst/adaptivedemux')
+
+ pkg_name = 'gstreamer-adaptivedemux-1.0'
+ gstadaptivedemux = library('gstadaptivedemux-' + api_version,
+@@ -18,4 +21,5 @@ gstadaptivedemux_dep = declare_dependency(link_with :
+ include_directories : [libsinc],
+ dependencies : [gstbase_dep, gsturidownloader_dep])
+
+-meson.override_dependency(pkg_name, gstadaptivedemux_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gstadaptivedemux_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build
new file mode 100644
index 000000000000..87d10befb10e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/audio/meson.build.orig 2022-09-05 20:33:42 UTC
++++ gst-libs/gst/audio/meson.build
+@@ -1,3 +1,4 @@
++if get_option('audio').enabled()
+ badaudio_sources = files('gstnonstreamaudiodecoder.c', 'gstplanaraudioadapter.c')
+ badaudio_headers = files('gstnonstreamaudiodecoder.h', 'audio-bad-prelude.h', 'gstplanaraudioadapter.h')
+ install_headers(badaudio_headers, subdir : 'gstreamer-1.0/gst/audio')
+@@ -52,3 +53,4 @@ gstbadaudio_dep = declare_dependency(link_with : gstba
+ dependencies : [gstaudio_dep, gstbase_dep])
+
+ meson.override_dependency(pkg_name, gstbadaudio_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build
new file mode 100644
index 000000000000..bf9ed256ab87
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/basecamerabinsrc/meson.build.orig 2022-09-05 21:00:40 UTC
++++ gst-libs/gst/basecamerabinsrc/meson.build
+@@ -1,3 +1,4 @@
++if get_option('basecamerabinsrc').enabled()
+ camerabin_sources = files(
+ 'gstcamerabin-enum.c',
+ 'gstcamerabinpreview.c',
+@@ -51,3 +52,4 @@ gstbasecamerabin_dep = declare_dependency(link_with :
+ sources: gen_sources,
+ dependencies : [gstapp_dep])
+ meson.override_dependency(pkg_name, gstbasecamerabin_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
new file mode 100644
index 000000000000..ef3812765c93
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/codecparsers/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/codecparsers/meson.build
+@@ -1,3 +1,4 @@
++if get_option('codecparsers').enabled()
+ codecparser_sources = files([
+ 'gstjpeg2000sampling.c',
+ 'gstjpegparser.c',
+@@ -71,3 +72,4 @@ meson.override_dependency(pkg_name, gstcodecparsers_de
+
+ gst_libraries += [[pkg_name, {'lib': gstcodecparsers}]]
+ meson.override_dependency(pkg_name, gstcodecparsers_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build
new file mode 100644
index 000000000000..b02b8b43b1c8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/codecs/meson.build.orig 2022-09-05 20:49:44 UTC
++++ gst-libs/gst/codecs/meson.build
+@@ -1,3 +1,4 @@
++if get_option('codecs').enabled()
+ codecs_sources = files(
+ 'gsth264decoder.c',
+ 'gsth264picture.c',
+@@ -81,4 +82,5 @@ gstcodecs_dep = declare_dependency(link_with : gstcode
+ include_directories : [libsinc],
+ sources: gen_sources,
+ dependencies : [gstvideo_dep, gstcodecparsers_dep])
+-meson.override_dependency(pkg_name, gstcodecs_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gstcodecs_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build
new file mode 100644
index 000000000000..a3823ab4e9a7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/insertbin/meson.build.orig 2022-09-05 21:06:02 UTC
++++ gst-libs/gst/insertbin/meson.build
+@@ -1,3 +1,4 @@
++if get_option('insertbin').enabled()
+ insert_sources = files('gstinsertbin.c')
+ insert_headers = files('gstinsertbin.h')
+ install_headers(insert_headers, subdir : 'gstreamer-1.0/gst/insertbin')
+@@ -51,3 +52,4 @@ gstinsertbin_dep = declare_dependency(link_with : gsti
+ dependencies : [gst_dep])
+
+ meson.override_dependency(pkg_name, gstinsertbin_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
new file mode 100644
index 000000000000..05d78c425a45
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/interfaces/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/interfaces/meson.build
+@@ -1,3 +1,4 @@
++if get_option('interfaces').enabled()
+ photography_sources = ['photography.c']
+ photo_headers = ['photography.h', 'photography-prelude.h']
+ install_headers(photo_headers, subdir : 'gstreamer-1.0/gst/interfaces')
+@@ -40,3 +41,4 @@ meson.override_dependency(pkg_name, gstphotography_dep
+
+ gst_libraries += [[pkg_name, {'lib': gstphotography}]]
+ meson.override_dependency(pkg_name, gstphotography_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build
new file mode 100644
index 000000000000..47a492a31c64
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build
@@ -0,0 +1,21 @@
+--- gst-libs/gst/isoff/meson.build.orig 2022-09-15 15:00:43 UTC
++++ gst-libs/gst/isoff/meson.build
+@@ -1,3 +1,4 @@
++if get_option('isoff').enabled()
+ isoff_sources = [
+ 'gstisoff.c',
+ ]
+@@ -6,6 +7,8 @@ isoff_headers = [
+ ]
+ install_headers(isoff_headers, subdir : 'gstreamer-1.0/gst/isoff')
+
++pkg_name = 'gstreamer-isoff-1.0'
++
+ gstisoff = library('gstisoff-' + api_version,
+ isoff_sources,
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ISOFF', '-DG_LOG_DOMAIN="GStreamer-ISOFF"'],
+@@ -20,3 +23,4 @@ gstisoff = library('gstisoff-' + api_version,
+ gstisoff_dep = declare_dependency(link_with : gstisoff,
+ include_directories : [libsinc],
+ dependencies : [gstbase_dep])
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build
new file mode 100644
index 000000000000..4cc1d85948f8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/mpegts/meson.build.orig 2022-09-05 21:11:41 UTC
++++ gst-libs/gst/mpegts/meson.build
+@@ -1,3 +1,4 @@
++if get_option('mpegts').enabled()
+ mpegts_sources = files(
+ 'mpegts.c',
+ 'gstmpegtssection.c',
+@@ -82,3 +83,4 @@ gstmpegts_dep = declare_dependency(link_with : gstmpeg
+ dependencies : [gst_dep],
+ sources : gen_sources)
+ meson.override_dependency(pkg_name, gstmpegts_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build
new file mode 100644
index 000000000000..57c62c02d424
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/play/meson.build.orig 2022-09-05 21:13:21 UTC
++++ gst-libs/gst/play/meson.build
+@@ -1,3 +1,4 @@
++if get_option('play').enabled()
+ gstplay_sources = files(
+ 'gstplay.c',
+ 'gstplay-signal-adapter.c',
+@@ -74,3 +75,4 @@ gstplay_dep = declare_dependency(link_with : gstplay,
+ gsttag_dep, gstpbutils_dep])
+
+ meson.override_dependency(pkg_name, gstplay_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build
new file mode 100644
index 000000000000..807a3448ee44
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/player/meson.build.orig 2022-09-05 21:14:52 UTC
++++ gst-libs/gst/player/meson.build
+@@ -1,3 +1,4 @@
++if get_option('player').enabled()
+ gstplayer_sources = files([
+ 'gstplayer.c',
+ 'gstplayer-signal-dispatcher.c',
+@@ -77,3 +78,4 @@ gstplayer_dep = declare_dependency(link_with : gstplay
+ gsttag_dep, gstpbutils_dep])
+
+ meson.override_dependency(pkg_name, gstplayer_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build
new file mode 100644
index 000000000000..c97c79c7eb54
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/sctp/meson.build.orig 2022-09-05 21:16:11 UTC
++++ gst-libs/gst/sctp/meson.build
+@@ -1,3 +1,4 @@
++if get_option('sctp').enabled()
+ sctp_sources = [
+ 'sctpreceivemeta.c',
+ 'sctpsendmeta.c',
+@@ -36,3 +37,4 @@ gstsctp_dep = declare_dependency(link_with : libgstsct
+ dependencies : [gstbase_dep])
+
+ meson.override_dependency(pkg_name, gstsctp_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build
new file mode 100644
index 000000000000..a6f42c3067bd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/transcoder/meson.build.orig 2022-09-05 21:18:30 UTC
++++ gst-libs/gst/transcoder/meson.build
+@@ -1,3 +1,4 @@
++if get_option('transcoder').enabled()
+ sources = files(['gsttranscoder.c', 'gsttranscoder-signal-adapter.c'])
+ headers = files(['gsttranscoder.h', 'transcoder-prelude.h', 'gsttranscoder-signal-adapter.h'])
+
+@@ -64,3 +65,4 @@ gst_transcoder_dep = declare_dependency(link_with: gst
+ include_directories : [libsinc]
+ )
+ meson.override_dependency(pkg_name, gst_transcoder_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
new file mode 100644
index 000000000000..2bd58ed8b5fd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/uridownloader/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/uridownloader/meson.build
+@@ -1,3 +1,4 @@
++if get_option('uridownloader').enabled()
+ urid_sources = [
+ 'gstfragment.c',
+ 'gsturidownloader.c',
+@@ -27,4 +28,5 @@ gst_libraries += [[pkg_name, {'lib': gsturidownloader}
+ dependencies : [gstbase_dep])
+
+ gst_libraries += [[pkg_name, {'lib': gsturidownloader}]]
+-meson.override_dependency(pkg_name, gsturidownloader_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gsturidownloader_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
new file mode 100644
index 000000000000..51b56b1d3936
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
@@ -0,0 +1,11 @@
+--- gst-libs/gst/va/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/va/meson.build
+@@ -27,7 +27,7 @@ gstva_dep = dependency('', required : false)
+
+ gstva_dep = dependency('', required : false)
+
+-if host_system != 'linux'
++if get_option('skip_gstva')
+ subdir_done()
+ endif
+
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
new file mode 100644
index 000000000000..a41bf710c35a
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/webrtc/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/webrtc/meson.build
+@@ -1,3 +1,4 @@
++if get_option('webrtc').enabled()
+ webrtc_sources = files([
+ 'dtlstransport.c',
+ 'ice.c',
+@@ -102,4 +103,5 @@ meson.override_dependency(pkg_name, gstwebrtc_dep)
+
+ meson.override_dependency(pkg_name, gstwebrtc_dep)
+
+-subdir('nice')
+\ No newline at end of file
++subdir('nice')
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
new file mode 100644
index 000000000000..3528291dedf8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
@@ -0,0 +1,12 @@
+--- gst/codectimestamper/meson.build.orig 2023-02-28 08:03:28 UTC
++++ gst/codectimestamper/meson.build
+@@ -9,7 +9,8 @@ gstcodectimestamper = library('gstcodectimestamper',
+ codectimestamper_sources,
+ c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+ include_directories : [configinc],
+- dependencies : [gstcodecparsers_dep, gstbase_dep, gstvideo_dep],
++ dependencies : [dependency('gstreamer-codecparsers-1.0', required : true),
++ gstbase_dep, gstvideo_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-meson.build
new file mode 100644
index 000000000000..9fa7faba7c08
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-meson.build
@@ -0,0 +1,18 @@
+--- meson.build.orig 2022-09-04 20:06:36 UTC
++++ meson.build
+@@ -498,6 +498,7 @@ pkgconfig_variables = ['exec_prefix=${prefix}',
+
+ pkgconfig_subdirs = ['gstreamer-1.0']
+
++if get_option('pkgconfig').enabled()
+ pkgconfig.generate(
+ libraries : [gst_dep],
+ variables : pkgconfig_variables,
+@@ -505,6 +506,7 @@ pkgconfig.generate(
+ name : 'gstreamer-plugins-bad-1.0',
+ description : 'Streaming media framework, bad plugins libraries',
+ )
++endif
+
+ gpl_allowed = get_option('gpl').allowed()
+
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
new file mode 100644
index 000000000000..e68d99888782
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
@@ -0,0 +1,44 @@
+--- meson_options.txt.orig 2023-01-23 19:29:34 UTC
++++ meson_options.txt
+@@ -1,5 +1,41 @@ option('gst_play_tests', type: 'boolean', value: false
+ option('gst_play_tests', type: 'boolean', value: false,
+ description: 'Enable GstPlay tests that need network access')
++option('adaptivedemux', type: 'feature', value: 'auto',
++ description: 'adaptivedemux lib')
++option('audio', type: 'feature', value: 'auto',
++ description: 'audio lib')
++option('codecparsers', type: 'feature', value: 'auto',
++ description: 'codecparsers lib')
++option('codecs', type: 'feature', value: 'auto',
++ description: 'codecs lib')
++option('basecamerabinsrc', type: 'feature', value: 'auto',
++ description: 'basecamerabinsrc lib')
++option('insertbin', type: 'feature', value: 'auto',
++ description: 'insertbin lib')
++option('interfaces', type: 'feature', value: 'auto',
++ description: 'interfaces lib')
++option('isoff', type: 'feature', value: 'auto',
++ description: 'isoff lib')
++option('mpegts', type: 'feature', value: 'auto',
++ description: 'mpegts lib')
++option('play', type: 'feature', value: 'auto',
++ description: 'play lib')
++option('player', type: 'feature', value: 'auto',
++ description: 'player lib')
++option('transcoder', type: 'feature', value: 'auto',
++ description: 'transcoder lib')
++option('uridownloader', type: 'feature', value: 'auto',
++ description: 'uridownloader lib')
++option('webrtc', type: 'feature', value: 'auto',
++ description: 'webrtc lib')
++option('tools', type: 'feature', value: 'auto',
++ description: 'tools lib')
++option('data', type: 'feature', value: 'auto',
++ description: 'data lib')
++option('pkgconfig', type: 'feature', value: 'auto',
++ description: 'pkgconfig lib')
++option('skip_gstva', type: 'boolean', value: true,
++ description: 'skip building gst-libs/gst/va, used for multimedia/gstreamer1-vaapi')
+
+ # Feature options for plugins without external deps
+ option('accurip', type : 'feature', value : 'auto')
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build
new file mode 100644
index 000000000000..eba4af58db21
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build
@@ -0,0 +1,13 @@
+--- sys/kms/meson.build.orig 2022-09-12 09:58:35 UTC
++++ sys/kms/meson.build
+@@ -5,10 +5,6 @@ kmssink_sources = [
+ 'gstkmsutils.c',
+ ]
+
+-if host_system != 'linux'
+- subdir_done()
+-endif
+-
+ libdrm_dep = dependency('libdrm', version : '>= 2.4.98',
+ required : get_option('kms'),
+ fallback: ['libdrm', 'ext_libdrm'])
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build
new file mode 100644
index 000000000000..625d4e8742ed
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build
@@ -0,0 +1,16 @@
+--- sys/msdk/meson.build.orig 2022-09-16 08:39:55 UTC
++++ sys/msdk/meson.build
+@@ -169,7 +169,12 @@ if msdk_deps_found
+ msdk_sources,
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ include_directories : [configinc, mfx_inc],
+- dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, gstallocators_dep, gstcodecparsers_dep, mfx_dep, msdk_deps],
++ dependencies : [gstbase_dep,
++ dependency('gstreamer-video-1.0', required : true),
++ dependency('gstreamer-pbutils-1.0', required : true),
++ dependency('gstreamer-allocators-1.0', required : true),
++ dependency('gstreamer-codecparsers-1.0', required : true),
++ mfx_dep, msdk_deps],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
new file mode 100644
index 000000000000..98794affdb99
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
@@ -0,0 +1,90 @@
+--- tests/examples/meson.build.orig 2023-01-23 19:29:34 UTC
++++ tests/examples/meson.build
+@@ -1,24 +1,66 @@
+-subdir('audiomixmatrix')
+-subdir('avsamplesink')
+-subdir('camerabin2')
+-subdir('codecparsers')
+-subdir('codecs')
+-subdir('d3d11')
+-subdir('directfb')
+-subdir('gtk')
+-subdir('ipcpipeline')
+-subdir('mediafoundation')
+-subdir('mpegts')
+-subdir('msdk')
+-subdir('mxf')
+-subdir('nvcodec')
+-subdir('opencv', if_found: opencv_dep)
+-subdir('qsv')
+-subdir('uvch264')
+-subdir('va')
+-subdir('waylandsink')
+-subdir('webrtc')
+-subdir('wpe')
++if get_option('audiomixmatrix').enabled()
++ subdir('audiomixmatrix')
++endif
++if get_option('applemedia').enabled()
++ subdir('avsamplesink')
++endif
++if get_option('camerabin2').enabled()
++ subdir('camerabin2')
++endif
++if get_option('codecparsers').enabled()
++ subdir('codecparsers')
++endif
++if get_option('codecs').enabled()
++ subdir('codecs')
++endif
++if get_option('d3d11').enabled()
++ subdir('d3d11')
++endif
++if get_option('directfb').enabled()
++ subdir('directfb')
++endif
++if get_option('gtk3').enabled()
++ subdir('gtk')
++endif
++if get_option('ipcpipeline').enabled()
++ subdir('ipcpipeline')
++endif
++if get_option('mediafoundation').enabled()
++ subdir('mediafoundation')
++endif
++if get_option('mpegts').enabled()
++ subdir('mpegts')
++endif
++if get_option('msdk').enabled()
++ subdir('msdk')
++endif
++if get_option('mxf').enabled()
++ subdir('mxf')
++endif
++if get_option('nvcodec').enabled()
++ subdir('nvcodec')
++endif
++if get_option('opencv').enabled()
++ subdir('opencv', if_found: opencv_dep)
++endif
++if get_option('qsv').enabled()
++ subdir('qsv')
++endif
++if get_option('uvch264').enabled()
++ subdir('uvch264')
++endif
++if get_option('va').enabled()
++ subdir('va')
++endif
++if get_option('wayland').enabled()
++ subdir('waylandsink')
++endif
++if get_option('webrtc').enabled()
++ subdir('webrtc')
++endif
++if get_option('wpe').enabled()
++ subdir('wpe')
++endif
+
+ executable('playout',
+ 'playout.c',
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
new file mode 100644
index 000000000000..8655ba57e242
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
@@ -0,0 +1,12 @@
+--- tools/meson.build.orig 2023-01-23 19:29:34 UTC
++++ tools/meson.build
+@@ -1,3 +1,4 @@
++if get_option('tools').enabled()
+ executable('gst-transcoder-' + api_version,
+ 'gst-transcoder.c', 'utils.c',
+ install : true,
+@@ -5,3 +6,4 @@ executable('gst-transcoder-' + api_version,
+ dependencies : [gst_dep, gstpbutils_dep, gst_transcoder_dep],
+ c_args: ['-DG_LOG_DOMAIN="gst-transcoder-@0@"'.format(api_version)],
+ )
++endif