xbmc
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
CVideoPlayerVideo Class Reference
Inheritance diagram for CVideoPlayerVideo:
Inheritance graph
[legend]
Collaboration diagram for CVideoPlayerVideo:
Collaboration graph
[legend]

Public Member Functions

 CVideoPlayerVideo (CDVDClock *pClock, CDVDOverlayContainer *pOverlayContainer, CDVDMessageQueue &parent, CRenderManager &renderManager, CProcessInfo &processInfo)
 
bool OpenStream (CDVDStreamInfo hint) override
 
void CloseStream (bool bWaitForBuffers) override
 
void Flush (bool sync) override
 
bool AcceptsData () const override
 
bool HasData () const override
 
bool IsInited () const override
 
void SendMessage (std::shared_ptr< CDVDMsg > pMsg, int priority=0) override
 
void FlushMessages () override
 
void EnableSubtitle (bool bEnable) override
 
bool IsSubtitleEnabled () override
 
double GetSubtitleDelay () override
 
void SetSubtitleDelay (double delay) override
 
bool IsStalled () const override
 
bool IsRewindStalled () const override
 
double GetCurrentPts () override
 
double GetOutputDelay () override
 
std::string GetPlayerInfo () override
 
int GetVideoBitrate () override
 
void SetSpeed (int iSpeed) override
 
- Public Member Functions inherited from CThread
 CThread (IRunnable *pRunnable, const char *ThreadName)
 
void Create (bool bAutoDelete=false)
 
template<typename Rep , typename Period >
void Sleep (std::chrono::duration< Rep, Period > duration)
 
bool IsAutoDelete () const
 
virtual void StopThread (bool bWait=true)
 
bool IsRunning () const
 
bool IsCurrentThread () const
 
bool Join (std::chrono::milliseconds duration)
 
bool SetPriority (const ThreadPriority &priority)
 Set the threads priority. This uses the platforms native threading library to do so.
 
virtual void OnException ()
 
- Public Member Functions inherited from IDVDStreamPlayerVideo
 IDVDStreamPlayerVideo (CProcessInfo &processInfo)
 
virtual bool IsEOS ()
 
- Public Member Functions inherited from IDVDStreamPlayer
 IDVDStreamPlayer (CProcessInfo &processInfo)
 

Public Attributes

CDVDOverlayContainerm_pOverlayContainer
 
CDVDClockm_pClock
 

Protected Types

enum  EOutputState { OUTPUT_NORMAL, OUTPUT_ABORT, OUTPUT_DROPPED, OUTPUT_AGAIN }
 
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 }
 

Protected Member Functions

void OnExit () override
 
void Process () override
 
bool ProcessDecoderOutput (double &frametime, double &pts)
 
void SendMessageBack (const std::shared_ptr< CDVDMsg > &pMsg, int priority=0)
 
MsgQueueReturnCode GetMessage (std::shared_ptr< CDVDMsg > &pMsg, std::chrono::milliseconds timeout, int &priority)
 
EOutputState OutputPicture (const VideoPicture *src)
 
void ProcessOverlays (const VideoPicture *pSource, double pts)
 
void OpenStream (CDVDStreamInfo &hint, std::unique_ptr< CDVDVideoCodec > codec)
 
void ResetFrameRateCalc ()
 
void CalcFrameRate ()
 
int CalcDropRequirement (double pts)
 
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
 
virtual void OnStartup ()
 
WaitResponse AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1))
 This call will wait on a CEvent in an interruptible way such that if stop is called on the thread the wait will return with a response indicating what happened.
 

Protected Attributes

double m_iSubtitleDelay
 
int m_iLateFrames
 
int m_iDroppedFrames
 
int m_iDroppedRequest
 
double m_fFrameRate
 
double m_fStableFrameRate
 
int m_iFrameRateCount
 
bool m_bAllowDrop
 
int m_iFrameRateErr
 
int m_iFrameRateLength
 
bool m_bFpsInvalid
 
bool m_bRenderSubs
 
float m_fForcedAspectRatio
 
int m_speed
 
std::atomic_bool m_stalled = false
 
std::atomic_bool m_rewindStalled
 
bool m_paused
 
IDVDStreamPlayer::ESyncState m_syncState
 
std::atomic_bool m_bAbortOutput
 
BitstreamStats m_videoStats
 
CDVDMessageQueue m_messageQueue
 
CDVDMessageQueuem_messageParent
 
CDVDStreamInfo m_hints
 
std::unique_ptr< CDVDVideoCodecm_pVideoCodec
 
CPtsTracker m_ptsTracker
 
std::list< DVDMessageListItemm_packets
 
CDroppingStats m_droppingStats
 
CRenderManagerm_renderManager
 
VideoPicture m_picture
 
EOutputState m_outputSate
 
- 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 }
 
- Static Public Member Functions inherited from CThread
static const std::thread::id GetCurrentThreadId ()
 
static CThreadGetCurrentThread ()
 

Member Function Documentation

◆ Process()

void CVideoPlayerVideo::Process ( void  )
overrideprotectedvirtual
Todo:
this needs to be set on a streamchange instead

Reimplemented from CThread.

◆ ProcessDecoderOutput()

bool CVideoPlayerVideo::ProcessDecoderOutput ( double &  frametime,
double &  pts 
)
protected
Todo:
implement
Todo:
implement

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