alsa: fall back to 32 bit samples if 24 is not supported
Some sound chips/drivers (e.g. Intel HDA) don't support 24 bit samples, they want to get 32 bit instead. Now that MPD's PCM library supports 32 bit, add a 32 bit fallback when 24 bit is not supported.
This commit is contained in:
parent
a5a15beac2
commit
72176db429
@ -255,6 +255,14 @@ configure_hw:
|
||||
}
|
||||
|
||||
err = snd_pcm_hw_params_set_format(ad->pcm, hwparams, bitformat);
|
||||
if (err == -EINVAL && audio_format->bits == 24) {
|
||||
/* fall back to 32 bit, let pcm_convert.c do the conversion */
|
||||
err = snd_pcm_hw_params_set_format(ad->pcm, hwparams,
|
||||
SND_PCM_FORMAT_S32);
|
||||
if (err == 0)
|
||||
audio_format->bits = 32;
|
||||
}
|
||||
|
||||
if (err == -EINVAL && audio_format->bits != 16) {
|
||||
/* fall back to 16 bit, let pcm_convert.c do the conversion */
|
||||
err = snd_pcm_hw_params_set_format(ad->pcm, hwparams,
|
||||
|
Loading…
Reference in New Issue
Block a user