summaryrefslogtreecommitdiff
path: root/omx.h
diff options
context:
space:
mode:
authorThomas Reufer <thomas@reufer.ch>2014-01-07 16:34:03 +0100
committerThomas Reufer <thomas@reufer.ch>2014-01-07 16:34:03 +0100
commit2741f31236bfbe2087095af7320183cf863ae02e (patch)
tree10c84e913043b4dce9f7fde4cf0527850504042f /omx.h
parentdd9fbf38610934623869728d1b00904d15783480 (diff)
downloadvdr-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.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/omx.h b/omx.h
index 08c56b6..10efdce 100644
--- a/omx.h
+++ b/omx.h
@@ -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);
};