diff options
Diffstat (limited to 'Alc/winmm.c')
-rw-r--r-- | Alc/winmm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Alc/winmm.c b/Alc/winmm.c index 10d0c28f..348e764f 100644 --- a/Alc/winmm.c +++ b/Alc/winmm.c @@ -428,7 +428,13 @@ static ALCboolean WinMMResetPlayback(ALCdevice *device) device->UpdateSize = (ALuint)((ALuint64)device->UpdateSize * pData->Frequency / device->Frequency); - device->Frequency = pData->Frequency; + if(device->Frequency != streamInfo->sampleRate) + { + if((device->Flags&DEVICE_FREQUENCY_REQUEST)) + AL_PRINT("WinMM does not support changing sample rates (wanted %dhz, got %dhz)\n", device->Frequency, pData->Frequency); + device->Flags &= ~DEVICE_FREQUENCY_REQUEST; + device->Frequency = pData->Frequency; + } pData->lWaveBuffersCommitted = 0; |