diff options
author | Aleksoid <aleksoid@users.sourceforge.net> | 2012-03-13 03:22:01 +0400 |
---|---|---|
committer | Aleksoid <aleksoid@users.sourceforge.net> | 2012-03-13 03:22:01 +0400 |
commit | c756962c563dac093821cba13ed9475319c81cba (patch) | |
tree | 29ece63f3b4077830f6b203813df5922f8e34901 /src/filters/parser/MpegSplitter | |
parent | 5dd4e7b45af6999bd8320bb2bea2eb7bd7bdc898 (diff) |
Fix : MPEGSplitter - fix crash H.264 parser on packet without Nalu start code;
Change : update libav - take aac's file from ffmpeg;
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4141 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser/MpegSplitter')
-rw-r--r-- | src/filters/parser/MpegSplitter/MpegSplitter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/filters/parser/MpegSplitter/MpegSplitter.cpp b/src/filters/parser/MpegSplitter/MpegSplitter.cpp index b8b0b753e..c6efa7e2b 100644 --- a/src/filters/parser/MpegSplitter/MpegSplitter.cpp +++ b/src/filters/parser/MpegSplitter/MpegSplitter.cpp @@ -1794,6 +1794,11 @@ HRESULT CMpegSplitterOutputPin::DeliverPacket(CAutoPtr<Packet> p) p2->Append(*p3);
}
}
+ start = next;
+
+ if(!p2) {
+ continue;
+ }
p2->TrackNumber = m_p->TrackNumber;
p2->bDiscontinuity = m_p->bDiscontinuity;
@@ -1831,8 +1836,6 @@ HRESULT CMpegSplitterOutputPin::DeliverPacket(CAutoPtr<Packet> p) m_p->pmt = p->pmt;
p->pmt = NULL;
-
- start = next;
}
if (start > m_p->GetData()) {
m_p->RemoveAt(0, start - m_p->GetData());
|