Zebediah Figura : strmbase: Add a callback to expose renderer pin interfaces.
Alexandre Julliard
julliard at winehq.org
Wed Oct 2 17:47:37 CDT 2019
Module: wine
Branch: master
Commit: 5757a07fc20d95d146617377700aaff96d0fb6b9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5757a07fc20d95d146617377700aaff96d0fb6b9
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Tue Oct 1 22:43:12 2019 -0500
strmbase: Add a callback to expose renderer pin interfaces.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/strmbase/renderer.c | 5 +++++
include/wine/strmbase.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c
index 1de974a909..25534154e9 100644
--- a/dlls/strmbase/renderer.c
+++ b/dlls/strmbase/renderer.c
@@ -220,6 +220,11 @@ static HRESULT sink_query_accept(struct strmbase_pin *pin, const AM_MEDIA_TYPE *
static HRESULT sink_query_interface(struct strmbase_pin *iface, REFIID iid, void **out)
{
BaseRenderer *filter = impl_from_IPin(&iface->IPin_iface);
+ HRESULT hr;
+
+ if (filter->pFuncsTable->renderer_pin_query_interface
+ && SUCCEEDED(hr = filter->pFuncsTable->renderer_pin_query_interface(filter, iid, out)))
+ return hr;
if (IsEqualGUID(iid, &IID_IMemInputPin))
*out = &filter->sink.IMemInputPin_iface;
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h
index 6a358decfc..5eaf204f47 100644
--- a/include/wine/strmbase.h
+++ b/include/wine/strmbase.h
@@ -574,6 +574,7 @@ typedef struct BaseRendererFuncTable {
BaseRenderer_EndFlush pfnEndFlush;
void (*renderer_destroy)(BaseRenderer *iface);
HRESULT (*renderer_query_interface)(BaseRenderer *iface, REFIID iid, void **out);
+ HRESULT (*renderer_pin_query_interface)(BaseRenderer *iface, REFIID iid, void **out);
} BaseRendererFuncTable;
HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSample);
More information about the wine-cvs
mailing list