diff options
-rw-r--r-- | xbmc/linux/OMXClock.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/xbmc/linux/OMXClock.cpp b/xbmc/linux/OMXClock.cpp index 74362a3a7d..c3c991c0fd 100644 --- a/xbmc/linux/OMXClock.cpp +++ b/xbmc/linux/OMXClock.cpp @@ -282,6 +282,8 @@ void OMXClock::OMXSetClockPorts(OMX_TIME_CONFIG_CLOCKSTATETYPE *clock) if(!clock) return; + clock->nWaitMask = 0; + if(m_has_audio) { m_audio_start = true; @@ -290,7 +292,6 @@ void OMXClock::OMXSetClockPorts(OMX_TIME_CONFIG_CLOCKSTATETYPE *clock) else { m_audio_start = false; - clock->nWaitMask &= OMX_CLOCKPORT0; } if(m_has_video) @@ -301,7 +302,6 @@ void OMXClock::OMXSetClockPorts(OMX_TIME_CONFIG_CLOCKSTATETYPE *clock) else { m_video_start = false; - clock->nWaitMask &= OMX_CLOCKPORT1; } } @@ -353,6 +353,9 @@ bool OMXClock::OMXInitialize(bool has_video, bool has_audio) if(!m_omx_clock.Initialize((const std::string)componentName, OMX_IndexParamOtherInit)) return false; + m_omx_clock.DisableAllPorts(); + + /* if(!OMXSetReferenceClock(false)) return false; @@ -364,6 +367,7 @@ bool OMXClock::OMXInitialize(bool has_video, bool has_audio) omx_err = m_omx_clock.SetConfig(OMX_IndexConfigTimeClockState, &clock); if(omx_err != OMX_ErrorNone) CLog::Log(LOGWARNING, "OMXClock::OMXInitialize setting OMX_IndexConfigTimeClockState\n"); + */ return true; } @@ -618,8 +622,6 @@ bool OMXClock::OMXReset(bool lock /* = true */) if(lock) Lock(); - CLog::Log(LOGDEBUG, "OMXClock::OMXReset 0x%08x\n", m_omx_clock.GetState()); - m_audio_buffer = false; OMX_ERRORTYPE omx_err = OMX_ErrorNone; @@ -659,6 +661,9 @@ bool OMXClock::OMXReset(bool lock /* = true */) } } + CLog::Log(LOGDEBUG, "OMXClock::OMXReset audio / video : %d / %d start audio / video : %d / %d wait mask %d\n", + m_has_audio, m_has_video, m_audio_start, m_video_start, clock.nWaitMask); + if(lock) UnLock(); |