diff --git a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp index 3d6a3e43cbdda..4ef399cccee34 100644 --- a/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp +++ b/xbmc/cores/AudioRenderers/CoreAudioRenderer.cpp @@ -475,6 +475,16 @@ bool CCoreAudioRenderer::Initialize(IAudioCallback* pCallback, const CStdString& // If this is a passthrough (AC3/DTS) stream, attempt to handle it natively if (bPassthrough) { + if (g_guiSettings.GetBool("videoplayer.adjustrefreshrate")) + { + int delay = g_guiSettings.GetInt("videoplayer.pauseafterrefreshchange"); + if (delay < 2) + delay += 20; + CLog::Log(LOGDEBUG, "CoreAudioRenderer::Initialize: " + "delay(%d seconds) audio init for adjust refresh rate when passthrough", + delay/10); + Sleep(delay * 100); + } m_Passthrough = InitializeEncoded(outputDevice, uiSamplesPerSec); // TODO: wait for audio device startup Sleep(100);