diff options
author | Aleksoid <aleksoid@users.sourceforge.net> | 2012-03-07 07:28:24 +0400 |
---|---|---|
committer | Aleksoid <aleksoid@users.sourceforge.net> | 2012-03-07 07:28:24 +0400 |
commit | ee59ae3c6c456dc16f683c62477fc7d89ee567e9 (patch) | |
tree | b32f05686db27ede5b851d7d72b3720589fc1fd3 /src/filters | |
parent | fbb4d816eb08495b28153e7796029096b429ea74 (diff) |
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
Diffstat (limited to 'src/filters')
-rw-r--r-- | src/filters/parser/BaseSplitter/BaseSplitter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
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<Packet> p) return S_FALSE;
}
- while (S_OK == m_hrDeliver && (!(static_cast<CBaseSplitterFilter*>(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<CBaseSplitterFilter*>(m_pFilter))->IsAnyPinDrying()))) {
Sleep(10);
}
|