diff options
author | gimli <ebsi4711@gmail.com> | 2012-12-05 22:15:10 +0100 |
---|---|---|
committer | gimli <ebsi4711@gmail.com> | 2012-12-05 22:15:10 +0100 |
commit | dc499a2c4f89effb8248bc26070bbe16e159a14a (patch) | |
tree | 249fb67575f1374d7845e3c48f1b8fe83ab8b884 | |
parent | 2dab08e53bde7caea7f2d2ebcd5a0efeb22e7cb7 (diff) |
[rbp] fixed omx clock mast setting.
-rw-r--r-- | xbmc/linux/OMXClock.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/xbmc/linux/OMXClock.cpp b/xbmc/linux/OMXClock.cpp index 525081e9f7..74362a3a7d 100644 --- a/xbmc/linux/OMXClock.cpp +++ b/xbmc/linux/OMXClock.cpp @@ -287,12 +287,22 @@ void OMXClock::OMXSetClockPorts(OMX_TIME_CONFIG_CLOCKSTATETYPE *clock) m_audio_start = true; clock->nWaitMask |= OMX_CLOCKPORT0; } + else + { + m_audio_start = false; + clock->nWaitMask &= OMX_CLOCKPORT0; + } if(m_has_video) { m_video_start = true; clock->nWaitMask |= OMX_CLOCKPORT1; } + else + { + m_video_start = false; + clock->nWaitMask &= OMX_CLOCKPORT1; + } } bool OMXClock::OMXSetReferenceClock(bool lock /* = true */) @@ -623,6 +633,15 @@ bool OMXClock::OMXReset(bool lock /* = true */) OMX_TIME_CONFIG_CLOCKSTATETYPE clock; OMX_INIT_STRUCTURE(clock); + omx_err = m_omx_clock.GetConfig(OMX_IndexConfigTimeClockState, &clock); + if(omx_err != OMX_ErrorNone) + { + CLog::Log(LOGERROR, "OMXClock::OMXReset error getting OMX_IndexConfigTimeClockState\n"); + if(lock) + UnLock(); + return false; + } + clock.eState = OMX_TIME_ClockStateWaitingForStartTime; //clock.nOffset = ToOMXTime(-1000LL * 200); |