[rbp/omxplayer] Handle sample rates below 8kHz
authorpopcornmix <popcornmix@gmail.com>
Thu, 28 Nov 2013 21:45:27 +0000 (21:45 +0000)
committerpopcornmix <popcornmix@gmail.com>
Thu, 28 Nov 2013 22:11:52 +0000 (22:11 +0000)
GPU requires sample rates above 8kHz, so limit the requested sample rate to 8kHz
(lower rates will be resampled)

xbmc/cores/omxplayer/OMXAudio.cpp

index 1834ac6..04749a8 100644 (file)
@@ -148,7 +148,7 @@ bool COMXAudio::PortSettingsChanged()
     // round up to power of 2
     m_pcm_output.nChannels = m_OutputChannels > 4 ? 8 : m_OutputChannels > 2 ? 4 : m_OutputChannels;
     /* limit samplerate (through resampling) if requested */
-    m_pcm_output.nSamplingRate = std::min((int)m_pcm_output.nSamplingRate, CSettings::Get().GetInt("audiooutput.samplerate"));
+    m_pcm_output.nSamplingRate = std::min(std::max((int)m_pcm_output.nSamplingRate, 8000), CSettings::Get().GetInt("audiooutput.samplerate"));
 
     m_pcm_output.nPortIndex = m_omx_mixer.GetOutputPort();
     omx_err = m_omx_mixer.SetParameter(OMX_IndexParamAudioPcm, &m_pcm_output);