Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksoid <aleksoid@users.sourceforge.net>2011-10-31 14:05:07 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2011-10-31 14:05:07 +0400
commitec5813234bcb09e487b90c79b3b06fb9e6107845 (patch)
tree6a384fea2928bdf81778b68a2dd7f9772997509c /src/filters/parser/MpegSplitter
parent3a228a4df1a0999f3126f991e7efdd01312143c5 (diff)
Change : Disable C4067 warning;
Fix : MPEGSplitter - correct calculate duration on stream with abnormal pts/dts value; Small speed optimization at opening the file; git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@3798 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser/MpegSplitter')
-rw-r--r--src/filters/parser/MpegSplitter/MpegSplitterFile.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/filters/parser/MpegSplitter/MpegSplitterFile.cpp b/src/filters/parser/MpegSplitter/MpegSplitterFile.cpp
index 7fc143db7..43099bda0 100644
--- a/src/filters/parser/MpegSplitter/MpegSplitterFile.cpp
+++ b/src/filters/parser/MpegSplitter/MpegSplitterFile.cpp
@@ -413,7 +413,7 @@ HRESULT CMpegSplitterFile::SearchStreams(__int64 start, __int64 stop, IAsyncRead
}
if(h2.fpts && CalcDuration && GetMasterStream() && GetMasterStream()->GetHead() == h.pid) {
- if(m_rtMin == _I64_MAX) {
+ if((m_rtMin == _I64_MAX) || (m_rtMin > h2.pts)) {
m_rtMin = h2.pts;
m_posMin = GetPos();
TRACE ("m_rtMin(SearchStreams)=%S, PID=%d\n", ReftimeToString(m_rtMin), h.pid);
@@ -440,14 +440,15 @@ HRESULT CMpegSplitterFile::SearchStreams(__int64 start, __int64 stop, IAsyncRead
}
}
}
- //TRACE ("m_rtMax(SearchStreams)=%S\n", ReftimeToString(m_rtMax));
}
}
} else {
b = 0;
}
- AddStream(h.pid, b, DWORD(h.bytes - (GetPos() - pos)));
+ if(!CalcDuration) {
+ AddStream(h.pid, b, DWORD(h.bytes - (GetPos() - pos)));
+ }
}
Seek(h.next);