Commit b3c4d6ee authored by Chris Robinson's avatar Chris Robinson Committed by Alexandre Julliard

quartz: Remove errant parser output pins on input connection failure.

parent 4eea356e
......@@ -762,13 +762,32 @@ static HRESULT WINAPI Parser_InputPin_Disconnect(IPin * iface)
return hr;
}
HRESULT WINAPI Parser_PullPin_ReceiveConnection(IPin * iface, IPin * pReceivePin, const AM_MEDIA_TYPE * pmt)
{
HRESULT hr;
TRACE("()\n");
hr = PullPin_ReceiveConnection(iface, pReceivePin, pmt);
if (FAILED(hr))
{
IPinImpl *This = (IPinImpl *)iface;
EnterCriticalSection(This->pCritSec);
Parser_RemoveOutputPins((ParserImpl *)This->pinInfo.pFilter);
LeaveCriticalSection(This->pCritSec);
}
return hr;
}
static const IPinVtbl Parser_InputPin_Vtbl =
{
PullPin_QueryInterface,
IPinImpl_AddRef,
PullPin_Release,
OutputPin_Connect,
PullPin_ReceiveConnection,
Parser_PullPin_ReceiveConnection,
Parser_InputPin_Disconnect,
IPinImpl_ConnectedTo,
IPinImpl_ConnectionMediaType,
......
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