diff options
author | Thomas Reufer <thomas@reufer.ch> | 2014-01-07 16:34:03 +0100 |
---|---|---|
committer | Thomas Reufer <thomas@reufer.ch> | 2014-01-07 16:34:03 +0100 |
commit | 2741f31236bfbe2087095af7320183cf863ae02e (patch) | |
tree | 10c84e913043b4dce9f7fde4cf0527850504042f /omx.h | |
parent | dd9fbf38610934623869728d1b00904d15783480 (diff) | |
download | vdr-plugin-rpihddevice-0.0.6.tar.gz vdr-plugin-rpihddevice-0.0.6.tar.bz2 |
2013-12-15: Version 0.0.60.0.6
-------------------------
- new:
- still picture
- trick speeds
- fixed:
- reworked audio detection and decoding, fixed several issues
- reworked stream starting behavior, fixed audio-/video-only play back
- fixed several issues with unsupported video codec (e.g. without MPEG2 key)
- improved fast forward/reverse mode
- several minor bugfixes
- missing:
- deinterlacer
- image grabbing
- video format/output options
Diffstat (limited to 'omx.h')
-rw-r--r-- | omx.h | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -44,7 +44,8 @@ public: void SetClockState(eClockState clockState); void SetClockScale(float scale); - void SetMediaTime(uint64_t pts); + void SetStartTime(uint64_t pts); + void SetCurrentReferenceTime(uint64_t pts); unsigned int GetMediaTime(void); enum eClockReference { @@ -55,14 +56,25 @@ public: void SetClockReference(eClockReference clockReference); void SetVolume(int vol); void SendEos(void); - void Stop(void); + void StopVideo(void); + void StopAudio(void); + + enum eDataUnitType { + eCodedPicture, + eArbitraryStreamSection + }; + + void SetVideoDataUnitType(eDataUnitType dataUnitType); + void SetVideoErrorConcealment(bool startWithValidFrame); + void SetVideoDecoderExtraBuffers(int extraBuffers); void FlushAudio(void); void FlushVideo(bool flushRender = false); - int SetVideoCodec(cVideoCodec::eCodec codec); + int SetVideoCodec(cVideoCodec::eCodec codec, + eDataUnitType dataUnit = eArbitraryStreamSection); int SetupAudioRender(cAudioCodec::eCodec outputFormat, - int channels, int samplingRate, cAudioPort::ePort audioPort); + int channels, cAudioPort::ePort audioPort, int samplingRate = 0); OMX_BUFFERHEADERTYPE* GetAudioBuffer(uint64_t pts = 0); OMX_BUFFERHEADERTYPE* GetVideoBuffer(uint64_t pts = 0); @@ -99,8 +111,8 @@ private: cMutex *m_mutex; - bool m_setVideoStartTime; bool m_setAudioStartTime; + bool m_setVideoStartTime; bool m_setVideoDiscontinuity; int m_freeAudioBuffers; @@ -113,9 +125,9 @@ private: void HandleBufferEmpty(COMPONENT_T *comp); static void OnBufferEmpty(void *instance, COMPONENT_T *comp); - static void OnPortSettingsChanged(void *instance, COMPONENT_T *comp, unsigned int data); - static void OnEndOfStream(void *instance, COMPONENT_T *comp, unsigned int data); - static void OnError(void *instance, COMPONENT_T *comp, unsigned int data); + static void OnPortSettingsChanged(void *instance, COMPONENT_T *comp, OMX_U32 data); + static void OnEndOfStream(void *instance, COMPONENT_T *comp, OMX_U32 data); + static void OnError(void *instance, COMPONENT_T *comp, OMX_U32 data); }; |