[rbp/omxplayer] Make sure swr resampler gets reinited when channel count changes
authorpopcornmix <popcornmix@gmail.com>
Thu, 30 May 2013 00:33:34 +0000 (01:33 +0100)
committerpopcornmix <popcornmix@gmail.com>
Thu, 30 May 2013 00:33:34 +0000 (01:33 +0100)
Just like #2795.

xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp

index afb509d..5b5e13d 100644 (file)
@@ -212,7 +212,7 @@ int COMXAudioCodecOMX::Decode(BYTE* pData, int iSize)
 
   if(m_pCodecContext->sample_fmt != AV_SAMPLE_FMT_S16 && m_iBufferSize1 > 0)
   {
-    if(m_pConvert && m_pCodecContext->sample_fmt != m_iSampleFormat)
+    if(m_pConvert && (m_pCodecContext->sample_fmt != m_iSampleFormat || m_channels != m_pCodecContext->channels))
       m_dllSwResample.swr_free(&m_pConvert);
 
     if(!m_pConvert)