Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
VideoUtils.cpp File Reference
#include "VideoUtils.h"
#include "FileItem.h"
#include "FileItemList.h"
#include "ServiceBroker.h"
#include "URL.h"
#include "Util.h"
#include "filesystem/Directory.h"
#include "filesystem/StackDirectory.h"
#include "network/NetworkFileItemClassify.h"
#include "playlists/PlayListFileItemClassify.h"
#include "settings/AdvancedSettings.h"
#include "settings/SettingUtils.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
#include "settings/lib/Setting.h"
#include "utils/ArtUtils.h"
#include "utils/FileExtensionProvider.h"
#include "utils/FileUtils.h"
#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
#include "utils/XBMCTinyXML2.h"
#include "utils/log.h"
#include "video/VideoDatabase.h"
#include "video/VideoInfoTag.h"
#include <algorithm>
#include <array>
#include <chrono>
#include <cstdint>
#include <ranges>
#include <vector>

Namespaces

namespace  KODI
 
namespace  KODI::VIDEO
 
namespace  KODI::VIDEO::UTILS
 

Functions

std::string KODI::VIDEO::UTILS::FindTrailer (const CFileItem &item, KODI::REGEXP::RegExpCache *cache=nullptr)
 Find a local trailer file for a given file item.
 
std::string KODI::VIDEO::UTILS::GetOpticalMediaPath (const CFileItem &item)
 Check whether an item is an optical media folder or its parent. This will return the non-empty path to the playable entry point of the media one or two levels down (VIDEO_TS.IFO for DVDs or index.bdmv for BDs). The returned path will be empty if folder does not meet this criterion.
 
bool KODI::VIDEO::UTILS::IsAutoPlayNextItem (const CFileItem &item)
 Check whether auto play next item is set for the media type of the given item.
 
bool KODI::VIDEO::UTILS::IsAutoPlayNextItem (const std::string &content)
 Check whether auto play next item is set for the given content type.
 
std::optional< intKODI::VIDEO::UTILS::GetNextPartFromBookmark (const CBookmark &bookmark)
 Parses a playerState string from a bookmark and returns the next stack part number if available.
 
std::optional< std::tuple< int64_t, unsigned int > > KODI::VIDEO::UTILS::GetStackResumeOffsetAndPartNumber (const CFileItem &item)
 Get the resume offset and part number for the given stack item.
 
int64_t KODI::VIDEO::UTILS::GetStackPartResumeOffset (const CFileItem &item, unsigned int partNumber)
 Get the resume offset for a part of a stack item.
 
int64_t KODI::VIDEO::UTILS::GetStackPartStartOffset (const CFileItem &item, unsigned int partNumber)
 Get the start offset for a part of a stack item.
 
ResumeInformation KODI::VIDEO::UTILS::GetItemResumeInformation (const CFileItem &item)
 Check whether playback of the given item can be resumed, get detailed information.
 
std::shared_ptr< CFileItemKODI::VIDEO::UTILS::LoadVideoFilesFolderInfo (const CFileItem &folder)
 For a given non-library folder containing video files, load info from the video database.
 
std::string KODI::VIDEO::UTILS::NormaliseEditionName (const std::string &name)
 Reduce an edition name to its lower case words, so that two can be compared regardless of the punctuation and separators a filesystem allows (ex. "Director's Cut" vs "Directors.Cut"). Apostrophes are dropped and every other punctuation character becomes a word separator. Non-ascii characters are otherwise kept, so that a localised name still matches itself. The result is wrapped in spaces, so that a plain substring search only ever matches whole words.
 
std::string KODI::VIDEO::UTILS::FindEditionInName (const std::string &name, const std::vector< std::string > &editions)
 Look for the name of a known edition (ex. "Director's Cut") within a name, usually that of the folder a movie is in. Matching ignores case, punctuation and separators, and only ever matches whole words. The longest match wins, so that "Ultimate Collector's Edition" is preferred over the "Collector's Edition" it contains. A match at the very start of name is ignored, as that is a movie whose title is itself an edition name (ex. "The Final Cut (2004)") rather than a version of some other movie.