|
Kodi Documentation 23.0
Kodi is an open source media player and entertainment hub.
|
Namespaces | |
| namespace | MUSICDATABASEDIRECTORY |
| namespace | SMBFileRecovery |
| namespace | VIDEODATABASEDIRECTORY |
Typedefs | |
| using | StreamMap = std::unordered_map<unsigned int, std::shared_ptr<TSStreamInfo>> |
| using | DiscPlaylistDurations = std::map<unsigned int, std::chrono::milliseconds> |
| The disc's playlists and their durations, which a record has to agree with to be believed. | |
| template<class TEntry > | |
| using | DirectorizeEntryToFileItemFunction = CFileItemPtr(*)(const TEntry& entry, const std::string& label, const std::string& path, bool isFolder) |
| Method definition to convert an entry to a CFileItemPtr. | |
| template<class TEntry > | |
| using | DirectorizeEntry = std::pair<std::string, TEntry> |
| template<class TEntry > | |
| using | DirectorizeEntries = std::vector<DirectorizeEntry<TEntry>> |
| using | PlaylistMap = std::map<unsigned int, PlaylistInformation> |
| using | PlaylistNames = std::map<unsigned int, std::string> |
| using | ClipMap = std::map<unsigned int, ClipInfo> |
| using | Episode = KODI::VIDEO::EPISODE |
| using | Episodes = std::vector<KODI::VIDEO::EPISODE> |
| using | StreamDetailsProvider = std::function<void(unsigned int title, CFileItem& item)> |
| Populates the stream details of item for the given title on the disc. Supplied by the disc's directory implementation. | |
| using | PlaylistHintMap = std::map<unsigned int, PlaylistHint> |
Enumerations | |
| enum class | StreamDetails : bool { DEFER , INCLUDE } |
| Whether a playlist's stream details are wanted. Deriving them means reading the .clpi of every clip the playlist references and parsing the m2ts of the longest, so during playlist determination - where only the structure of each playlist on the disc matters - they are deferred until a playlist is known to be wanted. More... | |
| enum class | BLURAY_PLAYBACK_TYPE : unsigned int { SEQUENTIAL = 1 , RANDOM , SHUFFLE } |
| enum class | BLURAY_CONNECTION : unsigned int { SEAMLESS = 1 , NONSEAMLESS = 5 , BRANCHING = 6 } |
| enum class | BLURAY_SUBPATH_TYPE : unsigned int { PRIMARY_AUDIO_SLIDESHOW = 2 , INTERACTIVE_GRAPHICS_PRESENTATION_MENU , TEXT_SUBTITLE_PRESENTATION , OUTOFMUX_SYNCHRONOUS , OUTOFMUX_ASYNCHRONOUS_PIP , INMUX_SYNCHRONOUS_PIP , STEREOSCOPIC_VIDEO , STEREOSCOPIC_INTERACTIVE_GRAPHICS_MENU , DOLBY_VISION_LAYER } |
| enum class | BLURAY_STREAM_TYPE : unsigned int { PLAYITEM = 1 , SUBPATH , SUBPATH_INMUX_SYNCHRONOUS_PIP , SUBPATH_DOLBY_VISION_LAYER } |
| enum class | BLURAY_MARK_TYPE : unsigned int { ENTRY = 1 , LINK } |
| enum class | STREAM_TYPE : unsigned int { VIDEO_STREAM = 0 , AUDIO_STREAM , PRESENTATION_GRAPHIC_STREAM , INTERACTIVE_GRAPHIC_STREAM , SECONDARY_VIDEO_STREAM , SECONDARY_AUDIO_STREAM , PICTURE_IN_PICTURE_SUBTITLE_STREAM , DOLBY_VISION_STREAM } |
| enum class | ProjectReadResult : uint8_t { READ , ABSENT , FAILED } |
| How a look for the disc's authoring project ended. More... | |
| enum class | GetTitle : uint8_t { SINGLE , MAIN , EPISODES , ALL } |
| enum class | SortTitles : uint8_t { SORT_TITLES_NONE , SORT_TITLES_EPISODE , SORT_TITLES_MOVIE } |
| enum class | AddMenuAndAllTitlesOptions : uint8_t { NONE = 0x00 , ADD_MENU = 0x01 , ADD_ALL_TITLES = 0x02 } |
| enum class | MenuDecision : uint8_t { NO_ACTION , SILENT , SHOW_SIMPLE_MENU , SHOW_DISC_MENU , GET_MAIN_TITLE } |
| enum class | ENCODING_TYPE : uint8_t { VIDEO_MPEG2 = 0x02 , VIDEO_VC1 = 0xea , VIDEO_H264 = 0x1b , VIDEO_H264_MVC = 0x20 , VIDEO_HEVC = 0x24 , AUDIO_LPCM = 0x80 , AUDIO_AC3 = 0x81 , AUDIO_DTS = 0x82 , AUDIO_TRUHD = 0x83 , AUDIO_AC3PLUS = 0x84 , AUDIO_DTSHD = 0x85 , AUDIO_DTSHD_MASTER = 0x86 , AUDIO_AC3PLUS_SECONDARY = 0xa1 , AUDIO_DTSHD_SECONDARY = 0xa2 , SUB_PG = 0x90 , SUB_IG = 0x91 , SUB_TEXT = 0x92 } |
| enum class | ASPECT_RATIO : uint8_t { RATIO_4_3 = 2 , RATIO_16_9 = 3 } |
| enum class | CacheType { NEVER = 0 , ONCE , ALWAYS } |
| enum | DIR_FLAG { DIR_FLAG_DEFAULTS = 0 , DIR_FLAG_NO_FILE_DIRS = (2 << 0) , DIR_FLAG_ALLOW_PROMPT = (2 << 1) , DIR_FLAG_NO_FILE_INFO = (2 << 2) , DIR_FLAG_GET_HIDDEN = (2 << 3) , DIR_FLAG_READ_CACHE = (2 << 4) , DIR_FLAG_BYPASS_CACHE } |
| Available directory flags The defaults are to allow file directories, no prompting, retrieve file information, hide hidden files, and utilise the directory cache based on the implementation's wishes. More... | |
| enum class | CacheBufferMode { INTERNET = 0 , ALL = 1 , TRUE_INTERNET = 2 , NONE = 3 , NETWORK = 4 } |
| enum class | IOControl { NATIVE = 1 , SEEK_POSSIBLE = 2 , CACHE_STATUS = 3 , CACHE_SETRATE = 4 , SET_CACHE = 8 , SET_RETRY = 16 } |
| enum class | CURLOptionType { OPTION , PROTOCOL , CREDENTIALS , HEADER } |
| enum class | FileProperty { RESPONSE_PROTOCOL , RESPONSE_HEADER , CONTENT_TYPE , CONTENT_CHARSET , MIME_TYPE , EFFECTIVE_URL } |
| enum class | PlaylistRole : uint8_t { UNKNOWN , FEATURE , EPISODE , SPECIAL , FRONT_MATTER , MENU } |
| What a disc says a playlist holds, where it says anything. More... | |
Functions | |
| PlaylistRole | GetProjectPlaylistRole (std::string_view name) |
| Classify a playlist by the name the disc's authoring project gave it. | |
| float | GetDisplayAspectRatio (const TSVideoStreamInfo &videoStream) |
| const PlayItemInformation * | GetLongestPlayItem (const BlurayPlaylistInformation &playlist) |
| const ClipInformation * | GetLongestPlayItemClip (const BlurayPlaylistInformation &playlist) |
| constexpr AddMenuAndAllTitlesOptions | operator| (AddMenuAndAllTitlesOptions lhs, AddMenuAndAllTitlesOptions rhs) |
| constexpr bool | operator& (AddMenuAndAllTitlesOptions lhs, AddMenuAndAllTitlesOptions rhs) |
| std::unique_ptr< IHttpClient > | CreateHttpClient () |
| constexpr std::string_view | GetPlaylistRoleName (PlaylistRole role) |
| TEST (TestHttpClientFactory, CreateReturnsNonNull) | |
| TEST (TestHttpClientFactory, CreateReturnsCurlHttpClient) | |
| TEST_F (TestCurlHttpClient, GetPropertyOnIdleClientReturnsEmpty) | |
| TEST_F (TestCurlHttpClient, CancelAndResetLeaveIdleClientUsable) | |
| TEST_F (TestCurlHttpClient, SettersDispatchThroughInterface) | |
Variables | |
| const auto | CATEGORY_INFO_PROVIDERS = "category.infoproviders" |
| const auto | CATEGORY_LOOK_AND_FEEL = "category.lookandfeel" |
| const auto | CATEGORY_GAME_ADDONS = "category.gameaddons" |
| const auto | CATEGORY_EMULATORS = "category.emulators" |
| const auto | CATEGORY_STANDALONE_GAMES = "category.standalonegames" |
| const auto | CATEGORY_GAME_PROVIDERS = "category.gameproviders" |
| const auto | CATEGORY_GAME_RESOURCES = "category.gameresources" |
| const auto | CATEGORY_GAME_SUPPORT_ADDONS = "category.gamesupport" |
| const std::set< AddonType > | infoProviderTypes |
| const std::set< AddonType > | lookAndFeelTypes |
| const std::set< AddonType > | gameTypes |
| using XFILE::ClipMap = std::map<unsigned int, ClipInfo> |
| using XFILE::DirectorizeEntries = std::vector<DirectorizeEntry<TEntry>> |
| using XFILE::DirectorizeEntry = std::pair<std::string, TEntry> |
| using XFILE::DirectorizeEntryToFileItemFunction = CFileItemPtr(*)(const TEntry& entry, const std::string& label, const std::string& path, bool isFolder) |
Method definition to convert an entry to a CFileItemPtr.
| entry | The entry to convert to a CFileItemPtr |
| label | The label of the entry |
| path | The path of the entry |
| isFolder | Whether the entry is a folder or not |
| using XFILE::DiscPlaylistDurations = std::map<unsigned int, std::chrono::milliseconds> |
The disc's playlists and their durations, which a record has to agree with to be believed.
| using XFILE::Episode = KODI::VIDEO::EPISODE |
| using XFILE::Episodes = std::vector<KODI::VIDEO::EPISODE> |
| using XFILE::PlaylistHintMap = std::map<unsigned int, PlaylistHint> |
| using XFILE::PlaylistMap = std::map<unsigned int, PlaylistInformation> |
| using XFILE::PlaylistNames = std::map<unsigned int, std::string> |
What the disc calls each playlist, where it says. Shown alongside the playlist number so a listing says what the disc calls a title, not just which it is.
| using XFILE::StreamDetailsProvider = std::function<void(unsigned int title, CFileItem& item)> |
Populates the stream details of item for the given title on the disc. Supplied by the disc's directory implementation.
| using XFILE::StreamMap = std::unordered_map<unsigned int, std::shared_ptr<TSStreamInfo>> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
| enum XFILE::DIR_FLAG |
Available directory flags The defaults are to allow file directories, no prompting, retrieve file information, hide hidden files, and utilise the directory cache based on the implementation's wishes.
|
strong |
|
strong |
The following names for CURL_OPTION_PROTOCOL are possible:
accept-charset: Set the "accept-charset" header acceptencoding or encoding: Set the "accept-encoding" header active-remote: Set the "active-remote" header auth: Set the authentication method. Possible values: any, anysafe, digest, ntlm, basic connection-timeout: Set the connection timeout in seconds cookie: Set the "cookie" header customrequest: Set a custom HTTP request like DELETE noshout: Set to true if kodi detects a stream as shoutcast by mistake. postdata: Set the post body (value needs to be base64 encoded). (Implicitly sets the request to POST) referer: Set the "referer" header user-agent: Set the "user-agent" header seekable: Set the stream seekable. 1: enable, 0: disable sslcipherlist: Set list of accepted SSL ciphers.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| NATIVE | SNativeIoControl structure, containing what should be passed to native ioctrl |
| SEEK_POSSIBLE | return 0 if known not to work, 1 if it should work |
| CACHE_STATUS | SCacheStatus structure |
| CACHE_SETRATE | unsigned int with speed limit for caching in bytes per second |
| SET_CACHE | |
| SET_RETRY | Enable/disable retry within the protocol handler (if supported) |
|
strong |
|
strong |
What a disc says a playlist holds, where it says anything.
|
strong |
How a look for the disc's authoring project ended.
A disc carrying no project and a disc that could not be read both name no playlists, but only the first is an answer. The second has to be told apart so that it can be looked for again.
| Enumerator | |
|---|---|
| READ | the disc carries a project and it was parsed |
| ABSENT | the disc carries no project, as most do not |
| FAILED | the disc carries a project that could not be read, so nothing is known yet |
|
strong |
|
strong |
|
strong |
Whether a playlist's stream details are wanted. Deriving them means reading the .clpi of every clip the playlist references and parsing the m2ts of the longest, so during playlist determination - where only the structure of each playlist on the disc matters - they are deferred until a playlist is known to be wanted.
| Enumerator | |
|---|---|
| DEFER | |
| INCLUDE | |
| std::unique_ptr< IHttpClient > XFILE::CreateHttpClient | ( | ) |
|
inline |
|
inline |
|
inline |
|
constexpr |
| PlaylistRole XFILE::GetProjectPlaylistRole | ( | std::string_view | name | ) |
Classify a playlist by the name the disc's authoring project gave it.
The names follow a convention rather than a specification, so this is a hint about what a playlist holds, not a statement of fact. It has held on every disc carrying a project so far, but a disc from another authoring house may well name things differently.
|
constexpr |
|
constexpr |
| XFILE::TEST | ( | TestHttpClientFactory | , |
| CreateReturnsCurlHttpClient | ) |
| XFILE::TEST | ( | TestHttpClientFactory | , |
| CreateReturnsNonNull | ) |
| XFILE::TEST_F | ( | TestCurlHttpClient | , |
| CancelAndResetLeaveIdleClientUsable | ) |
| XFILE::TEST_F | ( | TestCurlHttpClient | , |
| GetPropertyOnIdleClientReturnsEmpty | ) |
| XFILE::TEST_F | ( | TestCurlHttpClient | , |
| SettersDispatchThroughInterface | ) |
| const auto XFILE::CATEGORY_EMULATORS = "category.emulators" |
| const auto XFILE::CATEGORY_GAME_ADDONS = "category.gameaddons" |
| const auto XFILE::CATEGORY_GAME_PROVIDERS = "category.gameproviders" |
| const auto XFILE::CATEGORY_GAME_RESOURCES = "category.gameresources" |
| const auto XFILE::CATEGORY_GAME_SUPPORT_ADDONS = "category.gamesupport" |
| const auto XFILE::CATEGORY_INFO_PROVIDERS = "category.infoproviders" |
| const auto XFILE::CATEGORY_LOOK_AND_FEEL = "category.lookandfeel" |
| const auto XFILE::CATEGORY_STANDALONE_GAMES = "category.standalonegames" |
| const std::set<AddonType> XFILE::gameTypes |
| const std::set<AddonType> XFILE::infoProviderTypes |
| const std::set<AddonType> XFILE::lookAndFeelTypes |