From c45c78aa9010dbb3bb6bdf5aad35713c04f6daea Mon Sep 17 00:00:00 2001 From: Aleksoid Date: Mon, 21 Nov 2011 06:28:32 +0000 Subject: Fix : issue with black screen on Haali render at file open, thanks to judelaw; git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@3846 10f7b99b-c216-0410-bff0-8a66a9350fd8 --- src/filters/parser/BaseSplitter/BaseSplitter.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/filters/parser/BaseSplitter/BaseSplitter.cpp') diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.cpp b/src/filters/parser/BaseSplitter/BaseSplitter.cpp index 9913c7a75..589dd2d2f 100644 --- a/src/filters/parser/BaseSplitter/BaseSplitter.cpp +++ b/src/filters/parser/BaseSplitter/BaseSplitter.cpp @@ -447,7 +447,18 @@ DWORD CBaseSplitterOutputPin::ThreadProc() m_eEndFlush.Set(); // fix for Microsoft DTV-DVD Video Decoder - video freeze after STOP/PLAY - if(IsConnected()) { + bool iHaaliRenderConnect = false; + CComPtr pPinTo = this, pTmp; + while(pPinTo && SUCCEEDED(pPinTo->ConnectedTo(&pTmp)) && (pPinTo = pTmp)) { + pTmp = NULL; + CComPtr pBF = GetFilterFromPin(pPinTo); + if(GetCLSID(pBF) == CLSID_DXR) { // Haali Renderer + iHaaliRenderConnect = true; + break; + } + pPinTo = GetFirstPin(pBF, PINDIR_OUTPUT); + } + if(IsConnected() && !iHaaliRenderConnect) { GetConnected()->BeginFlush(); GetConnected()->EndFlush(); } -- cgit v1.2.3