quartz: Tell filters to stop sending data when the chain is broken.

This commit is contained in:
Chris Robinson 2007-04-03 11:04:59 -07:00 committed by Alexandre Julliard
parent 9d41c2e694
commit 30abd4ed15

View file

@ -913,7 +913,10 @@ HRESULT OutputPin_SendSample(OutputPin * This, IMediaSample * pSample)
* then it causes some problems (most notably with the native Video
* Renderer) if we are re-entered for whatever reason */
hr = IMemInputPin_Receive(pMemConnected, pSample);
IBaseFilter_Release(pinInfo.pFilter);
/* If the filter's destroyed, tell upstream to stop sending data */
if(IBaseFilter_Release(pinInfo.pFilter) == 0 && SUCCEEDED(hr))
hr = S_FALSE;
}
if (pMemConnected)
IMemInputPin_Release(pMemConnected);