Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
OMXPlayerVideo Class Reference

#include <OMXPlayerVideo.h>

Inheritance diagram for OMXPlayerVideo:
CThread IDVDStreamPlayerVideo IDVDStreamPlayer

Public Member Functions

 OMXPlayerVideo (OMXClock *av_clock, CDVDOverlayContainer *pOverlayContainer, CDVDMessageQueue &parent, CRenderManager &renderManager, CProcessInfo &processInfo)
 
 ~OMXPlayerVideo ()
 
bool OpenStream (CDVDStreamInfo hints) override
 
void SendMessage (CDVDMsg *pMsg, int priority=0) override
 
void FlushMessages () override
 
bool AcceptsData () const override
 
bool HasData () const override
 
bool IsInited () const override
 
bool IsStalled () const override
 
bool IsEOS () override
 
void CloseStream (bool bWaitForBuffers) override
 
void Output (double pts, bool bDropPacket)
 
bool StepFrame ()
 
void Flush (bool sync) override
 
bool OpenDecoder ()
 
double GetCurrentPts () override
 
void SubmitEOS ()
 
bool SubmittedEOS () const
 
void SetSpeed (int iSpeed) override
 
std::string GetPlayerInfo () override
 
int GetVideoBitrate () override
 
double GetOutputDelay () override
 
double GetSubtitleDelay () override
 
void SetSubtitleDelay (double delay) override
 
void EnableSubtitle (bool bEnable) override
 
bool IsSubtitleEnabled () override
 
float GetAspectRatio ()
 
void SetVideoRect (const CRect &SrcRect, const CRect &DestRect)
 
void ResolutionUpdateCallBack (uint32_t width, uint32_t height, float framerate, float pixel_aspect)
 
- Public Member Functions inherited from CThread
 CThread (IRunnable *pRunnable, const char *ThreadName)
 
virtual ~CThread ()
 
void Create (bool bAutoDelete=false, unsigned stacksize=0)
 
void Sleep (unsigned int milliseconds)
 
int GetSchedRRPriority (void)
 
bool SetPrioritySched_RR (int iPriority)
 
bool IsAutoDelete () const
 
virtual void StopThread (bool bWait=true)
 
bool IsRunning () const
 
bool IsCurrentThread () const
 
int GetMinPriority (void)
 
int GetMaxPriority (void)
 
int GetNormalPriority (void)
 
int GetPriority (void)
 
bool SetPriority (const int iPriority)
 
bool WaitForThreadExit (unsigned int milliseconds)
 
float GetRelativeUsage ()
 
int64_t GetAbsoluteUsage ()
 
virtual void OnException ()
 
- Public Member Functions inherited from IDVDStreamPlayerVideo
 IDVDStreamPlayerVideo (CProcessInfo &processInfo)
 
 ~IDVDStreamPlayerVideo () override=default
 
virtual bool IsRewindStalled () const
 
- Public Member Functions inherited from IDVDStreamPlayer
 IDVDStreamPlayer (CProcessInfo &processInfo)
 
virtual ~IDVDStreamPlayer ()=default
 

Static Public Member Functions

static void ResolutionUpdateCallBack (void *ctx, uint32_t width, uint32_t height, float framerate, float pixel_aspect)
 
- Static Public Member Functions inherited from CThread
static bool IsCurrentThread (const ThreadIdentifier tid)
 
static ThreadIdentifier GetCurrentThreadId ()
 
static ThreadIdentifier GetDisplayThreadId (const ThreadIdentifier tid)
 
static CThreadGetCurrentThread ()
 

Protected Member Functions

void ProcessOverlays (double pts)
 
double NextOverlay (double pts)
 
bool OpenStream (CDVDStreamInfo &hints, COMXVideo *codec)
 
virtual void OnStartup ()
 
virtual void OnExit ()
 
virtual void Process ()
 
void SendMessageBack (CDVDMsg *pMsg, int priority=0)
 
MsgQueueReturnCode GetMessage (CDVDMsg **pMsg, unsigned int iTimeoutInMilliSeconds, int &priority)
 
std::string GetStereoMode ()
 
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
 
WaitResponse AbortableWait (CEvent &event, int timeoutMillis=-1)
 

Protected Attributes

CDVDMessageQueue m_messageQueue
 
int m_stream_id
 
bool m_open
 
CDVDStreamInfo m_hints
 
double m_iCurrentPts
 
double m_nextOverlay
 
OMXClockm_av_clock
 
COMXVideo m_omxVideo
 
float m_fFrameRate
 
bool m_hdmi_clock_sync
 
int m_speed
 
bool m_stalled
 
IDVDStreamPlayer::ESyncState m_syncState
 
bool m_flush
 
std::string m_codecname
 
std::atomic_bool m_bAbortOutput
 
double m_iSubtitleDelay
 
bool m_bRenderSubs
 
float m_fForcedAspectRatio
 
CRect m_src_rect
 
CRect m_dst_rect
 
RENDER_STEREO_MODE m_video_stereo_mode
 
RENDER_STEREO_MODE m_display_stereo_mode
 
bool m_StereoInvert
 
DllBcmHost m_DllBcmHost
 
CDVDOverlayContainerm_pOverlayContainer
 
CDVDMessageQueuem_messageParent
 
BitstreamStats m_videoStats
 
CRenderManagerm_renderManager
 
- Protected Attributes inherited from CThread
std::atomic< bool > m_bStop
 
- Protected Attributes inherited from IDVDStreamPlayer
CProcessInfom_processInfo
 

Additional Inherited Members

- Public Types inherited from IDVDStreamPlayer
enum  ESyncState { SYNC_STARTING , SYNC_WAITSYNC , SYNC_INSYNC }
 
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 }
 

Constructor & Destructor Documentation

◆ OMXPlayerVideo()

OMXPlayerVideo::OMXPlayerVideo ( OMXClock av_clock,
CDVDOverlayContainer pOverlayContainer,
CDVDMessageQueue parent,
CRenderManager renderManager,
CProcessInfo processInfo 
)

◆ ~OMXPlayerVideo()

OMXPlayerVideo::~OMXPlayerVideo ( )

Member Function Documentation

◆ AcceptsData()

bool OMXPlayerVideo::AcceptsData ( ) const
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ CloseStream()

void OMXPlayerVideo::CloseStream ( bool  bWaitForBuffers)
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ EnableSubtitle()

void OMXPlayerVideo::EnableSubtitle ( bool  bEnable)
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ Flush()

void OMXPlayerVideo::Flush ( bool  sync)
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ FlushMessages()

void OMXPlayerVideo::FlushMessages ( )
inlineoverridevirtual

Implements IDVDStreamPlayer.

◆ GetAspectRatio()

float OMXPlayerVideo::GetAspectRatio ( )
inline

◆ GetCurrentPts()

double OMXPlayerVideo::GetCurrentPts ( )
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ GetMessage()

MsgQueueReturnCode OMXPlayerVideo::GetMessage ( CDVDMsg **  pMsg,
unsigned int  iTimeoutInMilliSeconds,
int &  priority 
)
inlineprotected

◆ GetOutputDelay()

double OMXPlayerVideo::GetOutputDelay ( )
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ GetPlayerInfo()

std::string OMXPlayerVideo::GetPlayerInfo ( )
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ GetStereoMode()

std::string OMXPlayerVideo::GetStereoMode ( )
protected

◆ GetSubtitleDelay()

double OMXPlayerVideo::GetSubtitleDelay ( )
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ GetVideoBitrate()

int OMXPlayerVideo::GetVideoBitrate ( )
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ HasData()

bool OMXPlayerVideo::HasData ( ) const
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ IsEOS()

bool OMXPlayerVideo::IsEOS ( )
overridevirtual

Reimplemented from IDVDStreamPlayerVideo.

◆ IsInited()

bool OMXPlayerVideo::IsInited ( ) const
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ IsStalled()

bool OMXPlayerVideo::IsStalled ( ) const
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ IsSubtitleEnabled()

bool OMXPlayerVideo::IsSubtitleEnabled ( )
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ NextOverlay()

double OMXPlayerVideo::NextOverlay ( double  pts)
protected

◆ OnExit()

void OMXPlayerVideo::OnExit ( )
protectedvirtual

Reimplemented from CThread.

◆ OnStartup()

void OMXPlayerVideo::OnStartup ( )
protectedvirtual

Reimplemented from CThread.

◆ OpenDecoder()

bool OMXPlayerVideo::OpenDecoder ( )

◆ OpenStream() [1/2]

bool OMXPlayerVideo::OpenStream ( CDVDStreamInfo hints,
COMXVideo codec 
)
protected

◆ OpenStream() [2/2]

bool OMXPlayerVideo::OpenStream ( CDVDStreamInfo  hints)
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ Output()

void OMXPlayerVideo::Output ( double  pts,
bool  bDropPacket 
)

◆ Process()

void OMXPlayerVideo::Process ( void  )
protectedvirtual
Todo:
implement
Todo:
implement

Reimplemented from CThread.

◆ ProcessOverlays()

void OMXPlayerVideo::ProcessOverlays ( double  pts)
protected

◆ ResolutionUpdateCallBack() [1/2]

void OMXPlayerVideo::ResolutionUpdateCallBack ( uint32_t  width,
uint32_t  height,
float  framerate,
float  pixel_aspect 
)

◆ ResolutionUpdateCallBack() [2/2]

void OMXPlayerVideo::ResolutionUpdateCallBack ( void ctx,
uint32_t  width,
uint32_t  height,
float  framerate,
float  pixel_aspect 
)
static

◆ SendMessage()

void OMXPlayerVideo::SendMessage ( CDVDMsg pMsg,
int  priority = 0 
)
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ SendMessageBack()

void OMXPlayerVideo::SendMessageBack ( CDVDMsg pMsg,
int  priority = 0 
)
inlineprotected

◆ SetSpeed()

void OMXPlayerVideo::SetSpeed ( int  iSpeed)
overridevirtual

Implements IDVDStreamPlayerVideo.

◆ SetSubtitleDelay()

void OMXPlayerVideo::SetSubtitleDelay ( double  delay)
inlineoverridevirtual

Implements IDVDStreamPlayerVideo.

◆ SetVideoRect()

void OMXPlayerVideo::SetVideoRect ( const CRect SrcRect,
const CRect DestRect 
)

◆ StepFrame()

bool OMXPlayerVideo::StepFrame ( )

◆ SubmitEOS()

void OMXPlayerVideo::SubmitEOS ( )

◆ SubmittedEOS()

bool OMXPlayerVideo::SubmittedEOS ( ) const
inline

Member Data Documentation

◆ m_av_clock

OMXClock* OMXPlayerVideo::m_av_clock
protected

◆ m_bAbortOutput

std::atomic_bool OMXPlayerVideo::m_bAbortOutput
protected

◆ m_bRenderSubs

bool OMXPlayerVideo::m_bRenderSubs
protected

◆ m_codecname

std::string OMXPlayerVideo::m_codecname
protected

◆ m_display_stereo_mode

RENDER_STEREO_MODE OMXPlayerVideo::m_display_stereo_mode
protected

◆ m_DllBcmHost

DllBcmHost OMXPlayerVideo::m_DllBcmHost
protected

◆ m_dst_rect

CRect OMXPlayerVideo::m_dst_rect
protected

◆ m_fForcedAspectRatio

float OMXPlayerVideo::m_fForcedAspectRatio
protected

◆ m_fFrameRate

float OMXPlayerVideo::m_fFrameRate
protected

◆ m_flush

bool OMXPlayerVideo::m_flush
protected

◆ m_hdmi_clock_sync

bool OMXPlayerVideo::m_hdmi_clock_sync
protected

◆ m_hints

CDVDStreamInfo OMXPlayerVideo::m_hints
protected

◆ m_iCurrentPts

double OMXPlayerVideo::m_iCurrentPts
protected

◆ m_iSubtitleDelay

double OMXPlayerVideo::m_iSubtitleDelay
protected

◆ m_messageParent

CDVDMessageQueue& OMXPlayerVideo::m_messageParent
protected

◆ m_messageQueue

CDVDMessageQueue OMXPlayerVideo::m_messageQueue
protected

◆ m_nextOverlay

double OMXPlayerVideo::m_nextOverlay
protected

◆ m_omxVideo

COMXVideo OMXPlayerVideo::m_omxVideo
protected

◆ m_open

bool OMXPlayerVideo::m_open
protected

◆ m_pOverlayContainer

CDVDOverlayContainer* OMXPlayerVideo::m_pOverlayContainer
protected

◆ m_renderManager

CRenderManager& OMXPlayerVideo::m_renderManager
protected

◆ m_speed

int OMXPlayerVideo::m_speed
protected

◆ m_src_rect

CRect OMXPlayerVideo::m_src_rect
protected

◆ m_stalled

bool OMXPlayerVideo::m_stalled
protected

◆ m_StereoInvert

bool OMXPlayerVideo::m_StereoInvert
protected

◆ m_stream_id

int OMXPlayerVideo::m_stream_id
protected

◆ m_syncState

IDVDStreamPlayer::ESyncState OMXPlayerVideo::m_syncState
protected

◆ m_video_stereo_mode

RENDER_STEREO_MODE OMXPlayerVideo::m_video_stereo_mode
protected

◆ m_videoStats

BitstreamStats OMXPlayerVideo::m_videoStats
protected

The documentation for this class was generated from the following files: