Ignore:
Timestamp:
Apr 6, 2004, 1:51:05 PM (21 years ago)
Author:
sandervl
Message:

Automatically disable audio support when any Crystal driver is detected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/initwinmm.cpp

    r9671 r10569  
    1 /* $Id: initwinmm.cpp,v 1.11 2003-01-14 19:38:37 sandervl Exp $
     1/* $Id: initwinmm.cpp,v 1.12 2004-04-06 11:51:05 sandervl Exp $
    22 *
    33 * WINMM DLL entry point
     
    6767static HMODULE MMPMLibraryHandle = 0;
    6868
     69static char *szBuggyAudio[] = {
     70"CWAUD1$",
     71"BSAUD1$",
     72"CRYSTAL$"
     73};
     74
    6975BOOL fMMPMAvailable = TRUE;
    7076
     
    9298  static BOOL bInitDone = FALSE;
    9399  char   szError[CCHMAXPATH];
     100  char   szPDDName[128];
    94101  HKEY   hKey;
    95102
     
    174181            RegCloseKey(hKey);
    175182        }
     183        if(OSLibGetAudioPDDName(szPDDName) == FALSE) {
     184            fMMPMAvailable = FALSE;
     185        }
     186        else
     187        {
     188            // Test for buggy audio drivers to turn off audio automagically
     189            for(int i=0;i<sizeof(szBuggyAudio)/sizeof(szBuggyAudio[0]);i++)
     190            {
     191                if(!strcmp(szPDDName, szBuggyAudio[i])) {
     192                    dprintf(("Detected driver %s -> turning off audio!!", szPDDName));
     193                    fMMPMAvailable = FALSE;
     194                    break;
     195                }
     196            }
     197        }
    176198        mixerInit();
    177199        return TRUE;
Note: See TracChangeset for help on using the changeset viewer.