From a10963ce13db397ee17981723d36710c40bdcf22 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Mon, 31 Mar 2014 00:00:28 +0100 Subject: [PATCH] Bugfix in InputStream: add check for input format --- source/app/InputStream.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source/app/InputStream.cpp b/source/app/InputStream.cpp index 2a5235a..25f4897 100755 --- a/source/app/InputStream.cpp +++ b/source/app/InputStream.cpp @@ -180,8 +180,9 @@ Bool InputStream::open( QString filename, UInt width, UInt height, Int input_for } #endif - if( m_uiWidth <= 0 || m_uiHeight <= 0 ) + if( m_uiWidth <= 0 || m_uiHeight <= 0 || m_iPixelFormat < 0 ) { + close(); return m_bInit; } @@ -189,6 +190,11 @@ Bool InputStream::open( QString filename, UInt width, UInt height, Int input_for for( UInt i = 0; i < m_uiFrameBufferSize; i++ ) { m_ppcFrameBuffer[i] = new PlaYUVerFrame( m_uiWidth, m_uiHeight, m_iPixelFormat ); + if( !m_ppcFrameBuffer[i] ) + { + close(); + return m_bInit; + } } m_uiFrameBufferIndex = 0; m_pcCurrFrame = m_pcNextFrame = m_ppcFrameBuffer[m_uiFrameBufferIndex]; @@ -246,7 +252,8 @@ Void InputStream::close() { for( UInt i = 0; i < m_uiFrameBufferSize; i++ ) { - delete m_ppcFrameBuffer[i]; + if( m_ppcFrameBuffer[i] ) + delete m_ppcFrameBuffer[i]; } freeMem1D( m_ppcFrameBuffer ); }