From: Mike Brady Date: Tue, 9 Apr 2019 21:37:59 +0000 (+0100) Subject: make Shairport Sync die for some other serious alsa device errors X-Git-Tag: 3.3rc4~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=449a9be55e6157553dbefb5773223971c6693fbe;p=thirdparty%2Fshairport-sync.git make Shairport Sync die for some other serious alsa device errors --- diff --git a/audio_alsa.c b/audio_alsa.c index 98cd6382..e0e2dcf8 100644 --- a/audio_alsa.c +++ b/audio_alsa.c @@ -313,7 +313,7 @@ int actual_open_alsa_device(void) { ret = snd_pcm_hw_params_any(alsa_handle, alsa_params); if (ret < 0) { - warn("audio_alsa: Broken configuration for device \"%s\": no configurations " + die("audio_alsa: Broken configuration for device \"%s\": no configurations " "available", alsa_out_dev); return ret; @@ -339,7 +339,7 @@ int actual_open_alsa_device(void) { ret = snd_pcm_hw_params_set_access(alsa_handle, alsa_params, access); if (ret < 0) { - warn("audio_alsa: Access type not available for device \"%s\": %s", alsa_out_dev, + die("audio_alsa: Access type not available for device \"%s\": %s", alsa_out_dev, snd_strerror(ret)); return ret; } @@ -347,14 +347,14 @@ int actual_open_alsa_device(void) { ret = snd_pcm_hw_params_set_channels(alsa_handle, alsa_params, 2); if (ret < 0) { - warn("audio_alsa: Channels count (2) not available for device \"%s\": %s", alsa_out_dev, + die("audio_alsa: Channels count (2) not available for device \"%s\": %s", alsa_out_dev, snd_strerror(ret)); return ret; } ret = snd_pcm_hw_params_set_rate_near(alsa_handle, alsa_params, &my_sample_rate, &dir); if (ret < 0) { - warn("audio_alsa: Rate %iHz not available for playback: %s", desired_sample_rate, + die("audio_alsa: Rate %iHz not available for playback: %s", desired_sample_rate, snd_strerror(ret)); return ret; } @@ -398,7 +398,7 @@ int actual_open_alsa_device(void) { ret = snd_pcm_hw_params_set_format(alsa_handle, alsa_params, sf); if (ret < 0) { - warn("audio_alsa: Sample format %d not available for device \"%s\": %s", sample_format, + die("audio_alsa: Sample format %d not available for device \"%s\": %s", sample_format, alsa_out_dev, snd_strerror(ret)); return ret; } @@ -443,7 +443,7 @@ int actual_open_alsa_device(void) { ret = snd_pcm_hw_params(alsa_handle, alsa_params); if (ret < 0) { - warn("audio_alsa: Unable to set hw parameters for device \"%s\": %s.", alsa_out_dev, + die("audio_alsa: Unable to set hw parameters for device \"%s\": %s.", alsa_out_dev, snd_strerror(ret)); return ret; } @@ -471,7 +471,7 @@ int actual_open_alsa_device(void) { } if (my_sample_rate != desired_sample_rate) { - warn("Can't set the D/A converter to %d.", desired_sample_rate); + warn("Can't set the D/A converter to sample rate %d.", desired_sample_rate); return -EINVAL; } @@ -500,14 +500,14 @@ int actual_open_alsa_device(void) { /* write the sw parameters */ ret = snd_pcm_sw_params(alsa_handle, alsa_swparams); if (ret < 0) { - warn("audio_alsa: Unable to set software parameters of device: \"%s\": %s.", alsa_out_dev, + die("audio_alsa: Unable to set software parameters of device: \"%s\": %s.", alsa_out_dev, snd_strerror(ret)); return ret; } ret = snd_pcm_prepare(alsa_handle); if (ret < 0) { - warn("audio_alsa: Unable to prepare the device: \"%s\": %s.", alsa_out_dev, + die("audio_alsa: Unable to prepare the device: \"%s\": %s.", alsa_out_dev, snd_strerror(ret)); return ret; }