wav: Make sure the data size is a multiple of blockalign, not an exact match.

I _think_ this is a right thing to do; it fixes a .wav file I have here that
has blockalign==2 when channels==2 and bitspersample==16, which otherwise
would fail.
This commit is contained in:
Ryan C. Gordon 2020-10-06 11:07:50 -04:00
parent 4627426994
commit 003a16980c
1 changed files with 2 additions and 1 deletions

View File

@ -1334,7 +1334,8 @@ PCM_Init(WaveFile *file, size_t datalength)
/* It wouldn't be that hard to support more exotic block sizes, but
* the most common formats should do for now.
*/
if (format->blockalign * 8 != format->channels * format->bitspersample) {
/* Make sure we're a multiple of the blockalign, at least. */
if ((format->channels * format->bitspersample) % (format->blockalign * 8)) {
return SDL_SetError("Unsupported block alignment");
}