aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/winmm.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-05-03 17:11:07 -0700
committerChris Robinson <[email protected]>2011-05-03 17:11:07 -0700
commit679f2480c9a66905b0a03c99e099b59bfd07879d (patch)
tree186219bf7fc0b39eba0f04b2e4ede23c57a57260 /Alc/winmm.c
parentdb7ca2c7ca48026261c59095331ae2a098083c7a (diff)
Add a device flag for channel config requests
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: