From 124163b966b50792894dbfffe953668ea233c07c Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Fri, 1 Sep 2006 17:49:27 +0000 Subject: [PATCH] ALSA was testing if (format) was set to zero as an error condition, but SND_PCM_FORMAT_S8 is zero, so you could never open ALSA for AUDIO_S8 data before. --- src/audio/alsa/SDL_alsa_audio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c index 90c31d0a9..2dd19e083 100644 --- a/src/audio/alsa/SDL_alsa_audio.c +++ b/src/audio/alsa/SDL_alsa_audio.c @@ -523,6 +523,7 @@ ALSA_OpenAudio(_THIS, SDL_AudioSpec * spec) status = -1; for (test_format = SDL_FirstAudioFormat(spec->format); test_format && (status < 0);) { + status = 0; /* if we can't support a format, it'll become -1. */ switch (test_format) { case AUDIO_U8: format = SND_PCM_FORMAT_U8; @@ -555,10 +556,10 @@ ALSA_OpenAudio(_THIS, SDL_AudioSpec * spec) format = SND_PCM_FORMAT_FLOAT_BE; break; default: - format = 0; + status = -1; break; } - if (format != 0) { + if (status >= 0) { status = SDL_NAME(snd_pcm_hw_params_set_format) (pcm_handle, hwparams, format);