From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winealsa.drv/mmdevdrv.c | 35 ++++++----------------------------- 1 file changed, 6 insertions(+), 29 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 8961f1a3c1d..1eee5a8faa9 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -76,7 +76,8 @@ extern const IAudioClock2Vtbl AudioClock2_Vtbl; extern const IAudioStreamVolumeVtbl AudioStreamVolume_Vtbl; extern const IChannelAudioVolumeVtbl ChannelAudioVolume_Vtbl;
-static AudioSessionWrapper *AudioSessionWrapper_Create(ACImpl *client); +extern struct audio_session_wrapper *session_wrapper_create( + struct audio_client *client) DECLSPEC_HIDDEN;
void DECLSPEC_HIDDEN sessions_lock(void) { @@ -934,7 +935,7 @@ static HRESULT WINAPI AudioClient_GetService(IAudioClient3 *iface, REFIID riid, *ppv = &This->IAudioStreamVolume_iface; }else if(IsEqualIID(riid, &IID_IAudioSessionControl)){ if(!This->session_wrapper){ - This->session_wrapper = AudioSessionWrapper_Create(This); + This->session_wrapper = session_wrapper_create(This); if(!This->session_wrapper){ sessions_unlock(); return E_OUTOFMEMORY; @@ -945,7 +946,7 @@ static HRESULT WINAPI AudioClient_GetService(IAudioClient3 *iface, REFIID riid, *ppv = &This->session_wrapper->IAudioSessionControl2_iface; }else if(IsEqualIID(riid, &IID_IChannelAudioVolume)){ if(!This->session_wrapper){ - This->session_wrapper = AudioSessionWrapper_Create(This); + This->session_wrapper = session_wrapper_create(This); if(!This->session_wrapper){ sessions_unlock(); return E_OUTOFMEMORY; @@ -956,7 +957,7 @@ static HRESULT WINAPI AudioClient_GetService(IAudioClient3 *iface, REFIID riid, *ppv = &This->session_wrapper->IChannelAudioVolume_iface; }else if(IsEqualIID(riid, &IID_ISimpleAudioVolume)){ if(!This->session_wrapper){ - This->session_wrapper = AudioSessionWrapper_Create(This); + This->session_wrapper = session_wrapper_create(This); if(!This->session_wrapper){ sessions_unlock(); return E_OUTOFMEMORY; @@ -1024,30 +1025,6 @@ static const IAudioClient3Vtbl AudioClient3_Vtbl = client_InitializeSharedAudioStream, };
-static AudioSessionWrapper *AudioSessionWrapper_Create(ACImpl *client) -{ - AudioSessionWrapper *ret; - - ret = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, - sizeof(AudioSessionWrapper)); - if(!ret) - return NULL; - - ret->IAudioSessionControl2_iface.lpVtbl = &AudioSessionControl2_Vtbl; - ret->ISimpleAudioVolume_iface.lpVtbl = &SimpleAudioVolume_Vtbl; - ret->IChannelAudioVolume_iface.lpVtbl = &ChannelAudioVolume_Vtbl; - - ret->ref = 1; - - ret->client = client; - if(client){ - ret->session = client->session; - IAudioClient3_AddRef(&client->IAudioClient3_iface); - } - - return ret; -} - HRESULT WINAPI AUDDRV_GetAudioSessionWrapper(const GUID *guid, IMMDevice *device, AudioSessionWrapper **out) { @@ -1057,7 +1034,7 @@ HRESULT WINAPI AUDDRV_GetAudioSessionWrapper(const GUID *guid, IMMDevice *device if(FAILED(hr)) return hr;
- *out = AudioSessionWrapper_Create(NULL); + *out = session_wrapper_create(NULL); if(!*out) return E_OUTOFMEMORY;