Changeset 21358 for trunk/src/winmm/waveout.cpp
- Timestamp:
- Feb 22, 2010, 2:44:21 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/waveout.cpp
r10173 r21358 1 1 /* $Id: waveout.cpp,v 1.27 2003-07-16 15:47:24 sandervl Exp $ */ 2 //#undef DEBUG 2 3 3 /* 4 4 * Wave out MM apis … … 13 13 */ 14 14 15 16 /**************************************************************************** 17 * Includes * 18 ****************************************************************************/ 15 /******************************************************************************/ 16 // Includes 17 /******************************************************************************/ 19 18 20 19 #include <os2win.h> … … 29 28 #include "waveoutdart.h" 30 29 #include "waveoutdaud.h" 30 #include "waveoutflash.h" 31 31 #include "misc.h" 32 32 #include "winmm.h" … … 36 36 #include "dbglocal.h" 37 37 38 39 38 /******************************************************************************/ 40 39 /******************************************************************************/ … … 42 41 DWORD dwCallback, DWORD dwInstance, DWORD fdwOpen) 43 42 { 44 MMRESULT rc; 45 46 if(fMMPMAvailable == FALSE) return MMSYSERR_NODRIVER; 47 48 if(pwfx == NULL) 43 MMRESULT rc; 44 45 if (fMMPMAvailable == FALSE) 46 return MMSYSERR_NODRIVER; 47 48 if (pwfx == NULL) 49 49 return(WAVERR_BADFORMAT); 50 50 51 if (fdwOpen & WAVE_FORMAT_QUERY)52 {53 if(DartWaveOut::queryFormat(pwfx->wFormatTag, pwfx->nChannels,pwfx->nSamplesPerSec,54 55 return(MMSYSERR_NOERROR);56 } 57 else return(WAVERR_BADFORMAT);58 } 59 60 if (phwo == NULL)51 if (fdwOpen & WAVE_FORMAT_QUERY) { 52 if (WaveOut::queryFormat(pwfx->wFormatTag, pwfx->nChannels, 53 pwfx->nSamplesPerSec, 54 pwfx->wBitsPerSample) == TRUE) { 55 return (MMSYSERR_NOERROR); 56 } 57 return (WAVERR_BADFORMAT); 58 } 59 60 if (phwo == NULL) 61 61 return(MMSYSERR_INVALPARAM); 62 62 63 if(DAudioWaveOut::isDirectAudioAvailable()) { 64 *phwo = (HWAVEOUT)new DAudioWaveOut(pwfx, fdwOpen, dwCallback, dwInstance); 65 } 66 else *phwo = (HWAVEOUT)new DartWaveOut(pwfx, fdwOpen, dwCallback, dwInstance); 67 68 if(*phwo == NULL) { 63 if (ODIN_IsFlashAudioEnabled()) 64 *phwo = (HWAVEOUT)new FlashWaveOut(pwfx, fdwOpen, dwCallback, dwInstance); 65 else 66 if (DAudioWaveOut::isDirectAudioAvailable()) 67 *phwo = (HWAVEOUT)new DAudioWaveOut(pwfx, fdwOpen, dwCallback, dwInstance); 68 else 69 *phwo = (HWAVEOUT)new DartWaveOut(pwfx, fdwOpen, dwCallback, dwInstance); 70 71 if(*phwo == NULL) 69 72 return(MMSYSERR_NODRIVER); 70 } 71 72 rc = ((WaveOut *)*phwo)->getError(); 73 if(rc != MMSYSERR_NOERROR) { 73 74 rc = ((WaveOut *)*phwo)->open(); 75 if (rc != MMSYSERR_NOERROR) 74 76 delete (WaveOut *)*phwo; 75 return(rc); 76 } 77 return(MMSYSERR_NOERROR); 77 78 return rc; 78 79 } 79 80 /******************************************************************************/
Note:
See TracChangeset
for help on using the changeset viewer.