winecoreaudio: Enable DirectSound HEL mode for output.

This commit is contained in:
Ken Thomases 2007-07-11 20:34:34 -05:00 committed by Alexandre Julliard
parent 137eb037b9
commit 631f306c3e

View file

@ -1423,6 +1423,32 @@ static DWORD wodDevInterface(UINT wDevID, PWCHAR dwParam1, DWORD dwParam2)
return MMSYSERR_INVALPARAM;
}
/**************************************************************************
* widDsCreate [internal]
*/
static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv)
{
TRACE("(%d,%p)\n",wDevID,drv);
FIXME("DirectSound not implemented\n");
FIXME("The (slower) DirectSound HEL mode will be used instead.\n");
return MMSYSERR_NOTSUPPORTED;
}
/**************************************************************************
* wodDsDesc [internal]
*/
static DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc)
{
/* The DirectSound HEL will automatically wrap a non-DirectSound-capable
* driver in a DirectSound adaptor, thus allowing the driver to be used by
* DirectSound clients. However, it only does this if we respond
* successfully to the DRV_QUERYDSOUNDDESC message. It's enough to fill in
* the driver and device names of the description output parameter. */
memcpy(desc, &(WOutDev[wDevID].cadev->ds_desc), sizeof(DSDRIVERDESC));
return MMSYSERR_NOERROR;
}
/**************************************************************************
* wodMessage (WINECOREAUDIO.7)
*/
@ -1463,9 +1489,8 @@ DWORD WINAPI CoreAudio_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
case DRV_QUERYDEVICEINTERFACESIZE: return wodDevInterfaceSize (wDevID, (LPDWORD)dwParam1);
case DRV_QUERYDEVICEINTERFACE: return wodDevInterface (wDevID, (PWCHAR)dwParam1, dwParam2);
case DRV_QUERYDSOUNDIFACE:
case DRV_QUERYDSOUNDDESC:
return MMSYSERR_NOTSUPPORTED;
case DRV_QUERYDSOUNDIFACE: return wodDsCreate (wDevID, (PIDSDRIVER*)dwParam1);
case DRV_QUERYDSOUNDDESC: return wodDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
default:
FIXME("unknown message %d!\n", wMsg);