Commit 5757a07f authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

strmbase: Add a callback to expose renderer pin interfaces.

parent 94efc8b2
...@@ -220,6 +220,11 @@ static HRESULT sink_query_accept(struct strmbase_pin *pin, const AM_MEDIA_TYPE * ...@@ -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) static HRESULT sink_query_interface(struct strmbase_pin *iface, REFIID iid, void **out)
{ {
BaseRenderer *filter = impl_from_IPin(&iface->IPin_iface); 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)) if (IsEqualGUID(iid, &IID_IMemInputPin))
*out = &filter->sink.IMemInputPin_iface; *out = &filter->sink.IMemInputPin_iface;
......
...@@ -574,6 +574,7 @@ typedef struct BaseRendererFuncTable { ...@@ -574,6 +574,7 @@ typedef struct BaseRendererFuncTable {
BaseRenderer_EndFlush pfnEndFlush; BaseRenderer_EndFlush pfnEndFlush;
void (*renderer_destroy)(BaseRenderer *iface); void (*renderer_destroy)(BaseRenderer *iface);
HRESULT (*renderer_query_interface)(BaseRenderer *iface, REFIID iid, void **out); HRESULT (*renderer_query_interface)(BaseRenderer *iface, REFIID iid, void **out);
HRESULT (*renderer_pin_query_interface)(BaseRenderer *iface, REFIID iid, void **out);
} BaseRendererFuncTable; } BaseRendererFuncTable;
HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSample); HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSample);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment