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
path: root/src
diff options
context:
space:
mode:
authorAleksoid <aleksoid@users.sourceforge.net>2012-04-08 12:11:54 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2012-04-08 12:11:54 +0400
commit30067f9222c5313683bcae7ccbe3b28ede70141c (patch)
tree762c2376ac2907bc02fdb270f281451568270696 /src
parentcb5c8bee3a1fc14c93b31670c927e8e549a2668a (diff)
Fix : MPCVideoDec - crash on RV30/40 when no input data from splitter; thanks v0lt for sample and test;
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4290 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src')
-rw-r--r--src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
index 177c54b8e..1934bf317 100644
--- a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
+++ b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp
@@ -1757,7 +1757,7 @@ HRESULT CMPCVideoDecFilter::SoftwareDecode(IMediaSample* pIn, BYTE* pDataIn, int
} else if ((m_nCodecId == CODEC_ID_RV10 || m_nCodecId == CODEC_ID_RV20) && m_pFrame->pict_type == AV_PICTURE_TYPE_B) {
rtStart = m_rtPrevStop;
rtStop = rtStart + m_rtAvrTimePerFrame;
- } else if (m_nCodecId == CODEC_ID_RV30 || m_nCodecId == CODEC_ID_RV40) {
+ } else if ((m_nCodecId == CODEC_ID_RV30 || m_nCodecId == CODEC_ID_RV40) && avpkt.data) {
rtStart = (rtStart == _I64_MIN) ? m_rtPrevStop : (10000i64*process_rv_timestamp(&rm, m_nCodecId, avpkt.data, (rtStart + m_rtStart)/10000) - m_rtStart);
rtStop = rtStart + m_rtAvrTimePerFrame;
} else if (!(m_nCodecId == CODEC_ID_VC1 && m_bFrame_repeat_pict && m_rtAvrTimePerFrame == 333666)) {