summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Reufer <thomas@reufer.ch>2015-04-25 18:43:08 +0200
committerThomas Reufer <thomas@reufer.ch>2015-04-25 18:43:08 +0200
commit91e19b446a85a50fa94682c1387389e215d1644c (patch)
tree7a4257463cdc4fb62d7fdbe0004a428041b3391a
parent355487443214ebe74ea49def9ac4749030f34660 (diff)
downloadvdr-plugin-rpihddevice-91e19b446a85a50fa94682c1387389e215d1644c.tar.gz
vdr-plugin-rpihddevice-91e19b446a85a50fa94682c1387389e215d1644c.tar.bz2
code clean up
-rw-r--r--omx.c21
-rw-r--r--omx.h4
-rw-r--r--omxdevice.c2
3 files changed, 9 insertions, 18 deletions
diff --git a/omx.c b/omx.c
index 62107c2..90ba7b2 100644
--- a/omx.c
+++ b/omx.c
@@ -649,25 +649,17 @@ void cOmx::StartClock(bool waitForVideo, bool waitForAudio)
cstate.eState = OMX_TIME_ClockStateRunning;
cstate.nOffset = ToOmxTicks(-1000LL * OMX_PRE_ROLL);
- if (waitForVideo && waitForAudio)
- {
- cstate.eState = OMX_TIME_ClockStateWaitingForStartTime;
- m_setAudioStartTime = true;
- m_setVideoStartTime = true;
- cstate.nWaitMask = OMX_CLOCKPORT0 | OMX_CLOCKPORT1;
- }
- else if (waitForVideo && !waitForAudio)
+ if (waitForVideo)
{
cstate.eState = OMX_TIME_ClockStateWaitingForStartTime;
m_setVideoStartTime = true;
- cstate.nWaitMask = OMX_CLOCKPORT0;
-
+ cstate.nWaitMask |= OMX_CLOCKPORT0;
}
- else if (!waitForVideo && waitForAudio)
+ if (waitForAudio)
{
cstate.eState = OMX_TIME_ClockStateWaitingForStartTime;
m_setAudioStartTime = true;
- cstate.nWaitMask = OMX_CLOCKPORT1;
+ cstate.nWaitMask |= OMX_CLOCKPORT1;
}
if (OMX_SetConfig(ILC_GET_HANDLE(m_comp[eClock]),
@@ -675,7 +667,7 @@ void cOmx::StartClock(bool waitForVideo, bool waitForAudio)
ELOG("failed to start clock!");
}
-void cOmx::StopClock()
+void cOmx::StopClock(void)
{
OMX_TIME_CONFIG_CLOCKSTATETYPE cstate;
OMX_INIT_STRUCT(cstate);
@@ -704,11 +696,10 @@ void cOmx::SetClockScale(OMX_S32 scale)
}
}
-void cOmx::SetCurrentReferenceTime(uint64_t pts)
+void cOmx::ResetClock(void)
{
OMX_TIME_CONFIG_TIMESTAMPTYPE timeStamp;
OMX_INIT_STRUCT(timeStamp);
- cOmx::PtsToTicks(pts, timeStamp.nTimestamp);
if (m_clockReference == eClockRefAudio || m_clockReference == eClockRefNone)
{
diff --git a/omx.h b/omx.h
index dda8eec..90d6542 100644
--- a/omx.h
+++ b/omx.h
@@ -48,11 +48,11 @@ public:
};
void StartClock(bool waitForVideo = false, bool waitForAudio = false);
- void StopClock();
+ void StopClock(void);
+ void ResetClock(void);
void SetClockScale(OMX_S32 scale);
bool IsClockFreezed(void) { return m_clockScale == 0; }
- void SetCurrentReferenceTime(uint64_t pts);
unsigned int GetAudioLatency(void);
enum eClockReference {
diff --git a/omxdevice.c b/omxdevice.c
index 61bde50..0201044 100644
--- a/omxdevice.c
+++ b/omxdevice.c
@@ -671,7 +671,7 @@ void cOmxDevice::FlushStreams(bool flushVideoRender)
if (m_hasAudio)
m_audio->Reset();
- m_omx->SetCurrentReferenceTime(0);
+ m_omx->ResetClock();
}
void cOmxDevice::SetVolumeDevice(int Volume)