-- v6: wineoss: Use mmdevapi's AudioClient's QueryInterface. winecoreaudio: Use mmdevapi's AudioClient's QueryInterface. winealsa: Use mmdevapi's AudioClient's QueryInterface. winepulse: Move AudioClient's QueryInterface into mmdevapi. wineoss: Use mmdevapi's AudioClient's Release, AddRef. winecoreaudio: Use mmdevapi's AudioClient's Release, AddRef. winealsa: Use mmdevapi's AudioClient's Release, AddRef. winepulse: Move AudioClient's Release, AddRef into mmdevapi. winepulse: Refactor AudioClient's Release to match other drivers. winecoreaudio: Refactor AudioClient's Release to match other drivers.
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winecoreaudio.drv/mmdevdrv.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index b8c320563e6..764f9e83752 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -402,17 +402,17 @@ static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) ref = InterlockedDecrement(&This->ref); TRACE("(%p) Refcount now %lu\n", This, ref); if(!ref){ - if(This->stream){ - stream_release(This->stream, This->timer_thread); - This->stream = 0; - + IAudioClient3_Stop(iface); + IMMDevice_Release(This->parent); + IUnknown_Release(This->marshal); + if(This->session){ sessions_lock(); list_remove(&This->entry); sessions_unlock(); } free(This->vols); - IMMDevice_Release(This->parent); - IUnknown_Release(This->marshal); + if(This->stream) + stream_release(This->stream, This->timer_thread); HeapFree(GetProcessHeap(), 0, This); } return ref;
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winepulse.drv/mmdevdrv.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index 4631c5ab60e..9e233cb845e 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -423,15 +423,17 @@ static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) ref = InterlockedDecrement(&This->ref); TRACE("(%p) Refcount now %lu\n", This, ref); if (!ref) { - if (This->stream) { - stream_release(This->stream, This->timer_thread); - This->stream = 0; + IAudioClient3_Stop(iface); + IMMDevice_Release(This->parent); + IUnknown_Release(This->marshal); + if (This->session) { sessions_lock(); list_remove(&This->entry); sessions_unlock(); } - IUnknown_Release(This->marshal); - IMMDevice_Release(This->parent); + free(This->vols); + if (This->stream) + stream_release(This->stream, This->timer_thread); HeapFree(GetProcessHeap(), 0, This); } return ref;
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/mmdevapi/client.c | 36 +++++++++++++++++++++++++++++++++ dlls/winepulse.drv/mmdevdrv.c | 38 ++++------------------------------- 2 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/dlls/mmdevapi/client.c b/dlls/mmdevapi/client.c index 9ef508d8c47..bec3e440b7c 100644 --- a/dlls/mmdevapi/client.c +++ b/dlls/mmdevapi/client.c @@ -406,6 +406,42 @@ const IAudioCaptureClientVtbl AudioCaptureClient_Vtbl = capture_GetNextPacketSize };
+ULONG WINAPI client_AddRef(IAudioClient3 *iface) +{ + struct audio_client *This = impl_from_IAudioClient3(iface); + ULONG ref = InterlockedIncrement(&This->ref); + TRACE("(%p) Refcount now %lu\n", This, ref); + return ref; +} + +ULONG WINAPI client_Release(IAudioClient3 *iface) +{ + struct audio_client *This = impl_from_IAudioClient3(iface); + ULONG ref = InterlockedDecrement(&This->ref); + TRACE("(%p) Refcount now %lu\n", This, ref); + + if (!ref) { + IAudioClient3_Stop(iface); + IMMDevice_Release(This->parent); + IUnknown_Release(This->marshal); + + if (This->session) { + sessions_lock(); + list_remove(&This->entry); + sessions_unlock(); + } + + free(This->vols); + + if (This->stream) + stream_release(This->stream, This->timer_thread); + + HeapFree(GetProcessHeap(), 0, This); + } + + return ref; +} + HRESULT WINAPI client_Initialize(IAudioClient3 *iface, AUDCLNT_SHAREMODE mode, DWORD flags, REFERENCE_TIME duration, REFERENCE_TIME period, const WAVEFORMATEX *fmt, const GUID *sessionguid) diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index 9e233cb845e..cdf5920d985 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -131,8 +131,6 @@ extern const IAudioStreamVolumeVtbl AudioStreamVolume_Vtbl; extern struct audio_session_wrapper *session_wrapper_create( struct audio_client *client) DECLSPEC_HIDDEN;
-extern HRESULT stream_release(stream_handle stream, HANDLE timer_thread); - static inline ACImpl *impl_from_IAudioClient3(IAudioClient3 *iface) { return CONTAINING_RECORD(iface, ACImpl, IAudioClient3_iface); @@ -407,37 +405,9 @@ static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, return E_NOINTERFACE; }
-static ULONG WINAPI AudioClient_AddRef(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedIncrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - return ref; -} +extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
-static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedDecrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - if (!ref) { - IAudioClient3_Stop(iface); - IMMDevice_Release(This->parent); - IUnknown_Release(This->marshal); - if (This->session) { - sessions_lock(); - list_remove(&This->entry); - sessions_unlock(); - } - free(This->vols); - if (This->stream) - stream_release(This->stream, This->timer_thread); - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} +extern ULONG WINAPI client_Release(IAudioClient3 *iface);
static void session_init_vols(AudioSession *session, UINT channels) { @@ -578,8 +548,8 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface, static const IAudioClient3Vtbl AudioClient3_Vtbl = { AudioClient_QueryInterface, - AudioClient_AddRef, - AudioClient_Release, + client_AddRef, + client_Release, client_Initialize, client_GetBufferSize, client_GetStreamLatency,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winealsa.drv/mmdevdrv.c | 39 ++++-------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index cff2aff261d..fee1c196186 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -79,8 +79,6 @@ extern const IChannelAudioVolumeVtbl ChannelAudioVolume_Vtbl; extern struct audio_session_wrapper *session_wrapper_create( struct audio_client *client) DECLSPEC_HIDDEN;
-extern HRESULT stream_release(stream_handle stream, HANDLE timer_thread); - void DECLSPEC_HIDDEN sessions_lock(void) { EnterCriticalSection(&g_sessions_lock); @@ -390,38 +388,9 @@ static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, return E_NOINTERFACE; }
-static ULONG WINAPI AudioClient_AddRef(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedIncrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - return ref; -} +extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
-static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - - ref = InterlockedDecrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - if(!ref){ - IAudioClient3_Stop(iface); - IMMDevice_Release(This->parent); - IUnknown_Release(This->marshal); - if(This->session){ - sessions_lock(); - list_remove(&This->entry); - sessions_unlock(); - } - free(This->vols); - if (This->stream) - stream_release(This->stream, This->timer_thread); - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} +extern ULONG WINAPI client_Release(IAudioClient3 *iface);
static void session_init_vols(AudioSession *session, UINT channels) { @@ -562,8 +531,8 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface, static const IAudioClient3Vtbl AudioClient3_Vtbl = { AudioClient_QueryInterface, - AudioClient_AddRef, - AudioClient_Release, + client_AddRef, + client_Release, client_Initialize, client_GetBufferSize, client_GetStreamLatency,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winecoreaudio.drv/mmdevdrv.c | 38 ++++--------------------------- 1 file changed, 4 insertions(+), 34 deletions(-)
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index 764f9e83752..2762abb7552 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -73,8 +73,6 @@ static struct list g_sessions = LIST_INIT(g_sessions); extern struct audio_session_wrapper *session_wrapper_create( struct audio_client *client) DECLSPEC_HIDDEN;
-extern HRESULT stream_release(stream_handle stream, HANDLE timer_thread); - void DECLSPEC_HIDDEN sessions_lock(void) { EnterCriticalSection(&g_sessions_lock); @@ -386,37 +384,9 @@ static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, return E_NOINTERFACE; }
-static ULONG WINAPI AudioClient_AddRef(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedIncrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - return ref; -} +extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
-static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedDecrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - if(!ref){ - IAudioClient3_Stop(iface); - IMMDevice_Release(This->parent); - IUnknown_Release(This->marshal); - if(This->session){ - sessions_lock(); - list_remove(&This->entry); - sessions_unlock(); - } - free(This->vols); - if(This->stream) - stream_release(This->stream, This->timer_thread); - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} +extern ULONG WINAPI client_Release(IAudioClient3 *iface);
static void session_init_vols(AudioSession *session, UINT channels) { @@ -557,8 +527,8 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface, static const IAudioClient3Vtbl AudioClient3_Vtbl = { AudioClient_QueryInterface, - AudioClient_AddRef, - AudioClient_Release, + client_AddRef, + client_Release, client_Initialize, client_GetBufferSize, client_GetStreamLatency,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/wineoss.drv/mmdevdrv.c | 39 ++++--------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-)
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index 15e4308e67a..dabbb829b11 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -85,8 +85,6 @@ extern const IChannelAudioVolumeVtbl ChannelAudioVolume_Vtbl; extern struct audio_session_wrapper *session_wrapper_create( struct audio_client *client) DECLSPEC_HIDDEN;
-extern HRESULT stream_release(stream_handle stream, HANDLE timer_thread); - void DECLSPEC_HIDDEN sessions_lock(void) { EnterCriticalSection(&g_sessions_lock); @@ -367,38 +365,9 @@ static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, return E_NOINTERFACE; }
-static ULONG WINAPI AudioClient_AddRef(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - ref = InterlockedIncrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - return ref; -} +extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
-static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - ULONG ref; - - ref = InterlockedDecrement(&This->ref); - TRACE("(%p) Refcount now %lu\n", This, ref); - if(!ref){ - IAudioClient3_Stop(iface); - IMMDevice_Release(This->parent); - IUnknown_Release(This->marshal); - if(This->session){ - sessions_lock(); - list_remove(&This->entry); - sessions_unlock(); - } - free(This->vols); - if(This->stream) - stream_release(This->stream, This->timer_thread); - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} +extern ULONG WINAPI client_Release(IAudioClient3 *iface);
static void session_init_vols(AudioSession *session, UINT channels) { @@ -539,8 +508,8 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface, static const IAudioClient3Vtbl AudioClient3_Vtbl = { AudioClient_QueryInterface, - AudioClient_AddRef, - AudioClient_Release, + client_AddRef, + client_Release, client_Initialize, client_GetBufferSize, client_GetStreamLatency,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/mmdevapi/client.c | 25 +++++++++++++++++++++++++ dlls/winepulse.drv/mmdevdrv.c | 31 +++---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/dlls/mmdevapi/client.c b/dlls/mmdevapi/client.c index bec3e440b7c..8779ae1dc23 100644 --- a/dlls/mmdevapi/client.c +++ b/dlls/mmdevapi/client.c @@ -406,6 +406,31 @@ const IAudioCaptureClientVtbl AudioCaptureClient_Vtbl = capture_GetNextPacketSize };
+HRESULT WINAPI client_QueryInterface(IAudioClient3 *iface, REFIID riid, void **ppv) +{ + TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv); + + if (!ppv) + return E_POINTER; + + if (IsEqualIID(riid, &IID_IUnknown) || + IsEqualIID(riid, &IID_IAudioClient) || + IsEqualIID(riid, &IID_IAudioClient2) || + IsEqualIID(riid, &IID_IAudioClient3)) + *ppv = iface; + else if(IsEqualIID(riid, &IID_IMarshal)) { + struct audio_client *This = impl_from_IAudioClient3(iface); + return IUnknown_QueryInterface(This->marshal, riid, ppv); + } else { + *ppv = NULL; + return E_NOINTERFACE; + } + + IUnknown_AddRef((IUnknown *)*ppv); + + return S_OK; +} + ULONG WINAPI client_AddRef(IAudioClient3 *iface) { struct audio_client *This = impl_from_IAudioClient3(iface); diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index cdf5920d985..abde1c80b2a 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -377,33 +377,8 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, IAudioClient return S_OK; }
-static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, - REFIID riid, void **ppv) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - - TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv); - - if (!ppv) - return E_POINTER; - - *ppv = NULL; - if (IsEqualIID(riid, &IID_IUnknown) || - IsEqualIID(riid, &IID_IAudioClient) || - IsEqualIID(riid, &IID_IAudioClient2) || - IsEqualIID(riid, &IID_IAudioClient3)) - *ppv = iface; - if (*ppv) { - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; - } - - if (IsEqualIID(riid, &IID_IMarshal)) - return IUnknown_QueryInterface(This->marshal, riid, ppv); - - WARN("Unknown interface %s\n", debugstr_guid(riid)); - return E_NOINTERFACE; -} +extern HRESULT WINAPI client_QueryInterface(IAudioClient3 *iface, + REFIID riid, void **ppv);
extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
@@ -547,7 +522,7 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface,
static const IAudioClient3Vtbl AudioClient3_Vtbl = { - AudioClient_QueryInterface, + client_QueryInterface, client_AddRef, client_Release, client_Initialize,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winealsa.drv/mmdevdrv.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index fee1c196186..507613e71ad 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -363,30 +363,8 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, IAudioClient return S_OK; }
-static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, - REFIID riid, void **ppv) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv); - - if(!ppv) - return E_POINTER; - *ppv = NULL; - if(IsEqualIID(riid, &IID_IUnknown) || - IsEqualIID(riid, &IID_IAudioClient) || - IsEqualIID(riid, &IID_IAudioClient2) || - IsEqualIID(riid, &IID_IAudioClient3)) - *ppv = iface; - else if(IsEqualIID(riid, &IID_IMarshal)) - return IUnknown_QueryInterface(This->marshal, riid, ppv); - - if(*ppv){ - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; - } - WARN("Unknown interface %s\n", debugstr_guid(riid)); - return E_NOINTERFACE; -} +extern HRESULT WINAPI client_QueryInterface(IAudioClient3 *iface, + REFIID riid, void **ppv);
extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
@@ -530,7 +508,7 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface,
static const IAudioClient3Vtbl AudioClient3_Vtbl = { - AudioClient_QueryInterface, + client_QueryInterface, client_AddRef, client_Release, client_Initialize,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/winecoreaudio.drv/mmdevdrv.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-)
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index 2762abb7552..f4e3416dcc6 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -359,30 +359,8 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, IAudioClient return S_OK; }
-static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, - REFIID riid, void **ppv) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv); - - if(!ppv) - return E_POINTER; - *ppv = NULL; - if(IsEqualIID(riid, &IID_IUnknown) || - IsEqualIID(riid, &IID_IAudioClient) || - IsEqualIID(riid, &IID_IAudioClient2) || - IsEqualIID(riid, &IID_IAudioClient3)) - *ppv = iface; - else if(IsEqualIID(riid, &IID_IMarshal)) - return IUnknown_QueryInterface(This->marshal, riid, ppv); - - if(*ppv){ - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; - } - WARN("Unknown interface %s\n", debugstr_guid(riid)); - return E_NOINTERFACE; -} +extern HRESULT WINAPI client_QueryInterface(IAudioClient3 *iface, + REFIID riid, void **ppv);
extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
@@ -526,7 +504,7 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface,
static const IAudioClient3Vtbl AudioClient3_Vtbl = { - AudioClient_QueryInterface, + client_QueryInterface, client_AddRef, client_Release, client_Initialize,
From: Davide Beatrici git@davidebeatrici.dev
--- dlls/wineoss.drv/mmdevdrv.c | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-)
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index dabbb829b11..48c600b089f 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -341,29 +341,8 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, return S_OK; }
-static HRESULT WINAPI AudioClient_QueryInterface(IAudioClient3 *iface, - REFIID riid, void **ppv) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv); - - if(!ppv) - return E_POINTER; - *ppv = NULL; - if(IsEqualIID(riid, &IID_IUnknown) || - IsEqualIID(riid, &IID_IAudioClient) || - IsEqualIID(riid, &IID_IAudioClient2) || - IsEqualIID(riid, &IID_IAudioClient3)) - *ppv = iface; - else if(IsEqualIID(riid, &IID_IMarshal)) - return IUnknown_QueryInterface(This->marshal, riid, ppv); - if(*ppv){ - IUnknown_AddRef((IUnknown*)*ppv); - return S_OK; - } - WARN("Unknown interface %s\n", debugstr_guid(riid)); - return E_NOINTERFACE; -} +extern HRESULT WINAPI client_QueryInterface(IAudioClient3 *iface, + REFIID riid, void **ppv);
extern ULONG WINAPI client_AddRef(IAudioClient3 *iface);
@@ -507,7 +486,7 @@ extern HRESULT WINAPI client_InitializeSharedAudioStream(IAudioClient3 *iface,
static const IAudioClient3Vtbl AudioClient3_Vtbl = { - AudioClient_QueryInterface, + client_QueryInterface, client_AddRef, client_Release, client_Initialize,
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=134187
Your paranoid android.
=== debian11b (build log) ===
error: patch failed: dlls/winecoreaudio.drv/mmdevdrv.c:402 error: patch failed: dlls/mmdevapi/client.c:406 error: patch failed: dlls/winepulse.drv/mmdevdrv.c:131 error: patch failed: dlls/winealsa.drv/mmdevdrv.c:79 error: patch failed: dlls/winecoreaudio.drv/mmdevdrv.c:73 error: patch failed: dlls/wineoss.drv/mmdevdrv.c:85 error: patch failed: dlls/mmdevapi/client.c:406 error: patch failed: dlls/winepulse.drv/mmdevdrv.c:377 error: patch failed: dlls/winealsa.drv/mmdevdrv.c:363 error: patch failed: dlls/winecoreaudio.drv/mmdevdrv.c:359 error: patch failed: dlls/wineoss.drv/mmdevdrv.c:341 Task: Patch failed to apply
This merge request was approved by Huw Davies.