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

#include <VideoThumbLoader.h>

Inheritance diagram for CVideoThumbLoader:
CThumbLoader CJobQueue CBackgroundInfoLoader IJobCallback IRunnable

Public Member Functions

 CVideoThumbLoader ()
 
 ~CVideoThumbLoader () override
 
void OnLoaderStart () override
 
void OnLoaderFinish () override
 
bool LoadItem (CFileItem *pItem) override
 
bool LoadItemCached (CFileItem *pItem) override
 
bool LoadItemLookup (CFileItem *pItem) override
 
virtual bool FillThumb (CFileItem &item)
 Fill the thumb of a video item First uses a cached thumb from a previous run, then checks for a local thumb and caches it for the next run. More...
 
bool FillLibraryArt (CFileItem &item) override
 helper function to fill the art for a video library item More...
 
void OnJobComplete (unsigned int jobID, bool success, CJob *job) override
 Callback from CThumbExtractor on completion of a generated image. More...
 
- Public Member Functions inherited from CThumbLoader
 CThumbLoader ()
 
 ~CThumbLoader () override
 
virtual std::string GetCachedImage (const CFileItem &item, const std::string &type)
 Checks whether the given item has an image listed in the texture database. More...
 
virtual void SetCachedImage (const CFileItem &item, const std::string &type, const std::string &image)
 Associate an image with the given item in the texture database. More...
 
- Public Member Functions inherited from CBackgroundInfoLoader
 CBackgroundInfoLoader ()
 
 ~CBackgroundInfoLoader () override
 
void Load (CFileItemList &items)
 
bool IsLoading ()
 
void Run () override
 
void SetObserver (IBackgroundLoaderObserver *pObserver)
 
void SetProgressCallback (IProgressCallback *pCallback)
 
void StopThread ()
 
void StopAsync ()
 
- Public Member Functions inherited from IRunnable
virtual void Cancel ()
 
virtual ~IRunnable ()=default
 
- Public Member Functions inherited from CJobQueue
 CJobQueue (bool lifo=false, unsigned int jobsAtOnce=1, CJob::PRIORITY priority=CJob::PRIORITY_LOW)
 CJobQueue constructor. More...
 
 ~CJobQueue () override
 CJobQueue destructor Cancels any in-process jobs, and destroys the job queue. More...
 
bool AddJob (CJob *job)
 Add a job to the queue On completion of the job (or destruction of the job queue) the CJob object will be destroyed. More...
 
template<typename F >
void Submit (F &&f)
 Add a function f to this job queue. More...
 
void CancelJob (const CJob *job)
 Cancel a job in the queue Cancels a job in the queue. Any job currently being processed may complete after this call has completed, but OnJobComplete will not be performed. If the job is only queued then it will be removed from the queue and deleted. More...
 
void CancelJobs ()
 Cancel all jobs in the queue Removes all jobs from the queue. Any job currently being processed may complete after this call has completed, but OnJobComplete will not be performed. More...
 
bool IsProcessing () const
 Check whether the queue is processing a job. More...
 
- Public Member Functions inherited from IJobCallback
virtual ~IJobCallback ()=default
 Destructor for job call back objects. More...
 
virtual void OnJobProgress (unsigned int jobID, unsigned int progress, unsigned int total, const CJob *job)
 An optional callback function that a job may call while processing. More...
 

Static Public Member Functions

static std::string GetLocalArt (const CFileItem &item, const std::string &type, bool checkFolder=false)
 Find a particular art type for a given item, optionally checking at the folder level. More...
 
static std::vector< std::string > GetArtTypes (const std::string &type)
 return the available art types for a given media type More...
 
static std::string GetEmbeddedThumbURL (const CFileItem &item)
 helper function to retrieve a thumb URL for embedded video thumbs More...
 
static void SetArt (CFileItem &item, const std::map< std::string, std::string > &artwork)
 set the artwork map for an item In addition, sets the standard fallbacks. More...
 
static bool GetEmbeddedThumb (const std::string &path, const std::string &type, EmbeddedArt &art)
 

Protected Member Functions

void DetectAndAddMissingItemData (CFileItem &item)
 Tries to detect missing data/info from a file and adds those. More...
 
const ArtMapGetArtFromCache (const std::string &mediaType, const int id)
 
- Protected Member Functions inherited from CJobQueue
bool QueueEmpty () const
 Returns if we still have jobs waiting to be processed NOTE: This function does not take into account the jobs that are currently processing. More...
 

Protected Attributes

CVideoDatabasem_videoDatabase
 
ArtCache m_artCache
 
- Protected Attributes inherited from CThumbLoader
CTextureDatabasem_textureDatabase
 
- Protected Attributes inherited from CBackgroundInfoLoader
CFileItemListm_pVecItems
 
std::vector< CFileItemPtrm_vecItems
 
CCriticalSection m_lock
 
volatile bool m_bIsLoading
 
volatile bool m_bStop
 
CThreadm_thread
 
IBackgroundLoaderObserverm_pObserver
 
IProgressCallbackm_pProgressCallback
 

Constructor & Destructor Documentation

◆ CVideoThumbLoader()

CVideoThumbLoader::CVideoThumbLoader ( )

◆ ~CVideoThumbLoader()

CVideoThumbLoader::~CVideoThumbLoader ( )
override

Member Function Documentation

◆ DetectAndAddMissingItemData()

void CVideoThumbLoader::DetectAndAddMissingItemData ( CFileItem item)
protected

Tries to detect missing data/info from a file and adds those.

Parameters
itemThe CFileItem to process
Returns
void
Todo:
in case of too many false positives due to using the full path, extract the filename only using string utils

◆ FillLibraryArt()

bool CVideoThumbLoader::FillLibraryArt ( CFileItem item)
overridevirtual

helper function to fill the art for a video library item

Parameters
itema video CFileItem
Returns
true if we fill art, false otherwise

Reimplemented from CThumbLoader.

◆ FillThumb()

bool CVideoThumbLoader::FillThumb ( CFileItem item)
virtual

Fill the thumb of a video item First uses a cached thumb from a previous run, then checks for a local thumb and caches it for the next run.

Parameters
itemthe CFileItem object to fill
Returns
true if we fill the thumb, false otherwise

◆ GetArtFromCache()

const ArtMap & CVideoThumbLoader::GetArtFromCache ( const std::string &  mediaType,
const int  id 
)
protected

◆ GetArtTypes()

std::vector< std::string > CVideoThumbLoader::GetArtTypes ( const std::string &  type)
static

return the available art types for a given media type

Parameters
typethe type of media.
Returns
a vector of art types.
See also
GetLocalArt

◆ GetEmbeddedThumb()

bool CVideoThumbLoader::GetEmbeddedThumb ( const std::string &  path,
const std::string &  type,
EmbeddedArt art 
)
static

◆ GetEmbeddedThumbURL()

std::string CVideoThumbLoader::GetEmbeddedThumbURL ( const CFileItem item)
static

helper function to retrieve a thumb URL for embedded video thumbs

Parameters
itema video CFileItem.
Returns
a URL for the embedded thumb.

◆ GetLocalArt()

std::string CVideoThumbLoader::GetLocalArt ( const CFileItem item,
const std::string &  type,
bool  checkFolder = false 
)
static

Find a particular art type for a given item, optionally checking at the folder level.

Parameters
itemthe CFileItem to search.
typethe type of art to look for.
checkFolderwhether to also check the folder level for files. Defaults to false.
Returns
the art file (if found), else empty.

◆ LoadItem()

bool CVideoThumbLoader::LoadItem ( CFileItem pItem)
overridevirtual

Look for a thumbnail for pItem. If one does not exist, look for an autogenerated thumbnail. If that does not exist, attempt to autogenerate one. Finally, check for the existence of fanart and set properties accordingly.

Returns
: true if pItem has been modified

Reimplemented from CBackgroundInfoLoader.

◆ LoadItemCached()

bool CVideoThumbLoader::LoadItemCached ( CFileItem pItem)
overridevirtual

Reimplemented from CBackgroundInfoLoader.

◆ LoadItemLookup()

bool CVideoThumbLoader::LoadItemLookup ( CFileItem pItem)
overridevirtual

Reimplemented from CBackgroundInfoLoader.

◆ OnJobComplete()

void CVideoThumbLoader::OnJobComplete ( unsigned int  jobID,
bool  success,
CJob job 
)
overridevirtual

Callback from CThumbExtractor on completion of a generated image.

Performs the callbacks and updates the GUI.

See also
CImageLoader, IJobCallback

Reimplemented from CJobQueue.

◆ OnLoaderFinish()

void CVideoThumbLoader::OnLoaderFinish ( )
overridevirtual

Reimplemented from CThumbLoader.

◆ OnLoaderStart()

void CVideoThumbLoader::OnLoaderStart ( )
overridevirtual

Reimplemented from CThumbLoader.

◆ SetArt()

void CVideoThumbLoader::SetArt ( CFileItem item,
const std::map< std::string, std::string > &  artwork 
)
static

set the artwork map for an item In addition, sets the standard fallbacks.

Parameters
itemthe item on which to set art.
artworkthe artwork map.

Member Data Documentation

◆ m_artCache

ArtCache CVideoThumbLoader::m_artCache
protected

◆ m_videoDatabase

CVideoDatabase* CVideoThumbLoader::m_videoDatabase
protected

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