aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/winmm.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/winmm.c')
-rw-r--r--Alc/winmm.c8
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;