quartz: Only query for event interface when there is a filtergraph.
Prevents a null pointer dereference.
This commit is contained in:
parent
e8705402a4
commit
3a9040c1f2
@ -568,16 +568,21 @@ static HRESULT WINAPI NullRenderer_InputPin_EndOfStream(IPin * iface)
|
|||||||
{
|
{
|
||||||
InputPin* This = (InputPin*)iface;
|
InputPin* This = (InputPin*)iface;
|
||||||
IMediaEventSink* pEventSink;
|
IMediaEventSink* pEventSink;
|
||||||
HRESULT hr;
|
IFilterGraph *graph;
|
||||||
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
TRACE("(%p/%p)->()\n", This, iface);
|
TRACE("(%p/%p)->()\n", This, iface);
|
||||||
|
|
||||||
InputPin_EndOfStream(iface);
|
InputPin_EndOfStream(iface);
|
||||||
hr = IFilterGraph_QueryInterface(((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink);
|
graph = ((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph;
|
||||||
if (SUCCEEDED(hr))
|
if (graph)
|
||||||
{
|
{
|
||||||
hr = IMediaEventSink_Notify(pEventSink, EC_COMPLETE, S_OK, 0);
|
hr = IFilterGraph_QueryInterface(((NullRendererImpl*)This->pin.pinInfo.pFilter)->filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink);
|
||||||
IMediaEventSink_Release(pEventSink);
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
hr = IMediaEventSink_Notify(pEventSink, EC_COMPLETE, S_OK, 0);
|
||||||
|
IMediaEventSink_Release(pEventSink);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user