input/wav: Now really correctly check supported sample size.

This commit is contained in:
Bert Vermeulen 2014-09-02 22:09:17 +02:00
parent 110fe1b4a2
commit e8779db70c
1 changed files with 5 additions and 5 deletions

View File

@ -63,15 +63,15 @@ static int parse_wav_header(GString *buf, struct context *inc)
samplerate = RL32(buf->str + 24); samplerate = RL32(buf->str + 24);
samplesize = RL16(buf->str + 32); samplesize = RL16(buf->str + 32);
if (samplesize != 8 && samplesize != 16 && samplesize != 32) {
sr_err("Only 8, 16 or 32 bits per sample supported.");
return SR_ERR_DATA;
}
num_channels = RL16(buf->str + 22); num_channels = RL16(buf->str + 22);
if (num_channels == 0) if (num_channels == 0)
return SR_ERR; return SR_ERR;
unitsize = samplesize / num_channels; unitsize = samplesize / num_channels;
if (unitsize != 1 && unitsize != 2 && unitsize != 4) {
sr_err("Only 8, 16 or 32 bits per sample supported.");
return SR_ERR_DATA;
}
if (fmt_code == WAVE_FORMAT_PCM) { if (fmt_code == WAVE_FORMAT_PCM) {
} else if (fmt_code == WAVE_FORMAT_IEEE_FLOAT) { } else if (fmt_code == WAVE_FORMAT_IEEE_FLOAT) {