meson: fix compilation when spa-plugins is disabled

Fixes #3811
This commit is contained in:
Wim Taymans 2024-01-26 15:11:54 +01:00
parent b4c7973d49
commit 1b6370ace1
6 changed files with 23 additions and 5 deletions

View file

@ -69,6 +69,11 @@ pipewire_module_loopback = shared_library('pipewire-module-loopback',
dependencies : [spa_dep, mathlib, dl_lib, pipewire_dep],
)
plugin_dependencies = []
if get_option('spa-plugins').allowed()
plugin_dependencies += audioconvert_dep
endif
simd_cargs = []
simd_dependencies = []
@ -122,7 +127,7 @@ filter_chain_sources = [
'module-filter-chain/convolver.c'
]
filter_chain_dependencies = [
mathlib, dl_lib, pipewire_dep, sndfile_dep, audioconvert_dep
mathlib, dl_lib, pipewire_dep, sndfile_dep, plugin_dependencies
]
pipewire_module_filter_chain = shared_library('pipewire-module-filter-chain',
@ -175,7 +180,7 @@ pipewire_module_echo_cancel = shared_library('pipewire-module-echo-cancel',
install : true,
install_dir : modules_install_dir,
install_rpath: modules_install_dir,
dependencies : [mathlib, dl_lib, pipewire_dep, audioconvert_dep],
dependencies : [mathlib, dl_lib, pipewire_dep, plugin_dependencies],
)
build_module_jack_tunnel = jack_dep.found()

View file

@ -249,6 +249,7 @@ static inline void aec_run(struct impl *impl, const float *rec[], const float *p
{
spa_audio_aec_run(impl->aec, rec, play, out, n_samples);
#ifdef HAVE_SPA_PLUGINS
if (SPA_UNLIKELY(impl->wav_path[0])) {
if (impl->wav_file == NULL) {
struct wav_file_info info;
@ -287,6 +288,7 @@ static inline void aec_run(struct impl *impl, const float *rec[], const float *p
wav_file_close(impl->wav_file);
impl->wav_file = NULL;
}
#endif
}
static void process(struct impl *impl)

View file

@ -784,6 +784,7 @@ static float *create_dirac(const char *filename, float gain, int delay, int offs
static float *resample_buffer(float *samples, int *n_samples,
unsigned long in_rate, unsigned long out_rate, uint32_t quality)
{
#ifdef HAVE_SPA_PLUGINS
uint32_t in_len, out_len, total_out = 0;
int out_n_samples;
float *out_samples, *out_buf, *in_buf;
@ -849,6 +850,12 @@ error:
free(samples);
free(out_samples);
return NULL;
#else
pw_log_error("compiled without spa-plugins support, can't resample");
float *out_samples = calloc(*n_samples, sizeof(float));
memcpy(out_samples, samples, *n_samples * sizeof(float));
return out_samples;
#endif
}
static void * convolver_instantiate(const struct fc_descriptor * Descriptor,