summaryrefslogtreecommitdiff
path: root/omx.h
diff options
context:
space:
mode:
authorThomas Reufer <thomas@reufer.ch>2014-01-07 16:40:32 +0100
committerThomas Reufer <thomas@reufer.ch>2014-01-07 16:40:32 +0100
commit88f137d194b1768344e954a1b1d35fb1fce03df9 (patch)
treeb2b3a5293fe02ba30fe57f39ef3edc42d7ec7a04 /omx.h
parent4e710fc5c2bf2e2e33518eb3c537b7022085bda9 (diff)
downloadvdr-plugin-rpihddevice-0.0.7.tar.gz
vdr-plugin-rpihddevice-0.0.7.tar.bz2
2013-12-30: Version 0.0.70.0.7
------------------------- - new: - support audio sampling rates other than 48kHz - changed setting of trick speed with APIVERSNUM >= 20103 - added deinterlacer - fixed: - improved audio parser - fixed still image for H264 video - mute audio render if volume is set to zero - missing: - image grabbing - video format/output options
Diffstat (limited to 'omx.h')
-rw-r--r--omx.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/omx.h b/omx.h
index 10efdce..d442d50 100644
--- a/omx.h
+++ b/omx.h
@@ -7,6 +7,8 @@
#ifndef OMX_H
#define OMX_H
+#include <queue>
+#include <vdr/thread.h>
#include "types.h"
extern "C"
@@ -14,9 +16,7 @@ extern "C"
#include "ilclient.h"
}
-class cMutex;
-
-class cOmx
+class cOmx : public cThread
{
public:
@@ -55,6 +55,7 @@ public:
void SetClockReference(eClockReference clockReference);
void SetVolume(int vol);
+ void SetMute(bool mute);
void SendEos(void);
void StopVideo(void);
void StopAudio(void);
@@ -86,11 +87,14 @@ public:
private:
+ virtual void Action(void);
+
static const char* errStr(int err);
enum eOmxComponent {
eClock = 0,
eVideoDecoder,
+ eVideoFx,
eVideoScheduler,
eVideoRender,
eAudioRender,
@@ -98,7 +102,8 @@ private:
};
enum eOmxTunnel {
- eVideoDecoderToVideoScheduler = 0,
+ eVideoDecoderToVideoFx = 0,
+ eVideoFxToVideoScheduler,
eVideoSchedulerToVideoRender,
eClockToVideoScheduler,
eClockToAudioRender,
@@ -120,9 +125,9 @@ private:
eClockReference m_clockReference;
- void HandleEndOfStream(unsigned int portId);
+ cCondWait *m_portEventReady;
+ std::queue<unsigned int> *m_portEvents;
void HandlePortSettingsChanged(unsigned int portId);
- void HandleBufferEmpty(COMPONENT_T *comp);
static void OnBufferEmpty(void *instance, COMPONENT_T *comp);
static void OnPortSettingsChanged(void *instance, COMPONENT_T *comp, OMX_U32 data);