From ccd2a241399c011b2afb183c4ffffec20a68cab4 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Wed, 13 Jul 2011 14:20:37 -0500 Subject: [PATCH] winmm: Remove driver implementation of mixer*. --- dlls/winmm/waveform.c | 191 +++++--------------------------------------------- 1 file changed, 19 insertions(+), 172 deletions(-) diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c index 48faf0f0cf0..68944641c19 100644 --- a/dlls/winmm/waveform.c +++ b/dlls/winmm/waveform.c @@ -2999,66 +2999,9 @@ UINT WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage, return MMSYSERR_NOTSUPPORTED; } -/************************************************************************** - * find out the real mixer ID depending on hmix (depends on dwFlags) - */ -static UINT MIXER_GetDev(HMIXEROBJ hmix, DWORD dwFlags, LPWINE_MIXER * lplpwm) -{ - LPWINE_MIXER lpwm = NULL; - UINT uRet = MMSYSERR_NOERROR; - - switch (dwFlags & 0xF0000000ul) { - case MIXER_OBJECTF_MIXER: - lpwm = (LPWINE_MIXER)MMDRV_Get(hmix, MMDRV_MIXER, TRUE); - break; - case MIXER_OBJECTF_HMIXER: - lpwm = (LPWINE_MIXER)MMDRV_Get(hmix, MMDRV_MIXER, FALSE); - break; - case MIXER_OBJECTF_WAVEOUT: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_WAVEOUT, TRUE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_HWAVEOUT: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_WAVEOUT, FALSE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_WAVEIN: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_WAVEIN, TRUE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_HWAVEIN: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_WAVEIN, FALSE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_MIDIOUT: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_MIDIOUT, TRUE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_HMIDIOUT: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_MIDIOUT, FALSE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_MIDIIN: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_MIDIIN, TRUE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_HMIDIIN: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_MIDIIN, FALSE, MMDRV_MIXER); - break; - case MIXER_OBJECTF_AUX: - lpwm = (LPWINE_MIXER)MMDRV_GetRelated(hmix, MMDRV_AUX, TRUE, MMDRV_MIXER); - break; - default: - WARN("Unsupported flag (%08lx)\n", dwFlags & 0xF0000000ul); - lpwm = 0; - uRet = MMSYSERR_INVALFLAG; - break; - } - *lplpwm = lpwm; - if (lpwm == 0 && uRet == MMSYSERR_NOERROR) - uRet = MMSYSERR_INVALPARAM; - return uRet; -} - -/************************************************************************** - * mixerGetNumDevs [WINMM.@] - */ UINT WINAPI mixerGetNumDevs(void) { - return MMDRV_GetNum(MMDRV_MIXER); + return 0; } /************************************************************************** @@ -3092,24 +3035,10 @@ UINT WINAPI mixerGetDevCapsA(UINT_PTR uDeviceID, LPMIXERCAPSA lpCaps, UINT uSize */ UINT WINAPI mixerGetDevCapsW(UINT_PTR uDeviceID, LPMIXERCAPSW lpCaps, UINT uSize) { - LPWINE_MLD wmld; - - if (lpCaps == NULL) return MMSYSERR_INVALPARAM; - - if ((wmld = MMDRV_Get((HANDLE)uDeviceID, MMDRV_MIXER, TRUE)) == NULL) - return MMSYSERR_BADDEVICEID; - - return MMDRV_Message(wmld, MXDM_GETDEVCAPS, (DWORD_PTR)lpCaps, uSize); -} - -static void CALLBACK MIXER_WCallback(HMIXEROBJ hmx, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam, DWORD_PTR param2) -{ - HWND hWnd = (HWND)dwInstance; - - if (!dwInstance) - return; + if(!lpCaps) + return MMSYSERR_INVALPARAM; - PostMessageW(hWnd, uMsg, (WPARAM)hmx, (LPARAM)dwParam); + return MMSYSERR_BADDEVICEID; } /************************************************************************** @@ -3118,10 +3047,7 @@ static void CALLBACK MIXER_WCallback(HMIXEROBJ hmx, UINT uMsg, DWORD_PTR dwInsta UINT WINAPI mixerOpen(LPHMIXER lphMix, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { - HANDLE hMix; - LPWINE_MLD wmld; - DWORD dwRet; - MIXEROPENDESC mod; + DWORD dwRet; TRACE("(%p, %d, %08lx, %08lx, %08x)\n", lphMix, uDeviceID, dwCallback, dwInstance, fdwOpen); @@ -3130,33 +3056,7 @@ UINT WINAPI mixerOpen(LPHMIXER lphMix, UINT uDeviceID, DWORD_PTR dwCallback, if (dwRet != MMSYSERR_NOERROR) return dwRet; - mod.dwCallback = (DWORD_PTR)MIXER_WCallback; - if ((fdwOpen & CALLBACK_TYPEMASK) == CALLBACK_WINDOW) - mod.dwInstance = dwCallback; - else - mod.dwInstance = 0; - - /* We're remapping to CALLBACK_FUNCTION because that's what old winmm is - * documented to do when opening the mixer driver. - * FIXME: Native supports CALLBACK_EVENT + CALLBACK_THREAD flags since w2k. - * FIXME: The non ALSA drivers ignore callback requests - bug. - */ - - wmld = MMDRV_Alloc(sizeof(WINE_MIXER), MMDRV_MIXER, &hMix, &fdwOpen, - &dwCallback, &dwInstance); - wmld->uDeviceID = uDeviceID; - mod.hmx = hMix; - - dwRet = MMDRV_Open(wmld, MXDM_OPEN, (DWORD_PTR)&mod, CALLBACK_FUNCTION); - - if (dwRet != MMSYSERR_NOERROR) { - MMDRV_Free(hMix, wmld); - hMix = 0; - } - if (lphMix) *lphMix = hMix; - TRACE("=> %d hMixer=%p\n", dwRet, hMix); - - return dwRet; + return MMSYSERR_BADDEVICEID; } /************************************************************************** @@ -3164,17 +3064,8 @@ UINT WINAPI mixerOpen(LPHMIXER lphMix, UINT uDeviceID, DWORD_PTR dwCallback, */ UINT WINAPI mixerClose(HMIXER hMix) { - LPWINE_MLD wmld; - DWORD dwRet; - TRACE("(%p)\n", hMix); - - if ((wmld = MMDRV_Get(hMix, MMDRV_MIXER, FALSE)) == NULL) return MMSYSERR_INVALHANDLE; - - dwRet = MMDRV_Close(wmld, MXDM_CLOSE); - MMDRV_Free(hMix, wmld); - - return dwRet; + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3182,18 +3073,8 @@ UINT WINAPI mixerClose(HMIXER hMix) */ UINT WINAPI mixerGetID(HMIXEROBJ hmix, LPUINT lpid, DWORD fdwID) { - LPWINE_MIXER lpwm; - UINT uRet = MMSYSERR_NOERROR; - - TRACE("(%p %p %08x)\n", hmix, lpid, fdwID); - - if ((uRet = MIXER_GetDev(hmix, fdwID, &lpwm)) != MMSYSERR_NOERROR) - return uRet; - - if (lpid) - *lpid = lpwm->mld.uDeviceID; - - return uRet; + TRACE("(%p, %p, %08x)\n", hmix, lpid, fdwID); + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3202,19 +3083,12 @@ UINT WINAPI mixerGetID(HMIXEROBJ hmix, LPUINT lpid, DWORD fdwID) UINT WINAPI mixerGetControlDetailsW(HMIXEROBJ hmix, LPMIXERCONTROLDETAILS lpmcdW, DWORD fdwDetails) { - LPWINE_MIXER lpwm; - UINT uRet = MMSYSERR_NOERROR; - TRACE("(%p, %p, %08x)\n", hmix, lpmcdW, fdwDetails); - if ((uRet = MIXER_GetDev(hmix, fdwDetails, &lpwm)) != MMSYSERR_NOERROR) - return uRet; - - if (lpmcdW == NULL || lpmcdW->cbStruct != sizeof(*lpmcdW)) - return MMSYSERR_INVALPARAM; + if(!lpmcdW || lpmcdW->cbStruct != sizeof(*lpmcdW)) + return MMSYSERR_INVALPARAM; - return MMDRV_Message(&lpwm->mld, MXDM_GETCONTROLDETAILS, (DWORD_PTR)lpmcdW, - fdwDetails); + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3350,19 +3224,12 @@ UINT WINAPI mixerGetLineControlsA(HMIXEROBJ hmix, LPMIXERLINECONTROLSA lpmlcA, UINT WINAPI mixerGetLineControlsW(HMIXEROBJ hmix, LPMIXERLINECONTROLSW lpmlcW, DWORD fdwControls) { - LPWINE_MIXER lpwm; - UINT uRet = MMSYSERR_NOERROR; - TRACE("(%p, %p, %08x)\n", hmix, lpmlcW, fdwControls); - if ((uRet = MIXER_GetDev(hmix, fdwControls, &lpwm)) != MMSYSERR_NOERROR) - return uRet; - - if (lpmlcW == NULL || lpmlcW->cbStruct != sizeof(*lpmlcW)) - return MMSYSERR_INVALPARAM; + if(!lpmlcW || lpmlcW->cbStruct != sizeof(*lpmlcW)) + return MMSYSERR_INVALPARAM; - return MMDRV_Message(&lpwm->mld, MXDM_GETLINECONTROLS, (DWORD_PTR)lpmlcW, - fdwControls); + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3370,16 +3237,9 @@ UINT WINAPI mixerGetLineControlsW(HMIXEROBJ hmix, LPMIXERLINECONTROLSW lpmlcW, */ UINT WINAPI mixerGetLineInfoW(HMIXEROBJ hmix, LPMIXERLINEW lpmliW, DWORD fdwInfo) { - LPWINE_MIXER lpwm; - UINT uRet = MMSYSERR_NOERROR; - TRACE("(%p, %p, %08x)\n", hmix, lpmliW, fdwInfo); - if ((uRet = MIXER_GetDev(hmix, fdwInfo, &lpwm)) != MMSYSERR_NOERROR) - return uRet; - - return MMDRV_Message(&lpwm->mld, MXDM_GETLINEINFO, (DWORD_PTR)lpmliW, - fdwInfo); + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3457,16 +3317,9 @@ UINT WINAPI mixerGetLineInfoA(HMIXEROBJ hmix, LPMIXERLINEA lpmliA, UINT WINAPI mixerSetControlDetails(HMIXEROBJ hmix, LPMIXERCONTROLDETAILS lpmcd, DWORD fdwDetails) { - LPWINE_MIXER lpwm; - UINT uRet = MMSYSERR_NOERROR; - TRACE("(%p, %p, %08x)\n", hmix, lpmcd, fdwDetails); - if ((uRet = MIXER_GetDev(hmix, fdwDetails, &lpwm)) != MMSYSERR_NOERROR) - return uRet; - - return MMDRV_Message(&lpwm->mld, MXDM_SETCONTROLDETAILS, (DWORD_PTR)lpmcd, - fdwDetails); + return MMSYSERR_INVALHANDLE; } /************************************************************************** @@ -3474,13 +3327,7 @@ UINT WINAPI mixerSetControlDetails(HMIXEROBJ hmix, LPMIXERCONTROLDETAILS lpmcd, */ DWORD WINAPI mixerMessage(HMIXER hmix, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2) { - LPWINE_MLD wmld; - - TRACE("(%p, %d, %08lx, %08lx): semi-stub?\n", - hmix, uMsg, dwParam1, dwParam2); - - if ((wmld = MMDRV_Get(hmix, MMDRV_MIXER, FALSE)) == NULL) - return MMSYSERR_INVALHANDLE; + TRACE("(%p, %d, %08lx, %08lx)\n", hmix, uMsg, dwParam1, dwParam2); - return MMDRV_Message(wmld, uMsg, dwParam1, dwParam2); + return MMSYSERR_INVALHANDLE; } -- 2.11.4.GIT