From bc9fc7595a9a860e5d00393cc775bba880bbc4d2 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 19 Dec 2002 11:26:55 +0000 Subject: [PATCH] Redo wrong changes by Takashi --- aplay/aplay.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/aplay/aplay.c b/aplay/aplay.c index ec6280e..67d44c3 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -654,7 +654,7 @@ static ssize_t test_wavefile(int fd, char *_buffer, size_t size) hwparams.format = SND_PCM_FORMAT_S16_LE; break; case 24: - switch (LE_SHORT(f->byte_p_spl)) { + switch (LE_SHORT(f->byte_p_spl) / hwparams.channels) { case 3: hwparams.format = SND_PCM_FORMAT_S24_3LE; break; @@ -662,9 +662,10 @@ static ssize_t test_wavefile(int fd, char *_buffer, size_t size) hwparams.format = SND_PCM_FORMAT_S24_LE; break; default: - error(" can't play WAVE-files with sample %d bits in %d bytes wide", LE_SHORT(f->bit_p_spl), LE_SHORT(f->byte_p_spl)); - break; + error(" can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)", LE_SHORT(f->bit_p_spl), LE_SHORT(f->byte_p_spl), hwparams.channels); + exit(EXIT_FAILURE); } + break; case 32: hwparams.format = SND_PCM_FORMAT_S32_LE; break;