diff options
author | Thomas Reufer <thomas@reufer.ch> | 2014-01-07 16:40:32 +0100 |
---|---|---|
committer | Thomas Reufer <thomas@reufer.ch> | 2014-01-07 16:40:32 +0100 |
commit | 88f137d194b1768344e954a1b1d35fb1fce03df9 (patch) | |
tree | b2b3a5293fe02ba30fe57f39ef3edc42d7ec7a04 /omx.h | |
parent | 4e710fc5c2bf2e2e33518eb3c537b7022085bda9 (diff) | |
download | vdr-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.h | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -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); |