Prevent hang in S_UpdateBackgroundTrack() with some sample rates.

Fixes Bugzilla #4022.
This commit is contained in:
Ryan C. Gordon 2009-09-15 06:19:04 +00:00
parent 6978dcf645
commit b9f033d1fa

View file

@ -1374,6 +1374,9 @@ void S_UpdateBackgroundTrack( void ) {
// decide how much data needs to be read from the file // decide how much data needs to be read from the file
fileSamples = bufferSamples * s_backgroundStream->info.rate / dma.speed; fileSamples = bufferSamples * s_backgroundStream->info.rate / dma.speed;
if (!fileSamples)
return;
// our max buffer size // our max buffer size
fileBytes = fileSamples * (s_backgroundStream->info.width * s_backgroundStream->info.channels); fileBytes = fileSamples * (s_backgroundStream->info.width * s_backgroundStream->info.channels);
if ( fileBytes > sizeof(raw) ) { if ( fileBytes > sizeof(raw) ) {