a few fixes for MSACM driver handling
eric pouech
eric.pouech at wanadoo.fr
Fri Apr 13 15:34:05 CDT 2001
A+
--
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle
-------------- next part --------------
Name: msacm_drv
ChangeLog: Fixed opening of some drivers
GenDate: 2001/04/13 20:26:32 UTC
ModifiedFiles: dlls/msacm/driver.c
AddedFiles:
===================================================================
RCS file: /usr/share/cvs/cvsroot/wine/wine/dlls/msacm/driver.c,v
retrieving revision 1.7
diff -u -u -r1.7 driver.c
--- dlls/msacm/driver.c 2000/11/28 22:40:57 1.7
+++ dlls/msacm/driver.c 2001/03/25 16:57:47
@@ -235,6 +235,7 @@
{
PWINE_ACMDRIVERID padid;
PWINE_ACMDRIVER pad;
+ MMRESULT ret = MMSYSERR_ERROR;
TRACE("(%p, %x, %08lu)\n", phad, hadid, fdwOpen);
@@ -253,12 +254,24 @@
pad->obj.dwType = WINE_ACMOBJ_DRIVER;
pad->obj.pACMDriverID = padid;
-
- if (!(pad->hDrvr = padid->hInstModule) && padid->pszDriverAlias)
- pad->hDrvr = OpenDriverA(padid->pszDriverAlias, NULL, 0);
- if (!pad->hDrvr) {
- HeapFree(MSACM_hHeap, 0, pad);
- return MMSYSERR_ERROR;
+
+ if (!(pad->hDrvr = padid->hInstModule) && padid->pszDriverAlias) {
+ ACMDRVOPENDESCW adod;
+
+ adod.cbStruct = sizeof(adod);
+ adod.fccType = ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC;
+ adod.fccComp = ACMDRIVERDETAILS_FCCCOMP_UNDEFINED;
+ adod.dwVersion = acmGetVersion();
+ adod.dwFlags = fdwOpen;
+ adod.dwError = 0;
+ adod.pszSectionName = (LPCWSTR)"\0"; /* FIXME */
+ adod.pszAliasName = (LPCWSTR)"\0"; /* FIXME */
+ adod.dnDevNode = 0;
+
+ if (!(pad->hDrvr = OpenDriverA(padid->pszDriverAlias, NULL, (DWORD)&adod))) {
+ ret = adod.dwError;
+ goto gotError;
+ }
}
/* insert new pad at beg of list */
@@ -269,6 +282,10 @@
*phad = (HACMDRIVER)pad;
TRACE("'%s' => %08lx\n", padid->pszDriverAlias, (DWORD)pad);
return MMSYSERR_NOERROR;
+ gotError:
+ if (!pad->hDrvr)
+ HeapFree(MSACM_hHeap, 0, pad);
+ return ret;
}
/***********************************************************************
More information about the wine-patches
mailing list