From ee59ae3c6c456dc16f683c62477fc7d89ee567e9 Mon Sep 17 00:00:00 2001 From: Aleksoid Date: Wed, 7 Mar 2012 03:28:24 +0000 Subject: Update : modify rev.4128, thanks LAV for his part of the code; git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4130 10f7b99b-c216-0410-bff0-8a66a9350fd8 --- src/filters/parser/BaseSplitter/BaseSplitter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (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 76643787f..384fe0257 100644 --- a/src/filters/parser/BaseSplitter/BaseSplitter.cpp +++ b/src/filters/parser/BaseSplitter/BaseSplitter.cpp @@ -30,7 +30,7 @@ #define MINPACKETS 100 // Beliyaal: Changed the min number of packets to allow Bluray playback over network #define MINPACKETSIZE 256*1024 // Beliyaal: Changed the min packet size to allow Bluray playback over network #define MAXPACKETS 10000 -#define MAXPACKETSIZE 1024*1024*5 +#define MAXPACKETSIZE 1024*1024*256 // // CPacketQueue @@ -399,7 +399,9 @@ HRESULT CBaseSplitterOutputPin::QueuePacket(CAutoPtr p) return S_FALSE; } - while (S_OK == m_hrDeliver && (!(static_cast(m_pFilter))->IsAnyPinDrying() || m_queue.GetSize() > MAXPACKETSIZE*100)) { + while(S_OK == m_hrDeliver + && ((m_queue.GetCount() > 2*MAXPACKETS || m_queue.GetSize() > (MAXPACKETSIZE*3/2)) + || ((m_queue.GetCount() > MAXPACKETS || m_queue.GetSize() > MAXPACKETSIZE) && !(static_cast(m_pFilter))->IsAnyPinDrying()))) { Sleep(10); } -- cgit v1.2.3