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, 8 insertions, 0 deletions
diff --git a/Alc/winmm.c b/Alc/winmm.c
index 348e764f..c985ec0e 100644
--- a/Alc/winmm.c
+++ b/Alc/winmm.c
@@ -337,7 +337,15 @@ static ALCboolean WinMMOpenPlayback(ALCdevice *pDevice, const ALCchar *deviceNam
pDevice->ExtraData = pData;
if(pDevice->FmtChans != DevFmtMono)
+ {
+ if((pDevice->Flags&DEVICE_CHANNELS_REQUEST) &&
+ pDevice->FmtChans != DevFmtStereo)
+ {
+ AL_PRINT("Failed to set requested channel config %#x, got stereo instead\n", pDevice->FmtChans);
+ pDevice->Flags &= ~DEVICE_CHANNELS_REQUEST;
+ }
pDevice->FmtChans = DevFmtStereo;
+ }
switch(pDevice->FmtType)
{
case DevFmtByte: