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

#include <ProcessInfo.h>

Inheritance diagram for CProcessInfo:
CProcessInfoPi VIDEOPLAYER::CProcessInfoAndroid VIDEOPLAYER::CProcessInfoGBM VIDEOPLAYER::CProcessInfoIOS VIDEOPLAYER::CProcessInfoOSX VIDEOPLAYER::CProcessInfoWayland VIDEOPLAYER::CProcessInfoWin VIDEOPLAYER::CProcessInfoWin10 VIDEOPLAYER::CProcessInfoX11

Public Member Functions

virtual ~CProcessInfo ()=default
 
void SetDataCache (CDataCacheCore *cache)
 
void ResetVideoCodecInfo ()
 
void SetVideoDecoderName (const std::string &name, bool isHw)
 
std::string GetVideoDecoderName ()
 
bool IsVideoHwDecoder ()
 
void SetVideoDeintMethod (const std::string &method)
 
std::string GetVideoDeintMethod ()
 
void SetVideoPixelFormat (const std::string &pixFormat)
 
std::string GetVideoPixelFormat ()
 
void SetVideoStereoMode (const std::string &mode)
 
std::string GetVideoStereoMode ()
 
void SetVideoDimensions (int width, int height)
 
void GetVideoDimensions (int &width, int &height)
 
void SetVideoFps (float fps)
 
float GetVideoFps ()
 
void SetVideoDAR (float dar)
 
float GetVideoDAR ()
 
void SetVideoInterlaced (bool interlaced)
 
bool GetVideoInterlaced ()
 
virtual EINTERLACEMETHOD GetFallbackDeintMethod ()
 
virtual void SetSwDeinterlacingMethods ()
 
void UpdateDeinterlacingMethods (std::list< EINTERLACEMETHOD > &methods)
 
bool Supports (EINTERLACEMETHOD method)
 
void SetDeinterlacingMethodDefault (EINTERLACEMETHOD method)
 
EINTERLACEMETHOD GetDeinterlacingMethodDefault ()
 
CVideoBufferManagerGetVideoBufferManager ()
 
std::vector< AVPixelFormat > GetPixFormats ()
 
void SetPixFormats (std::vector< AVPixelFormat > &formats)
 
void ResetAudioCodecInfo ()
 
void SetAudioDecoderName (const std::string &name)
 
std::string GetAudioDecoderName ()
 
void SetAudioChannels (const std::string &channels)
 
std::string GetAudioChannels ()
 
void SetAudioSampleRate (int sampleRate)
 
int GetAudioSampleRate ()
 
void SetAudioBitsPerSample (int bitsPerSample)
 
int GetAudioBitsPerSample ()
 
virtual bool AllowDTSHDDecode ()
 
void SetRenderClockSync (bool enabled)
 
bool IsRenderClockSync ()
 
void UpdateRenderInfo (CRenderInfo &info)
 
void UpdateRenderBuffers (int queued, int discard, int free)
 
void GetRenderBuffers (int &queued, int &discard, int &free)
 
virtual std::vector< AVPixelFormat > GetRenderFormats ()
 
void SetStateSeeking (bool active)
 
bool IsSeeking ()
 
void SetStateRealtime (bool state)
 
bool IsRealtimeStream ()
 
void SetSpeed (float speed)
 
void SetNewSpeed (float speed)
 
float GetNewSpeed ()
 
void SetFrameAdvance (bool fa)
 
bool IsFrameAdvance ()
 
void SetTempo (float tempo)
 
void SetNewTempo (float tempo)
 
float GetNewTempo ()
 
bool IsTempoAllowed (float tempo)
 
virtual float MinTempoPlatform ()
 
virtual float MaxTempoPlatform ()
 
void SetLevelVQ (int level)
 
int GetLevelVQ ()
 
void SetGuiRender (bool gui)
 
bool GetGuiRender ()
 
void SetVideoRender (bool video)
 
bool GetVideoRender ()
 
void SetPlayTimes (time_t start, int64_t current, int64_t min, int64_t max)
 
int64_t GetMaxTime ()
 
CVideoSettings GetVideoSettings ()
 
void SetVideoSettings (CVideoSettings &settings)
 
CVideoSettingsLockedUpdateVideoSettings ()
 

Static Public Member Functions

static CProcessInfoCreateInstance ()
 
static void RegisterProcessControl (std::string id, CreateProcessControl createFunc)
 

Protected Member Functions

 CProcessInfo ()
 

Protected Attributes

CDataCacheCorem_dataCache = nullptr
 
bool m_videoIsHWDecoder
 
std::string m_videoDecoderName
 
std::string m_videoDeintMethod
 
std::string m_videoPixelFormat
 
std::string m_videoStereoMode
 
int m_videoWidth
 
int m_videoHeight
 
float m_videoFPS
 
float m_videoDAR
 
bool m_videoIsInterlaced
 
std::list< EINTERLACEMETHODm_deintMethods
 
EINTERLACEMETHOD m_deintMethodDefault
 
CCriticalSection m_videoCodecSection
 
CVideoBufferManager m_videoBufferManager
 
std::vector< AVPixelFormat > m_pixFormats
 
std::string m_audioDecoderName
 
std::string m_audioChannels
 
int m_audioSampleRate
 
int m_audioBitsPerSample
 
CCriticalSection m_audioCodecSection
 
CCriticalSection m_renderSection
 
bool m_isClockSync
 
CRenderInfo m_renderInfo
 
int m_renderBufQueued = 0
 
int m_renderBufFree = 0
 
int m_renderBufDiscard = 0
 
CCriticalSection m_stateSection
 
bool m_stateSeeking
 
std::atomic_int m_levelVQ
 
std::atomic_bool m_renderGuiLayer
 
std::atomic_bool m_renderVideoLayer
 
float m_tempo
 
float m_newTempo
 
float m_speed
 
float m_newSpeed
 
bool m_frameAdvance
 
time_t m_startTime
 
int64_t m_time
 
int64_t m_timeMax
 
int64_t m_timeMin
 
bool m_realTimeStream
 
CCriticalSection m_settingsSection
 
CVideoSettings m_videoSettings
 
std::unique_ptr< CVideoSettingsLockedm_videoSettingsLocked
 

Static Protected Attributes

static std::map< std::string, CreateProcessControlm_processControls
 

Constructor & Destructor Documentation

◆ ~CProcessInfo()

virtual CProcessInfo::~CProcessInfo ( )
virtualdefault

◆ CProcessInfo()

CProcessInfo::CProcessInfo ( )
protected

Member Function Documentation

◆ AllowDTSHDDecode()

bool CProcessInfo::AllowDTSHDDecode ( )
virtual

Reimplemented in CProcessInfoPi.

◆ CreateInstance()

CProcessInfo * CProcessInfo::CreateInstance ( )
static

◆ GetAudioBitsPerSample()

int CProcessInfo::GetAudioBitsPerSample ( )

◆ GetAudioChannels()

std::string CProcessInfo::GetAudioChannels ( )

◆ GetAudioDecoderName()

std::string CProcessInfo::GetAudioDecoderName ( )

◆ GetAudioSampleRate()

int CProcessInfo::GetAudioSampleRate ( )

◆ GetDeinterlacingMethodDefault()

EINTERLACEMETHOD CProcessInfo::GetDeinterlacingMethodDefault ( )

◆ GetFallbackDeintMethod()

◆ GetGuiRender()

bool CProcessInfo::GetGuiRender ( )

◆ GetLevelVQ()

int CProcessInfo::GetLevelVQ ( )

◆ GetMaxTime()

int64_t CProcessInfo::GetMaxTime ( )

◆ GetNewSpeed()

float CProcessInfo::GetNewSpeed ( )

◆ GetNewTempo()

float CProcessInfo::GetNewTempo ( )

◆ GetPixFormats()

std::vector< AVPixelFormat > CProcessInfo::GetPixFormats ( )

◆ GetRenderBuffers()

void CProcessInfo::GetRenderBuffers ( int &  queued,
int &  discard,
int &  free 
)

◆ GetRenderFormats()

std::vector< AVPixelFormat > CProcessInfo::GetRenderFormats ( )
virtual

◆ GetVideoBufferManager()

CVideoBufferManager & CProcessInfo::GetVideoBufferManager ( )

◆ GetVideoDAR()

float CProcessInfo::GetVideoDAR ( )

◆ GetVideoDecoderName()

std::string CProcessInfo::GetVideoDecoderName ( )

◆ GetVideoDeintMethod()

std::string CProcessInfo::GetVideoDeintMethod ( )

◆ GetVideoDimensions()

void CProcessInfo::GetVideoDimensions ( int &  width,
int &  height 
)

◆ GetVideoFps()

float CProcessInfo::GetVideoFps ( )

◆ GetVideoInterlaced()

bool CProcessInfo::GetVideoInterlaced ( )

◆ GetVideoPixelFormat()

std::string CProcessInfo::GetVideoPixelFormat ( )

◆ GetVideoRender()

bool CProcessInfo::GetVideoRender ( )

◆ GetVideoSettings()

CVideoSettings CProcessInfo::GetVideoSettings ( )

◆ GetVideoStereoMode()

std::string CProcessInfo::GetVideoStereoMode ( )

◆ IsFrameAdvance()

bool CProcessInfo::IsFrameAdvance ( )

◆ IsRealtimeStream()

bool CProcessInfo::IsRealtimeStream ( )

◆ IsRenderClockSync()

bool CProcessInfo::IsRenderClockSync ( )

◆ IsSeeking()

bool CProcessInfo::IsSeeking ( )

◆ IsTempoAllowed()

bool CProcessInfo::IsTempoAllowed ( float  tempo)

◆ IsVideoHwDecoder()

bool CProcessInfo::IsVideoHwDecoder ( )

◆ MaxTempoPlatform()

float CProcessInfo::MaxTempoPlatform ( )
virtual

◆ MinTempoPlatform()

float CProcessInfo::MinTempoPlatform ( )
virtual

◆ RegisterProcessControl()

void CProcessInfo::RegisterProcessControl ( std::string  id,
CreateProcessControl  createFunc 
)
static

◆ ResetAudioCodecInfo()

void CProcessInfo::ResetAudioCodecInfo ( )

◆ ResetVideoCodecInfo()

void CProcessInfo::ResetVideoCodecInfo ( )

◆ SetAudioBitsPerSample()

void CProcessInfo::SetAudioBitsPerSample ( int  bitsPerSample)

◆ SetAudioChannels()

void CProcessInfo::SetAudioChannels ( const std::string &  channels)

◆ SetAudioDecoderName()

void CProcessInfo::SetAudioDecoderName ( const std::string &  name)

◆ SetAudioSampleRate()

void CProcessInfo::SetAudioSampleRate ( int  sampleRate)

◆ SetDataCache()

void CProcessInfo::SetDataCache ( CDataCacheCore cache)

◆ SetDeinterlacingMethodDefault()

void CProcessInfo::SetDeinterlacingMethodDefault ( EINTERLACEMETHOD  method)

◆ SetFrameAdvance()

void CProcessInfo::SetFrameAdvance ( bool  fa)

◆ SetGuiRender()

void CProcessInfo::SetGuiRender ( bool  gui)

◆ SetLevelVQ()

void CProcessInfo::SetLevelVQ ( int  level)

◆ SetNewSpeed()

void CProcessInfo::SetNewSpeed ( float  speed)

◆ SetNewTempo()

void CProcessInfo::SetNewTempo ( float  tempo)

◆ SetPixFormats()

void CProcessInfo::SetPixFormats ( std::vector< AVPixelFormat > &  formats)

◆ SetPlayTimes()

void CProcessInfo::SetPlayTimes ( time_t  start,
int64_t  current,
int64_t  min,
int64_t  max 
)

◆ SetRenderClockSync()

void CProcessInfo::SetRenderClockSync ( bool  enabled)

◆ SetSpeed()

void CProcessInfo::SetSpeed ( float  speed)

◆ SetStateRealtime()

void CProcessInfo::SetStateRealtime ( bool  state)

◆ SetStateSeeking()

void CProcessInfo::SetStateSeeking ( bool  active)

◆ SetSwDeinterlacingMethods()

void CProcessInfo::SetSwDeinterlacingMethods ( )
virtual

◆ SetTempo()

void CProcessInfo::SetTempo ( float  tempo)

◆ SetVideoDAR()

void CProcessInfo::SetVideoDAR ( float  dar)

◆ SetVideoDecoderName()

void CProcessInfo::SetVideoDecoderName ( const std::string &  name,
bool  isHw 
)

◆ SetVideoDeintMethod()

void CProcessInfo::SetVideoDeintMethod ( const std::string &  method)

◆ SetVideoDimensions()

void CProcessInfo::SetVideoDimensions ( int  width,
int  height 
)

◆ SetVideoFps()

void CProcessInfo::SetVideoFps ( float  fps)

◆ SetVideoInterlaced()

void CProcessInfo::SetVideoInterlaced ( bool  interlaced)

◆ SetVideoPixelFormat()

void CProcessInfo::SetVideoPixelFormat ( const std::string &  pixFormat)

◆ SetVideoRender()

void CProcessInfo::SetVideoRender ( bool  video)

◆ SetVideoSettings()

void CProcessInfo::SetVideoSettings ( CVideoSettings settings)

◆ SetVideoStereoMode()

void CProcessInfo::SetVideoStereoMode ( const std::string &  mode)

◆ Supports()

bool CProcessInfo::Supports ( EINTERLACEMETHOD  method)

◆ UpdateDeinterlacingMethods()

void CProcessInfo::UpdateDeinterlacingMethods ( std::list< EINTERLACEMETHOD > &  methods)

◆ UpdateRenderBuffers()

void CProcessInfo::UpdateRenderBuffers ( int  queued,
int  discard,
int  free 
)

◆ UpdateRenderInfo()

void CProcessInfo::UpdateRenderInfo ( CRenderInfo info)

◆ UpdateVideoSettings()

CVideoSettingsLocked & CProcessInfo::UpdateVideoSettings ( )

Member Data Documentation

◆ m_audioBitsPerSample

int CProcessInfo::m_audioBitsPerSample
protected

◆ m_audioChannels

std::string CProcessInfo::m_audioChannels
protected

◆ m_audioCodecSection

CCriticalSection CProcessInfo::m_audioCodecSection
protected

◆ m_audioDecoderName

std::string CProcessInfo::m_audioDecoderName
protected

◆ m_audioSampleRate

int CProcessInfo::m_audioSampleRate
protected

◆ m_dataCache

CDataCacheCore* CProcessInfo::m_dataCache = nullptr
protected

◆ m_deintMethodDefault

EINTERLACEMETHOD CProcessInfo::m_deintMethodDefault
protected

◆ m_deintMethods

std::list<EINTERLACEMETHOD> CProcessInfo::m_deintMethods
protected

◆ m_frameAdvance

bool CProcessInfo::m_frameAdvance
protected

◆ m_isClockSync

bool CProcessInfo::m_isClockSync
protected

◆ m_levelVQ

std::atomic_int CProcessInfo::m_levelVQ
protected

◆ m_newSpeed

float CProcessInfo::m_newSpeed
protected

◆ m_newTempo

float CProcessInfo::m_newTempo
protected

◆ m_pixFormats

std::vector<AVPixelFormat> CProcessInfo::m_pixFormats
protected

◆ m_processControls

std::map< std::string, CreateProcessControl > CProcessInfo::m_processControls
staticprotected

◆ m_realTimeStream

bool CProcessInfo::m_realTimeStream
protected

◆ m_renderBufDiscard

int CProcessInfo::m_renderBufDiscard = 0
protected

◆ m_renderBufFree

int CProcessInfo::m_renderBufFree = 0
protected

◆ m_renderBufQueued

int CProcessInfo::m_renderBufQueued = 0
protected

◆ m_renderGuiLayer

std::atomic_bool CProcessInfo::m_renderGuiLayer
protected

◆ m_renderInfo

CRenderInfo CProcessInfo::m_renderInfo
protected

◆ m_renderSection

CCriticalSection CProcessInfo::m_renderSection
protected

◆ m_renderVideoLayer

std::atomic_bool CProcessInfo::m_renderVideoLayer
protected

◆ m_settingsSection

CCriticalSection CProcessInfo::m_settingsSection
protected

◆ m_speed

float CProcessInfo::m_speed
protected

◆ m_startTime

time_t CProcessInfo::m_startTime
protected

◆ m_stateSection

CCriticalSection CProcessInfo::m_stateSection
protected

◆ m_stateSeeking

bool CProcessInfo::m_stateSeeking
protected

◆ m_tempo

float CProcessInfo::m_tempo
protected

◆ m_time

int64_t CProcessInfo::m_time
protected

◆ m_timeMax

int64_t CProcessInfo::m_timeMax
protected

◆ m_timeMin

int64_t CProcessInfo::m_timeMin
protected

◆ m_videoBufferManager

CVideoBufferManager CProcessInfo::m_videoBufferManager
protected

◆ m_videoCodecSection

CCriticalSection CProcessInfo::m_videoCodecSection
protected

◆ m_videoDAR

float CProcessInfo::m_videoDAR
protected

◆ m_videoDecoderName

std::string CProcessInfo::m_videoDecoderName
protected

◆ m_videoDeintMethod

std::string CProcessInfo::m_videoDeintMethod
protected

◆ m_videoFPS

float CProcessInfo::m_videoFPS
protected

◆ m_videoHeight

int CProcessInfo::m_videoHeight
protected

◆ m_videoIsHWDecoder

bool CProcessInfo::m_videoIsHWDecoder
protected

◆ m_videoIsInterlaced

bool CProcessInfo::m_videoIsInterlaced
protected

◆ m_videoPixelFormat

std::string CProcessInfo::m_videoPixelFormat
protected

◆ m_videoSettings

CVideoSettings CProcessInfo::m_videoSettings
protected

◆ m_videoSettingsLocked

std::unique_ptr<CVideoSettingsLocked> CProcessInfo::m_videoSettingsLocked
protected

◆ m_videoStereoMode

std::string CProcessInfo::m_videoStereoMode
protected

◆ m_videoWidth

int CProcessInfo::m_videoWidth
protected

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