Changeset 21358 for trunk/src/winmm/waveinoutbase.cpp
- Timestamp:
- Feb 22, 2010, 2:44:21 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/waveinoutbase.cpp
r10269 r21358 12 12 */ 13 13 14 15 /**************************************************************************** 16 * Includes * 17 ****************************************************************************/ 18 19 14 /******************************************************************************/ 15 // Includes 16 /******************************************************************************/ 20 17 21 18 #define INCL_BASE … … 35 32 #include "dbglocal.h" 36 33 37 VMutex wavemutex; 34 /******************************************************************************/ 35 /******************************************************************************/ 36 37 VMutex wavemutex; 38 WaveInOut * WaveInOut::head = NULL; 38 39 39 40 /******************************************************************************/ … … 41 42 WaveInOut::WaveInOut(LPWAVEFORMATEX pwfx, ULONG fdwOpen, ULONG nCallback, ULONG dwInstance) 42 43 { 43 next = NULL;44 wavehdr = NULL;45 curhdr = NULL;46 ulError = 0;47 State = STATE_STOPPED;48 queuedbuffers = 0;49 50 BitsPerSample = pwfx->wBitsPerSample;51 SampleRate = pwfx->nSamplesPerSec;52 this->nChannels = pwfx->nChannels;44 SampleRate = pwfx->nSamplesPerSec; 45 BitsPerSample = pwfx->wBitsPerSample; 46 nChannels = pwfx->nChannels; 47 OpenFlags = fdwOpen; 48 Callback = nCallback; 49 Instance = dwInstance; 50 State = STATE_STOPPED; 51 queuedbuffers = 0; 52 wavehdr = NULL; 53 next = NULL; 53 54 54 55 dprintf(("WaveInOutOpen: samplerate %d, numChan %d bps %d (%d), format %x", SampleRate, nChannels, BitsPerSample, pwfx->nBlockAlign, pwfx->wFormatTag)); 55 56 State = STATE_STOPPED;57 56 58 57 wavemutex.enter(); … … 70 69 } 71 70 wavemutex.leave(); 72 73 this->fdwOpen = fdwOpen;74 dwCallback = nCallback;75 this->dwInstance = dwInstance;76 71 } 77 72 /******************************************************************************/ … … 101 96 { 102 97 dprintf(("WINMM:WaveInOut::callback type %x, callback 0x%x (HDRVR h=%08xh, UINT uMessage=%08xh, DWORD dwUser=%08xh, DWORD dw1=%08xh, DWORD dw2=%08xh)", 103 fdwOpen, dwCallback, this, uMessage, dwInstance, dw1, dw2));98 OpenFlags, Callback, this, uMessage, Instance, dw1, dw2)); 104 99 105 switch( fdwOpen& CALLBACK_TYPEMASK) {100 switch(OpenFlags & CALLBACK_TYPEMASK) { 106 101 case CALLBACK_WINDOW: 107 PostMessageA((HWND) dwCallback, uMessage, (WPARAM)this, dw1);102 PostMessageA((HWND)Callback, uMessage, (WPARAM)this, dw1); 108 103 break; 109 104 110 105 case CALLBACK_TASK: // == CALLBACK_THREAD 111 PostThreadMessageA( dwCallback, uMessage, (WPARAM)this, dw1);106 PostThreadMessageA(Callback, uMessage, (WPARAM)this, dw1); 112 107 break; 113 108 … … 116 111 USHORT selTIB = GetFS(); // save current FS selector 117 112 USHORT selCallback; 118 LPDRVCALLBACK mthdCallback = (LPDRVCALLBACK) dwCallback;113 LPDRVCALLBACK mthdCallback = (LPDRVCALLBACK)Callback; 119 114 120 115 if(selTIB == SELECTOR_OS2_FS) { … … 130 125 //@@@PH 1999/12/28 Shockwave Flash seem to make assumptions on a 131 126 // specific stack layout. Do we have the correct calling convention here? 132 mthdCallback((HDRVR)this, uMessage, dwInstance, dw1, dw2);127 mthdCallback((HDRVR)this, uMessage, Instance, dw1, dw2); 133 128 SetFS(selTIB); // switch back to the saved FS selector 134 129 } … … 140 135 141 136 case CALLBACK_EVENT: 142 SetEvent((HANDLE) dwCallback);137 SetEvent((HANDLE)Callback); 143 138 break; 144 139 … … 147 142 148 143 default: 149 dprintf(("WARNING: Unknown callback type %x %x", fdwOpen, dwCallback));144 dprintf(("WARNING: Unknown callback type %x %x", OpenFlags, Callback)); 150 145 break; 151 146 } //switch … … 187 182 /******************************************************************************/ 188 183 /******************************************************************************/ 189 WaveInOut *WaveInOut::head = NULL;190 184
Note:
See TracChangeset
for help on using the changeset viewer.