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>2010-08-02 03:59:18 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2010-08-02 03:59:18 +0400
commit15a101c3d275e9eec33dc13183c6b8d42a409031 (patch)
tree9864fdf66b8600a62866ca72ffd87a0e9f366bfa /src/filters/parser
parent6eebd120acbb99fd6b60b68f64d9f7652b8f8c3a (diff)
Fix : Mpeg audio splitter;
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@2177 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser')
-rw-r--r--src/filters/parser/MpaSplitter/MpaSplitterFile.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/filters/parser/MpaSplitter/MpaSplitterFile.cpp b/src/filters/parser/MpaSplitter/MpaSplitterFile.cpp
index b1d103d01..42e329352 100644
--- a/src/filters/parser/MpaSplitter/MpaSplitterFile.cpp
+++ b/src/filters/parser/MpaSplitter/MpaSplitterFile.cpp
@@ -237,13 +237,14 @@ HRESULT CMpaSplitterFile::Init()
if(MP3_find)
{
+ __int64 startpos_mp3 = m_startpos;
while (m_mode == none)
{
- searchlen = min(m_endpos - m_startpos, 0x200);
- Seek(m_startpos);
+ searchlen = min(m_endpos - startpos_mp3, 0x200);
+ Seek(startpos_mp3);
// If we fail to see sync bytes, we reposition here and search again
- syncpos = m_startpos + searchlen;
+ syncpos = startpos_mp3 + searchlen;
// Check for a valid MPA header
if(Read(m_mpahdr, searchlen, true, &m_mt))
@@ -263,12 +264,13 @@ HRESULT CMpaSplitterFile::Init()
// If we have enough room to search for a valid header, then skip ahead and try again
if (m_endpos - syncpos >= 8)
- m_startpos = syncpos;
+ startpos_mp3 = syncpos;
else
break;
}
}
+ searchlen = min(m_endpos - m_startpos, m_startpos > 0 ? 0x200 : 7);
Seek(m_startpos);
if(m_mode == none && Read(m_aachdr, searchlen, &m_mt))