Commit 90f59671784a7e47b40485095cd66892d4840ed7 ("topology: pre-processor: Move the call to expand variables") modified aplay by unconditionally invoking features of the use case manager (UCM) from alsa-lib. However, alsa-lib can be compiled with UCM support. In order to properly support this situation, this commit changes aplay to only conditionally compile the UCM related code. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> --- aplay/aplay.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/aplay/aplay.c b/aplay/aplay.c index b3b3635..59f937d 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -41,7 +41,9 @@ #include <time.h> #include <locale.h> #include <alsa/asoundlib.h> +#ifdef HAVE_ALSA_USE_CASE_H #include <alsa/use-case.h> +#endif #include <assert.h> #include <termios.h> #include <signal.h> @@ -453,6 +455,7 @@ static ssize_t xwrite(int fd, const void *buf, size_t count) return offset; } +#ifdef HAVE_ALSA_USE_CASE_H static int open_ucm(snd_use_case_mgr_t **uc_mgr, char **pcm_name, const char *name) { char *s, *p; @@ -476,6 +479,7 @@ static int open_ucm(snd_use_case_mgr_t **uc_mgr, char **pcm_name, const char *na } return err; } +#endif static long parse_long(const char *str, int *err) { @@ -553,7 +557,9 @@ int main(int argc, char *argv[]) int do_device_list = 0, do_pcm_list = 0, force_sample_format = 0; snd_pcm_info_t *info; FILE *direction; +#ifdef HAVE_ALSA_USE_CASE_H snd_use_case_mgr_t *uc_mgr = NULL; +#endif #ifdef ENABLE_NLS setlocale(LC_ALL, ""); @@ -852,6 +858,7 @@ int main(int argc, char *argv[]) goto __end; } +#ifdef HAVE_ALSA_USE_CASE_H if (strncmp(pcm_name, "ucm.", 4) == 0) { err = open_ucm(&uc_mgr, &pcm_name, pcm_name + 4); if (err < 0) { @@ -861,6 +868,7 @@ int main(int argc, char *argv[]) if (verbose) fprintf(stderr, _("Found UCM PCM device: %s\n"), pcm_name); } +#endif err = snd_pcm_open(&handle, pcm_name, stream, open_mode); if (err < 0) { @@ -951,8 +959,10 @@ int main(int argc, char *argv[]) if (verbose==2) putchar('\n'); snd_pcm_close(handle); +#ifdef HAVE_ALSA_USE_CASE_H if (uc_mgr) snd_use_case_mgr_close(uc_mgr); +#endif handle = NULL; free(audiobuf); __end: -- 2.36.1