Zebediah Figura : strmbase: Add a callback to expose renderer pin interfaces.
Module: wine Branch: master Commit: 5757a07fc20d95d146617377700aaff96d0fb6b9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=5757a07fc20d95d1466173777... Author: Zebediah Figura <z.figura12(a)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(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)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);
participants (1)
-
Alexandre Julliard