aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgimli <ebsi4711@gmail.com>2012-12-05 22:15:10 +0100
committergimli <ebsi4711@gmail.com>2012-12-05 22:15:10 +0100
commitdc499a2c4f89effb8248bc26070bbe16e159a14a (patch)
tree249fb67575f1374d7845e3c48f1b8fe83ab8b884
parent2dab08e53bde7caea7f2d2ebcd5a0efeb22e7cb7 (diff)
[rbp] fixed omx clock mast setting.
-rw-r--r--xbmc/linux/OMXClock.cpp19
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);