Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include <DataCacheCore.h>
Classes | |
struct | SContentInfo |
struct | SPlayerAudioInfo |
struct | SPlayerVideoInfo |
struct | SRenderInfo |
struct | SStateInfo |
struct | STimeInfo |
Public Member Functions | |
CDataCacheCore () | |
virtual | ~CDataCacheCore () |
void | Reset () |
bool | HasAVInfoChanges () |
void | SignalVideoInfoChange () |
void | SignalAudioInfoChange () |
void | SignalSubtitleInfoChange () |
void | SetVideoDecoderName (std::string name, bool isHw) |
std::string | GetVideoDecoderName () |
bool | IsVideoHwDecoder () |
void | SetVideoDeintMethod (std::string method) |
std::string | GetVideoDeintMethod () |
void | SetVideoPixelFormat (std::string pixFormat) |
std::string | GetVideoPixelFormat () |
void | SetVideoStereoMode (std::string mode) |
std::string | GetVideoStereoMode () |
void | SetVideoDimensions (int width, int height) |
int | GetVideoWidth () |
int | GetVideoHeight () |
void | SetVideoFps (float fps) |
float | GetVideoFps () |
void | SetVideoDAR (float dar) |
float | GetVideoDAR () |
void | SetVideoInterlaced (bool isInterlaced) |
Set if the video is interlaced in cache. | |
bool | IsVideoInterlaced () |
Check if the video is interlaced from cache. | |
void | SetAudioDecoderName (std::string name) |
std::string | GetAudioDecoderName () |
void | SetAudioChannels (std::string channels) |
std::string | GetAudioChannels () |
void | SetAudioSampleRate (int sampleRate) |
int | GetAudioSampleRate () |
void | SetAudioBitsPerSample (int bitsPerSample) |
int | GetAudioBitsPerSample () |
void | SetEditList (const std::vector< EDL::Edit > &editList) |
Set the EDL edit list to cache. | |
const std::vector< EDL::Edit > & | GetEditList () const |
Get the EDL edit list in cache. | |
void | SetCuts (const std::vector< std::chrono::milliseconds > &cuts) |
Set the list of cut markers in cache. | |
const std::vector< std::chrono::milliseconds > & | GetCuts () const |
Get the list of cut markers from cache. | |
void | SetSceneMarkers (const std::vector< std::chrono::milliseconds > &sceneMarkers) |
Set the list of scene markers in cache. | |
const std::vector< std::chrono::milliseconds > & | GetSceneMarkers () const |
Get the list of scene markers markers from cache. | |
void | SetChapters (const std::vector< std::pair< std::string, int64_t > > &chapters) |
const std::vector< std::pair< std::string, int64_t > > & | GetChapters () const |
Get the chapter list in cache. | |
void | SetRenderClockSync (bool enabled) |
bool | IsRenderClockSync () |
void | SeekFinished (int64_t offset) |
Notifies the cache core that a seek operation has finished. | |
void | SetStateSeeking (bool active) |
bool | IsSeeking () |
bool | HasPerformedSeek (int64_t lastSecondInterval) const |
Checks if a seek has been performed in the last provided seconds interval. | |
int64_t | GetSeekOffSet () const |
Gets the last seek offset. | |
void | SetSpeed (float tempo, float speed) |
float | GetSpeed () |
float | GetTempo () |
void | SetFrameAdvance (bool fa) |
bool | IsFrameAdvance () |
bool | IsPlayerStateChanged () |
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) |
void | GetPlayTimes (time_t &start, int64_t ¤t, int64_t &min, int64_t &max) |
time_t | GetStartTime () |
Get the start time. | |
int64_t | GetPlayTime () |
Get the current time of playback. | |
float | GetPlayPercentage () |
Get the current percentage of playback if a playback buffer is available. | |
int64_t | GetMinTime () |
Get the minimum time. | |
int64_t | GetMaxTime () |
Get the maximum time. | |
Static Public Member Functions | |
static CDataCacheCore & | GetInstance () |
Protected Attributes | |
std::atomic_bool | m_hasAVInfoChanges = false |
CCriticalSection | m_videoPlayerSection |
struct CDataCacheCore::SPlayerVideoInfo | m_playerVideoInfo |
CCriticalSection | m_audioPlayerSection |
struct CDataCacheCore::SPlayerAudioInfo | m_playerAudioInfo |
CCriticalSection | m_contentSection |
struct CDataCacheCore::SContentInfo | m_contentInfo |
CCriticalSection | m_renderSection |
struct CDataCacheCore::SRenderInfo | m_renderInfo |
CCriticalSection | m_stateSection |
bool | m_playerStateChanged = false |
struct CDataCacheCore::SStateInfo | m_stateInfo |
struct CDataCacheCore::STimeInfo | m_timeInfo = {} |
CDataCacheCore::CDataCacheCore | ( | ) |
|
virtualdefault |
int CDataCacheCore::GetAudioBitsPerSample | ( | ) |
std::string CDataCacheCore::GetAudioChannels | ( | ) |
std::string CDataCacheCore::GetAudioDecoderName | ( | ) |
int CDataCacheCore::GetAudioSampleRate | ( | ) |
const std::vector< std::pair< std::string, int64_t > > & CDataCacheCore::GetChapters | ( | ) | const |
Get the chapter list in cache.
const std::vector< std::chrono::milliseconds > & CDataCacheCore::GetCuts | ( | ) | const |
Get the list of cut markers from cache.
const std::vector< EDL::Edit > & CDataCacheCore::GetEditList | ( | ) | const |
bool CDataCacheCore::GetGuiRender | ( | ) |
|
static |
int64_t CDataCacheCore::GetMaxTime | ( | ) |
Get the maximum time.
This is the maximum time, in ms, that the player can skip forward. For a typical video, this will be the total length. For live TV without timeshift this is zero, and for live TV with timeshift this will be the buffer ahead.
int64_t CDataCacheCore::GetMinTime | ( | ) |
Get the minimum time.
This will be zero for a typical video. With timeshift, this is the time, in ms, that the player can go back. This can be before the start time.
float CDataCacheCore::GetPlayPercentage | ( | ) |
Get the current percentage of playback if a playback buffer is available.
If there is no playback buffer, percentage will be 0.
int64_t CDataCacheCore::GetPlayTime | ( | ) |
Get the current time of playback.
This is the time elapsed, in ms, since the start time.
void CDataCacheCore::GetPlayTimes | ( | time_t & | start, |
int64_t & | current, | ||
int64_t & | min, | ||
int64_t & | max ) |
const std::vector< std::chrono::milliseconds > & CDataCacheCore::GetSceneMarkers | ( | ) | const |
Get the list of scene markers markers from cache.
int64_t CDataCacheCore::GetSeekOffSet | ( | ) | const |
Gets the last seek offset.
float CDataCacheCore::GetSpeed | ( | ) |
time_t CDataCacheCore::GetStartTime | ( | ) |
Get the start time.
For a typical video this will be zero. For live TV, this is a reference time in units of time_t (UTC) from which time elapsed starts. Ideally this would be the start of the tv show but can be any other time as well.
float CDataCacheCore::GetTempo | ( | ) |
float CDataCacheCore::GetVideoDAR | ( | ) |
std::string CDataCacheCore::GetVideoDecoderName | ( | ) |
std::string CDataCacheCore::GetVideoDeintMethod | ( | ) |
float CDataCacheCore::GetVideoFps | ( | ) |
int CDataCacheCore::GetVideoHeight | ( | ) |
std::string CDataCacheCore::GetVideoPixelFormat | ( | ) |
bool CDataCacheCore::GetVideoRender | ( | ) |
std::string CDataCacheCore::GetVideoStereoMode | ( | ) |
int CDataCacheCore::GetVideoWidth | ( | ) |
bool CDataCacheCore::HasAVInfoChanges | ( | ) |
Checks if a seek has been performed in the last provided seconds interval.
lastSecondInterval | - the last elapsed second interval to check for a seek operation |
bool CDataCacheCore::IsFrameAdvance | ( | ) |
bool CDataCacheCore::IsPlayerStateChanged | ( | ) |
bool CDataCacheCore::IsRenderClockSync | ( | ) |
bool CDataCacheCore::IsSeeking | ( | ) |
bool CDataCacheCore::IsVideoHwDecoder | ( | ) |
bool CDataCacheCore::IsVideoInterlaced | ( | ) |
Check if the video is interlaced from cache.
void CDataCacheCore::Reset | ( | ) |
Notifies the cache core that a seek operation has finished.
offset | - the seek offset |
void CDataCacheCore::SetAudioChannels | ( | std::string | channels | ) |
void CDataCacheCore::SetAudioDecoderName | ( | std::string | name | ) |
void CDataCacheCore::SetChapters | ( | const std::vector< std::pair< std::string, int64_t > > & | chapters | ) |
void CDataCacheCore::SetCuts | ( | const std::vector< std::chrono::milliseconds > & | cuts | ) |
Set the list of cut markers in cache.
Set the EDL edit list to cache.
editList | The vector of edits to fill. |
void CDataCacheCore::SetSceneMarkers | ( | const std::vector< std::chrono::milliseconds > & | sceneMarkers | ) |
Set the list of scene markers in cache.
void CDataCacheCore::SetSpeed | ( | float | tempo, |
float | speed ) |
void CDataCacheCore::SetVideoDAR | ( | float | dar | ) |
void CDataCacheCore::SetVideoDeintMethod | ( | std::string | method | ) |
void CDataCacheCore::SetVideoFps | ( | float | fps | ) |
Set if the video is interlaced in cache.
isInterlaced | Set true when the video is interlaced |
void CDataCacheCore::SetVideoPixelFormat | ( | std::string | pixFormat | ) |
void CDataCacheCore::SetVideoStereoMode | ( | std::string | mode | ) |
void CDataCacheCore::SignalAudioInfoChange | ( | ) |
void CDataCacheCore::SignalSubtitleInfoChange | ( | ) |
void CDataCacheCore::SignalVideoInfoChange | ( | ) |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |