From 04d24012e15079da8099a0b89392f87dff334051 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 9 Jun 2013 13:45:48 +0200 Subject: [PATCH] Prevent crashing the emu in stepVideo when things have gone very wrong. --- Core/HW/MediaEngine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Core/HW/MediaEngine.cpp b/Core/HW/MediaEngine.cpp index d6818c4ca1..39480e929d 100644 --- a/Core/HW/MediaEngine.cpp +++ b/Core/HW/MediaEngine.cpp @@ -332,7 +332,7 @@ bool MediaEngine::setVideoDim(int width, int height) void MediaEngine::updateSwsFormat(int videoPixelMode) { #ifdef USE_FFMPEG AVPixelFormat swsDesired = getSwsFormat(videoPixelMode); - if (swsDesired != m_sws_fmt) { + if (swsDesired != m_sws_fmt && m_pCodecCtx != 0) { m_sws_fmt = swsDesired; m_sws_ctx = sws_getCachedContext ( @@ -353,6 +353,10 @@ void MediaEngine::updateSwsFormat(int videoPixelMode) { } bool MediaEngine::stepVideo(int videoPixelMode) { + if (!m_pFormatCtx) + return false; + if (!m_pCodecCtx) + return false; // if video engine is broken, force to add timestamp m_videopts += 3003;