From d3072ae827282e6cb75235a37a1ecefd326b9f19 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Tue, 9 Apr 2019 11:35:46 +0100 Subject: [PATCH] Give error if alsa output device can't be found. --- audio_alsa.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/audio_alsa.c b/audio_alsa.c index 86016a37..d3acf577 100644 --- a/audio_alsa.c +++ b/audio_alsa.c @@ -298,8 +298,14 @@ int actual_open_alsa_device(void) { // ret = snd_pcm_open(&alsa_handle, alsa_out_dev, SND_PCM_STREAM_PLAYBACK, // SND_PCM_NONBLOCK); ret = snd_pcm_open(&alsa_handle, alsa_out_dev, SND_PCM_STREAM_PLAYBACK, 0); - if (ret < 0) - return ret; + if (ret < 0) { + if (ret == -ENOENT) + die("alsa: can't find output device \"%s\".", alsa_out_dev); + } else { + char errorstring[1024]; + strerror_r(-ret, (char *)errorstring, sizeof(errorstring)); + die("alsa: error %d (\"%s\") opening alsa device \"%s\".", ret, (char *)errorstring, alsa_out_dev); + } snd_pcm_hw_params_alloca(&alsa_params); snd_pcm_sw_params_alloca(&alsa_swparams);