From: Mike Brady Date: Tue, 9 Apr 2019 10:35:46 +0000 (+0100) Subject: Give error if alsa output device can't be found. X-Git-Tag: 3.3rc4~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3072ae827282e6cb75235a37a1ecefd326b9f19;p=thirdparty%2Fshairport-sync.git Give error if alsa output device can't be found. --- 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);