Changeset 3925 for trunk/src/msacm32
- Timestamp:
- Aug 2, 2000, 5:51:35 PM (25 years ago)
- Location:
- trunk/src/msacm32
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/msacm32/driver.cpp
r2103 r3925 1 /* $Id: driver.cpp,v 1.3 2000-08-02 15:49:31 bird Exp $ */ 1 2 /* 2 3 * MSACM32 library … … 21 22 22 23 DEFAULT_DEBUG_CHANNEL(msacm) 23 24 24 25 /*********************************************************************** 25 26 * acmDriverAddA (MSACM32.2) … … 30 31 if (!phadid) 31 32 return MMSYSERR_INVALPARAM; 32 33 33 34 /* Check if any unknown flags */ 34 if (fdwAdd & 35 if (fdwAdd & 35 36 ~(ACM_DRIVERADDF_FUNCTION|ACM_DRIVERADDF_NOTIFYHWND| 36 37 ACM_DRIVERADDF_GLOBAL)) 37 38 return MMSYSERR_INVALFLAG; 38 39 39 40 /* Check if any incompatible flags */ 40 if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) && 41 if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) && 41 42 (fdwAdd & ACM_DRIVERADDF_NOTIFYHWND)) 42 43 return MMSYSERR_INVALFLAG; 43 44 /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a 44 45 /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a 45 46 * LoadDriver on it, to be sure we can call SendDriverMessage on the 46 47 * hDrvr handle. 47 48 */ 48 49 *phadid = (HACMDRIVERID) MSACM_RegisterDriver(NULL, NULL, hinstModule); 49 50 50 51 /* FIXME: lParam, dwPriority and fdwAdd ignored */ 51 52 52 53 return MMSYSERR_NOERROR; 53 54 } … … 63 64 dprintf(("(%p, 0x%08x, %ld, %ld, %ld): stub\n", 64 65 phadid, hinstModule, lParam, dwPriority, fdwAdd)); 65 66 66 67 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 67 68 return MMSYSERR_ERROR; … … 75 76 PWINE_ACMDRIVER p; 76 77 PWINE_ACMDRIVER* tp; 77 78 78 79 if (fdwClose) 79 80 return MMSYSERR_INVALFLAG; 80 81 81 82 p = MSACM_GetDriver(had); 82 83 if (!p) … … 89 90 } 90 91 } 91 92 92 93 if (p->hDrvr && !p->obj.pACMDriverID->pACMDriverList) 93 94 CloseDriver(p->hDrvr, 0, 0); 94 95 95 96 HeapFree(MSACM_hHeap, 0, p); 96 97 97 98 return MMSYSERR_NOERROR; 98 99 } … … 105 106 MMRESULT mmr; 106 107 ACMDRIVERDETAILSW addw; 107 108 108 109 addw.cbStruct = sizeof(addw); 109 110 mmr = acmDriverDetailsW(hadid, &addw, fdwDetails); 110 111 if (mmr == 0) { 111 padd->fccType = addw.fccType; 112 padd->fccComp = addw.fccComp; 113 padd->wMid = addw.wMid; 114 padd->wPid = addw.wPid; 115 padd->vdwACM = addw.vdwACM; 116 padd->vdwDriver = addw.vdwDriver; 117 padd->fdwSupport = addw.fdwSupport; 118 padd->cFormatTags = addw.cFormatTags; 119 padd->cFilterTags = addw.cFilterTags; 120 padd->hicon = addw.hicon; 112 padd->fccType = addw.fccType; 113 padd->fccComp = addw.fccComp; 114 padd->wMid = addw.wMid; 115 padd->wPid = addw.wPid; 116 padd->vdwACM = addw.vdwACM; 117 padd->vdwDriver = addw.vdwDriver; 118 padd->fdwSupport = addw.fdwSupport; 119 padd->cFormatTags = addw.cFormatTags; 120 padd->cFilterTags = addw.cFilterTags; 121 padd->hicon = addw.hicon; 121 122 lstrcpyWtoA(padd->szShortName, addw.szShortName); 122 123 lstrcpyWtoA(padd->szLongName, addw.szLongName); … … 135 136 HACMDRIVER acmDrvr; 136 137 MMRESULT mmr; 137 138 138 139 if (fdwDetails) 139 140 return MMSYSERR_INVALFLAG; 140 141 141 142 mmr = acmDriverOpen(&acmDrvr, hadid, 0); 142 143 if (mmr == 0) { 143 144 mmr = (MMRESULT)acmDriverMessage(acmDrvr, ACMDM_DRIVER_DETAILS, (LPARAM) padd, 0); 144 145 145 146 acmDriverClose(acmDrvr, 0); 146 147 } 147 148 148 149 return mmr; 149 150 } … … 160 161 return MMSYSERR_INVALPARAM; 161 162 } 162 163 163 164 if (fdwEnum && ~(ACM_DRIVERENUMF_NOLOCAL|ACM_DRIVERENUMF_DISABLED)) { 164 165 return MMSYSERR_INVALFLAG; 165 166 } 166 167 167 168 for (p = MSACM_pFirstACMDriverID; p; p = p->pNextACMDriverID) { 168 169 fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; … … 175 176 (*fnCallback)((HACMDRIVERID) p, dwInstance, fdwSupport); 176 177 } 177 178 178 179 return MMSYSERR_NOERROR; 179 180 } … … 185 186 { 186 187 PWINE_ACMOBJ pao; 187 188 188 189 pao = MSACM_GetObj(hao); 189 190 if (!pao) 190 191 return MMSYSERR_INVALHANDLE; 191 192 192 193 if (!phadid) 193 194 return MMSYSERR_INVALPARAM; 194 195 195 196 if (fdwDriverID) 196 197 return MMSYSERR_INVALFLAG; 197 198 198 199 *phadid = (HACMDRIVERID) pao->pACMDriverID; 199 200 200 201 return MMSYSERR_NOERROR; 201 202 } … … 211 212 if (!pad) 212 213 return MMSYSERR_INVALPARAM; 213 214 214 215 /* FIXME: Check if uMsg legal */ 215 216 216 217 if (!SendDriverMessage(pad->hDrvr, uMsg, lParam1, lParam2)) 217 218 return MMSYSERR_NOTSUPPORTED; 218 219 219 220 return MMSYSERR_NOERROR; 220 221 } … … 233 234 if (!phad) 234 235 return MMSYSERR_INVALPARAM; 235 236 padid = MSACM_GetDriverID(hadid); 236 237 padid = MSACM_GetDriverID(hadid); 237 238 if (!padid) 238 239 return MMSYSERR_INVALHANDLE; 239 240 240 241 if (fdwOpen) 241 242 return MMSYSERR_INVALFLAG; 242 243 243 244 pad = PWINE_ACMDRIVER(HeapAlloc(MSACM_hHeap, 0, sizeof(WINE_ACMDRIVER))); 244 245 if (!pad) return MMSYSERR_NOMEM; 245 246 246 247 pad->obj.pACMDriverID = padid; 247 248 248 249 if (!padid->hInstModule) 249 250 pad->hDrvr = OpenDriverA(padid->pszDriverAlias, "drivers32", 0); 250 251 else 251 252 pad->hDrvr = padid->hInstModule; 252 253 253 254 if (!pad->hDrvr) { 254 255 HeapFree(MSACM_hHeap, 0, pad); 255 256 return MMSYSERR_ERROR; 256 257 } 257 258 258 259 // pad->pfnDriverProc = GetProcAddress(pad->hDrvr, "DriverProc"); 259 260 … … 264 265 /* FIXME: Create a WINE_ACMDRIVER32 */ 265 266 *phad = (HACMDRIVER)pad; 266 267 267 268 // return MMSYSERR_NOERROR; 268 269 return MMSYSERR_ERROR; … … 281 282 HKEY hPriorityKey; 282 283 DWORD dwPriorityCounter; 283 284 284 285 padid = MSACM_GetDriverID(hadid); 285 286 if (!padid) 286 287 return MMSYSERR_INVALHANDLE; 287 288 288 289 /* Check for unknown flags */ 289 if (fdwPriority & 290 if (fdwPriority & 290 291 ~(ACM_DRIVERPRIORITYF_ENABLE|ACM_DRIVERPRIORITYF_DISABLE| 291 292 ACM_DRIVERPRIORITYF_BEGIN|ACM_DRIVERPRIORITYF_END)) 292 293 return MMSYSERR_INVALFLAG; 293 294 294 295 /* Check for incompatible flags */ 295 296 if ((fdwPriority & ACM_DRIVERPRIORITYF_ENABLE) && 296 297 (fdwPriority & ACM_DRIVERPRIORITYF_DISABLE)) 297 298 return MMSYSERR_INVALFLAG; 298 299 299 300 /* Check for incompatible flags */ 300 301 if ((fdwPriority & ACM_DRIVERPRIORITYF_BEGIN) && 301 302 (fdwPriority & ACM_DRIVERPRIORITYF_END)) 302 303 return MMSYSERR_INVALFLAG; 303 304 lError = RegOpenKeyA(HKEY_CURRENT_USER, 304 305 lError = RegOpenKeyA(HKEY_CURRENT_USER, 305 306 "Software\\Microsoft\\Multimedia\\" 306 307 "Audio Compression Manager\\Priority v4.00", … … 310 311 if (lError != ERROR_SUCCESS) 311 312 return MMSYSERR_ERROR; 312 313 313 314 for (dwPriorityCounter = 1; ; dwPriorityCounter++) { 314 315 wsnprintfA(szSubKey, 17, "Priorty%ld", dwPriorityCounter); … … 316 317 if (lError != ERROR_SUCCESS) 317 318 break; 318 319 dprintf(("(0x%08x, %ld, %ld): stub (partial)\n", 319 320 dprintf(("(0x%08x, %ld, %ld): stub (partial)\n", 320 321 hadid, dwPriority, fdwPriority)); 321 322 break; 322 323 } 323 324 324 325 RegCloseKey(hPriorityKey); 325 326 326 327 return MMSYSERR_ERROR; 327 328 } … … 333 334 { 334 335 PWINE_ACMDRIVERID padid; 335 336 336 337 padid = MSACM_GetDriverID(hadid); 337 338 if (!padid) 338 339 return MMSYSERR_INVALHANDLE; 339 340 340 341 if (fdwRemove) 341 342 return MMSYSERR_INVALFLAG; 342 343 343 344 MSACM_UnregisterDriver(padid); 344 345 return MMSYSERR_NOERROR; 346 } 347 345 346 return MMSYSERR_NOERROR; 347 } 348 -
trunk/src/msacm32/filter.cpp
r1607 r3925 1 /* $Id: filter.cpp,v 1.2 2000-08-02 15:49:31 bird Exp $ */ 1 2 /* 2 3 * MSACM32 library … … 72 73 */ 73 74 MMRESULT WINAPI acmFilterEnumA( 74 HACMDRIVER had, PACMFILTERDETAILSA pafd, 75 HACMDRIVER had, PACMFILTERDETAILSA pafd, 75 76 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum) 76 77 { … … 86 87 */ 87 88 MMRESULT WINAPI acmFilterEnumW( 88 HACMDRIVER had, PACMFILTERDETAILSW pafd, 89 HACMDRIVER had, PACMFILTERDETAILSW pafd, 89 90 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum) 90 91 { … … 102 103 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails) 103 104 { 104 if(fdwDetails & 105 if(fdwDetails & 105 106 ~(ACM_FILTERTAGDETAILSF_FILTERTAG| 106 107 ACM_FILTERTAGDETAILSF_LARGESTSIZE)) -
trunk/src/msacm32/format.cpp
r1607 r3925 1 /* $Id: format.cpp,v 1.2 2000-08-02 15:49:32 bird Exp $ */ 1 2 /* 2 3 * MSACM32 library … … 117 118 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails) 118 119 { 119 if(fdwDetails & 120 if(fdwDetails & 120 121 ~(ACM_FORMATTAGDETAILSF_FORMATTAG|ACM_FORMATTAGDETAILSF_LARGESTSIZE)) 121 122 return MMSYSERR_INVALFLAG; … … 152 153 dprintf(("(0x%08x, %p, %p, %ld, %ld): stub\n", 153 154 had, paftd, fnCallback, dwInstance, fdwEnum 154 )); 155 )); 155 156 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 156 157 return MMSYSERR_ERROR; … … 166 167 dprintf(("(0x%08x, %p, %p, %ld, %ld): stub\n", 167 168 had, paftd, fnCallback, dwInstance, fdwEnum 168 )); 169 )); 169 170 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 170 171 return MMSYSERR_ERROR; -
trunk/src/msacm32/internal.cpp
r2105 r3925 1 /* $Id: internal.cpp,v 1.5 2000-08-02 15:49:32 bird Exp $ */ 1 2 /* -*- tab-width: 8; c-basic-offset: 4 -*- */ 2 3 … … 22 23 #include "debugtools.h" 23 24 24 DEFAULT_DEBUG_CHANNEL(msacm) 25 DEFAULT_DEBUG_CHANNEL(msacm) 25 26 26 27 /**********************************************************************/ … … 31 32 32 33 /*********************************************************************** 33 * MSACM_RegisterDriver32() 34 * MSACM_RegisterDriver32() 34 35 */ 35 36 PWINE_ACMDRIVERID MSACM_RegisterDriver(LPSTR pszDriverAlias, LPSTR pszFileName, 36 37 HINSTANCE hinstModule) 37 { 38 { 38 39 PWINE_ACMDRIVERID padid; 39 40 … … 53 54 if (!MSACM_pFirstACMDriverID) 54 55 MSACM_pFirstACMDriverID = padid; 55 56 56 57 return padid; 57 58 } 58 59 59 60 /*********************************************************************** 60 * MSACM_RegisterAllDrivers32() 61 * MSACM_RegisterAllDrivers32() 61 62 */ 62 63 void MSACM_RegisterAllDrivers(void) … … 64 65 LPSTR pszBuffer; 65 66 DWORD dwBufferLength; 66 67 /* FIXME 67 68 /* FIXME 68 69 * What if the user edits system.ini while the program is running? 69 70 * Does Windows handle that? … … 71 72 if (MSACM_pFirstACMDriverID) 72 73 return; 73 74 74 75 /* FIXME: Do not work! How do I determine the section length? */ 75 76 dwBufferLength = 1024; 76 77 /* EPP GetPrivateProfileSectionA("drivers32", NULL, 0, "system.ini"); */ 77 78 78 79 pszBuffer = (LPSTR) HeapAlloc(MSACM_hHeap, 0, dwBufferLength); 79 80 if (GetPrivateProfileSectionA("drivers32", pszBuffer, dwBufferLength, "system.ini")) { … … 87 88 MSACM_RegisterDriver(s, s2, 0); 88 89 } 89 } 90 } 90 91 s += lstrlenA(s) + 1; /* Either next char or \0 */ 91 92 } 92 93 } 93 94 94 95 HeapFree(MSACM_hHeap, 0, pszBuffer); 95 96 } … … 101 102 { 102 103 PWINE_ACMDRIVERID pNextACMDriverID; 103 104 104 105 if (p->pACMDriverList) 105 106 acmDriverClose((HACMDRIVER) p->pACMDriverList, 0); 106 107 107 108 if (p->pszDriverAlias) 108 109 HeapFree(MSACM_hHeap, 0, p->pszDriverAlias); 109 110 if (p->pszFileName) 110 111 HeapFree(MSACM_hHeap, 0, p->pszFileName); 111 112 112 113 if (p == MSACM_pFirstACMDriverID) 113 114 MSACM_pFirstACMDriverID = p->pNextACMDriverID; … … 119 120 if (p->pNextACMDriverID) 120 121 p->pNextACMDriverID->pPrevACMDriverID = p->pPrevACMDriverID; 121 122 122 123 pNextACMDriverID = p->pNextACMDriverID; 123 124 124 125 HeapFree(MSACM_hHeap, 0, p); 125 126 126 127 return pNextACMDriverID; 127 128 } … … 140 141 141 142 /*********************************************************************** 142 * MSACM_GetDriverID32() 143 * MSACM_GetDriverID32() 143 144 */ 144 145 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID) -
trunk/src/msacm32/msacm32.cpp
r2103 r3925 1 /* $Id: msacm32.cpp,v 1.6 2000-08-02 15:49:32 bird Exp $ */ 1 2 /* -*- tab-width: 8; c-basic-offset: 4 -*- */ 2 3 … … 19 20 20 21 DEFAULT_DEBUG_CHANNEL(msacm) 21 22 22 23 /**********************************************************************/ 23 24 24 25 static DWORD MSACM_dwProcessesAttached = 0; 25 26 26 27 /*********************************************************************** 27 * MSACM_LibMain32 (MSACM32.init) 28 * MSACM_LibMain32 (MSACM32.init) 28 29 */ 29 30 BOOL WINAPI MSACM32_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved) … … 69 70 { 70 71 switch (GetVersion()) { 71 default: 72 default: 72 73 dprintf(("Current OS not supported\n")); 73 74 case WIN95: … … 95 96 96 97 dprintf(("(0x%08x, %d, %p): stub\n", hao, uMetric, pMetric)); 97 98 98 99 switch (uMetric) { 99 100 case ACM_METRIC_COUNT_DRIVERS: … … 149 150 case ACM_METRIC_COUNT_LOCAL_DISABLED: 150 151 if (!pao) 151 return MMSYSERR_INVALHANDLE; 152 return MMSYSERR_INVALHANDLE; 152 153 for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID) 153 154 if (!padid->bEnabled /* && (local(padid) || !bLocal) */) -
trunk/src/msacm32/stream.cpp
r2103 r3925 1 /* $Id: stream.cpp,v 1.3 2000-08-02 15:49:32 bird Exp $ */ 1 2 /* -*- tab-width: 8; c-basic-offset: 4 -*- */ 2 3 … … 27 28 28 29 DEFAULT_DEBUG_CHANNEL(msacm) 29 30 30 31 static PWINE_ACMSTREAM ACM_GetStream(HACMSTREAM has) 31 32 { … … 40 41 PWINE_ACMSTREAM was; 41 42 MMRESULT ret; 42 43 43 44 dprintf(("(0x%08x, %ld)\n", has, fdwClose)); 44 45 45 46 if ((was = ACM_GetStream(has)) == NULL) { 46 47 return MMSYSERR_INVALHANDLE; … … 49 50 if (ret == MMSYSERR_NOERROR) { 50 51 if (was->hAcmDriver) 51 acmDriverClose(was->hAcmDriver, 0L); 52 acmDriverClose(was->hAcmDriver, 0L); 52 53 HeapFree(MSACM_hHeap, 0, was); 53 54 } … … 59 60 * acmStreamConvert (MSACM32.38) 60 61 */ 61 MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, 62 MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, 62 63 DWORD fdwConvert) 63 64 { … … 67 68 68 69 dprintf(("(0x%08x, %p, %ld)\n", has, pash, fdwConvert)); 69 70 70 71 if ((was = ACM_GetStream(has)) == NULL) 71 72 return MMSYSERR_INVALHANDLE; … … 88 89 padsh->cbPreparedDstLength < padsh->cbDstLength) { 89 90 return MMSYSERR_INVALPARAM; 90 } 91 } 91 92 92 93 padsh->fdwConvert = fdwConvert; … … 103 104 * acmStreamMessage (MSACM32.39) 104 105 */ 105 MMRESULT WINAPI acmStreamMessage(HACMSTREAM has, UINT uMsg, LPARAM lParam1, 106 MMRESULT WINAPI acmStreamMessage(HACMSTREAM has, UINT uMsg, LPARAM lParam1, 106 107 LPARAM lParam2) 107 108 { … … 123 124 int wfxSrcSize; 124 125 int wfxDstSize; 125 126 126 127 dprintf(("(%p, 0x%08x, %p, %p, %p, %ld, %ld, %ld)\n", 127 128 phas, had, pwfxSrc, pwfxDst, pwfltr, dwCallback, dwInstance, fdwOpen)); 128 129 129 dprintf(("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 130 pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec, 130 dprintf(("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 131 pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec, 131 132 pwfxSrc->nBlockAlign, pwfxSrc->wBitsPerSample, pwfxSrc->cbSize)); 132 133 133 dprintf(("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 134 pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec, 134 dprintf(("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", 135 pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec, 135 136 pwfxDst->nBlockAlign, pwfxDst->wBitsPerSample, pwfxDst->cbSize)); 136 137 … … 143 144 if (was == NULL) 144 145 return MMSYSERR_NOMEM; 145 146 146 147 was->drvInst.cbStruct = sizeof(was->drvInst); 147 148 was->drvInst.pwfxSrc = (PWAVEFORMATEX)((LPSTR)was + sizeof(*was)); … … 155 156 was->drvInst.pwfltr = NULL; 156 157 } 157 was->drvInst.dwCallback = dwCallback; 158 was->drvInst.dwCallback = dwCallback; 158 159 was->drvInst.dwInstance = dwInstance; 159 160 was->drvInst.fdwOpen = fdwOpen; 160 was->drvInst.fdwDriver = 0L; 161 was->drvInst.dwDriver = 0L; 161 was->drvInst.fdwDriver = 0L; 162 was->drvInst.dwDriver = 0L; 162 163 was->drvInst.has = (HACMSTREAM)was; 163 164 164 165 if (had) { 165 166 if (!(wad = MSACM_GetDriver(had))) { … … 167 168 goto errCleanUp; 168 169 } 169 170 170 171 was->obj.pACMDriverID = wad->obj.pACMDriverID; 171 172 was->pDrv = wad; … … 177 178 } else { 178 179 PWINE_ACMDRIVERID wadi; 179 180 180 181 ret = ACMERR_NOTPOSSIBLE; 181 182 for (wadi = MSACM_pFirstACMDriverID; wadi; wadi = wadi->pNextACMDriverID) { … … 186 187 was->pDrv = wad; 187 188 was->hAcmDriver = had; 188 189 189 190 ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); 190 191 if (ret == MMSYSERR_NOERROR) { … … 211 212 return ret; 212 213 } 213 errCleanUp: 214 errCleanUp: 214 215 if (phas) 215 216 *phas = (HACMSTREAM)0; … … 223 224 * acmStreamPrepareHeader (MSACM32.41) 224 225 */ 225 MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 226 MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 226 227 DWORD fdwPrepare) 227 228 { … … 231 232 232 233 dprintf(("(0x%08x, %p, %ld)\n", has, pash, fdwPrepare)); 233 234 234 235 if ((was = ACM_GetStream(has)) == NULL) 235 236 return MMSYSERR_INVALHANDLE; … … 306 307 * acmStreamSize (MSACM32.43) 307 308 */ 308 MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, 309 MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, 309 310 LPDWORD pdwOutputBytes, DWORD fdwSize) 310 311 { … … 312 313 ACMDRVSTREAMSIZE adss; 313 314 MMRESULT ret; 314 315 315 316 dprintf(("(0x%08x, %ld, %p, %ld)\n", has, cbInput, pdwOutputBytes, fdwSize)); 316 317 317 318 if ((was = ACM_GetStream(has)) == NULL) { 318 319 return MMSYSERR_INVALHANDLE; … … 323 324 324 325 *pdwOutputBytes = 0L; 325 326 326 327 switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) { 327 328 case ACM_STREAMSIZEF_DESTINATION: … … 333 334 adss.cbDstLength = 0; 334 335 break; 335 default: 336 default: 336 337 return MMSYSERR_INVALFLAG; 337 338 } 338 339 339 340 adss.cbStruct = sizeof(adss); 340 341 adss.fdwSize = fdwSize; 341 ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE, 342 ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE, 342 343 (DWORD)&was->drvInst, (DWORD)&adss); 343 344 if (ret == MMSYSERR_NOERROR) { … … 358 359 * acmStreamUnprepareHeader (MSACM32.44) 359 360 */ 360 MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 361 MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, 361 362 DWORD fdwUnprepare) 362 363 { … … 366 367 367 368 dprintf(("(0x%08x, %p, %ld)\n", has, pash, fdwUnprepare)); 368 369 369 370 if ((was = ACM_GetStream(has)) == NULL) 370 371 return MMSYSERR_INVALHANDLE; … … 387 388 padsh->cbPreparedDstLength < padsh->cbDstLength) { 388 389 return MMSYSERR_INVALPARAM; 389 } 390 } 390 391 391 392 padsh->fdwConvert = fdwUnprepare;
Note:
See TracChangeset
for help on using the changeset viewer.