pipewire: add enable/disable to meson for spa plugins

This commit is contained in:
Tapasweni Pathak 2018-10-09 13:57:59 +05:30 committed by Wim Taymans
parent 805240258b
commit 8d71d2dab8
11 changed files with 134 additions and 21 deletions

9
.gitmodules vendored Normal file
View file

@ -0,0 +1,9 @@
[submodule "pipewire-alsa"]
path = pipewire-alsa
url = git@github.com:PipeWire/pipewire-alsa.git
[submodule "pipewire-jack"]
path = pipewire-jack
url = git@github.com:PipeWire/pipewire-jack.git
[submodule "pipewire-pulseaudio"]
path = pipewire-pulseaudio
url = git@github.com:PipeWire/pipewire-pulseaudio.git

5
README
View file

@ -32,3 +32,8 @@ $ meson build
$ cd build
$ ninja
You can see the available meson options in meson_options.txt file. All plugins are
disabled by default. To enable a spa plugin you need to enable spa-plugins and the
plugin name meson option.
$ meson build -Dspa-plugins=true -D<plugin-name>=true

View file

@ -168,11 +168,21 @@ if get_option('gstreamer')
dependency('gstreamer-allocators-1.0'),]
endif
subdir('spa')
if get_option('spa')
subdir('spa')
endif
subdir('src')
subdir('pipewire-jack')
subdir('pipewire-pulseaudio')
subdir('alsa-plugins')
if get_option('pipewire-jack')
subdir('pipewire-jack/src')
endif
if get_option('pipewire-pulseaudio')
subdir('pipewire-pulseaudio/src')
endif
if get_option('pipewire-alsa')
subdir('pipewire-alsa/alsa-plugins')
endif
if get_option('docs')
doxygen = find_program('doxygen', required : false)

View file

@ -14,3 +14,67 @@ option('systemd',
description: 'Enable systemd integration',
type: 'boolean',
value: true)
option('pipewire-alsa',
description: 'Enable pipewire-alsa integration',
type: 'boolean',
value: false)
option('pipewire-jack',
description: 'Enable pipewire-jack integration',
type: 'boolean',
value: false)
option('pipewire-pulseaudio',
description: 'Enable pipewire-pulseaudio integration',
type: 'boolean',
value: false)
option('spa',
description: 'Enable spa integration',
type: 'boolean',
value: true)
option('spa-plugins',
description: 'Enable spa plugins integration',
type: 'boolean',
value: false)
option('alsa',
description: 'Enable alsa spa plugin integration',
type: 'boolean',
value: false)
option('audiomixer',
description: 'Enable audiomixer spa plugin integration',
type: 'boolean',
value: false)
option('audioconvert',
description: 'Enable audiconvert spa plugin integration',
type: 'boolean',
value: false)
option('bluez5',
description: 'Enable bluez5 spa plugin integration',
type: 'boolean',
value: false)
option('audiotestsrc',
description: 'Enable audiotestsrc spa plugin integration',
type: 'boolean',
value: false)
option('ffmpeg',
description: 'Enable ffmpeg spa plugin integration',
type: 'boolean',
value: false)
option('support',
description: 'Enable support spa plugin integration',
type: 'boolean',
value: false)
option('test',
description: 'Enable test spa plugin integration',
type: 'boolean',
value: false)
option('v4l2',
description: 'Enable v4l2 spa plugin integration',
type: 'boolean',
value: false)
option('videotestsrc',
description: 'Enable videotestsrc spa plugin integration',
type: 'boolean',
value: false)
option('volume',
description: 'Enable volume spa plugin integration',
type: 'boolean',
value: false)

1
pipewire-alsa Submodule

@ -0,0 +1 @@
Subproject commit 9955e3203025cfe2cd7913d7851e3adb33863259

1
pipewire-jack Submodule

@ -0,0 +1 @@
Subproject commit ea3310bc6dd565cc9070ff57bf2608a1cf705306

1
pipewire-pulseaudio Submodule

@ -0,0 +1 @@
Subproject commit 6a4da8a6b31e5ed2e455608d853de159f470ba2e

View file

@ -1,18 +1,18 @@
#project('spa', 'c')
alsa_dep = dependency('alsa')
v4l2_dep = dependency('libv4l2')
x11_dep = dependency('x11', required : false)
sdl_dep = dependency('sdl2', required : false)
libva_dep = dependency('libva', required : false)
sbc_dep = dependency('sbc', required : false)
avcodec_dep = dependency('libavcodec', required : false)
avformat_dep = dependency('libavformat', required : false)
avfilter_dep = dependency('libavfilter', required : false)
libva_dep = dependency('libva', required : false)
sbc_dep = dependency('sbc', required : false)
libudev_dep = dependency('libudev')
threads_dep = dependency('threads')
speexdsp_dep = dependency('speexdsp')
sdl_dep = dependency('sdl2', required : false)
#cc = meson.get_compiler('c')
#dl_lib = cc.find_library('dl', required : false)
@ -22,7 +22,11 @@ speexdsp_dep = dependency('speexdsp')
spa_inc = include_directories('include')
subdir('include')
subdir('plugins')
if get_option('spa-plugins')
subdir('plugins')
endif
subdir('tools')
subdir('tests')

View file

@ -615,8 +615,6 @@ impl_node_port_set_param(struct spa_node *node,
uint32_t id, uint32_t flags,
const struct spa_pod *param)
{
struct impl *this;
spa_return_val_if_fail(node != NULL, -EINVAL);
this = SPA_CONTAINER_OF(node, struct impl, node);

View file

@ -84,7 +84,9 @@ int spa_handle_factory_enum(const struct spa_handle_factory **factory, uint32_t
static struct spa_handle_factory f;
static char name[128];
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100)
av_register_all();
#endif
if (*index == 0) {
c = av_codec_next(NULL);

View file

@ -1,15 +1,33 @@
subdir('alsa')
subdir('audioconvert')
subdir('audiomixer')
subdir('audiotestsrc')
if sbc_dep.found()
if get_option('alsa')
subdir('alsa')
endif
if get_option('audioconvert')
subdir('audioconvert')
endif
if get_option('audiomixer')
subdir('audiomixer')
endif
if get_option('audiotestsrc')
subdir('audiotestsrc')
endif
if get_option('bluez5') and sbc_dep.found()
subdir('bluez5')
endif
if avcodec_dep.found()
if get_option('ffmpeg') and avcodec_dep.found()
subdir('ffmpeg')
endif
subdir('support')
subdir('test')
subdir('videotestsrc')
subdir('volume')
subdir('v4l2')
if get_option('support')
subdir('support')
endif
if get_option('test')
subdir('test')
endif
if get_option('videotestsrc')
subdir('videotestsrc')
endif
if get_option('volume')
subdir('volume')
endif
if get_option('v4l2')
subdir('v4l2')
endif