Shaka Packager SDK
|
All the methods that are virtual are virtual for mocking. More...
Classes | |
class | CallbackFile |
struct | FileCloser |
class | TempFile |
class | HttpFile |
class | IoCache |
Declaration of class which implements a thread-safe circular buffer. More... | |
class | LocalFile |
Implement LocalFile which deals with local storage. More... | |
class | MemoryFile |
class | ThreadPool |
class | ThreadedIoFile |
Declaration of class which implements a thread-safe circular buffer. More... | |
class | UdpFile |
Implements UdpFile, which receives UDP unicast and multicast streams. More... | |
class | UdpOptions |
Options parsed from UDP url string of the form: udp://ip:port[?options]. More... | |
class | FlagSaver |
class | AdaptationSet |
class | BandwidthEstimator |
struct | Element |
struct | ContentProtectionElement |
class | MockMpdBuilder |
class | MockPeriod |
class | MockAdaptationSet |
class | MockRepresentation |
class | MockMpdNotifier |
class | MpdBuilder |
This class generates DASH MPDs (Media Presentation Descriptions). More... | |
class | MpdNotifier |
struct | MpdOptions |
Defines Mpd Options. More... | |
class | Period |
class | RepresentationStateChangeListener |
class | Representation |
struct | SegmentInfo |
class | SimpleMpdNotifier |
class | MpdNotifierFactory |
class | MpdWriter |
struct | HexBytes |
class | Clock |
class | TestClock |
Typedefs | |
typedef std::pair< std::string, std::string > | KVPair |
typedef MediaInfo::AudioInfo | AudioInfo |
typedef MediaInfo::VideoInfo | VideoInfo |
Functions | |
bool | ValidateCryptoFlags () |
bool | ValidatePRCryptoFlags () |
bool | ValidateRawKeyCryptoFlags () |
bool | ValidateRetiredFlags () |
std::optional< StreamDescriptor > | ParseStreamDescriptor (const std::string &descriptor_string) |
void | PrintError (const std::string &error_message) |
void | PrintWarning (const std::string &warning_message) |
template<class FlagType > | |
bool | ValidateFlag (const char *flag_name, const FlagType &flag_value, bool condition, bool optional, const char *label) |
bool | ValidateWidevineCryptoFlags () |
std::string | generate_unique_temp_path () |
void | delete_file (const std::string &path) |
bool | TempFilePath (const std::string &temp_dir, std::string *temp_file_path) |
std::string | MakePathRelative (const std::filesystem::path &media_path, const std::filesystem::path &parent_path) |
std::vector< KVPair > | SplitStringIntoKeyValuePairs (std::string_view str, char kv_separator, char list_separator) |
std::string | LanguageToShortestForm (const std::string &language) |
std::string | LanguageToISO_639_2 (const std::string &language) |
bool | ProtectedContentEq (const MediaInfo::ProtectedContent &content_protection1, const MediaInfo::ProtectedContent &content_protection2) |
std::set< std::string > | GetUUIDs (const MediaInfo::ProtectedContent *protected_content) |
bool | WriteMpdToFile (const std::string &output_path, MpdBuilder *mpd_builder) |
ContentType | GetContentType (const MediaInfo &media_info) |
std::string | Uint8VectorToBase64 (const std::vector< uint8_t > &input) |
Converts uint8 vector into base64 encoded string. | |
bool | HasVODOnlyFields (const MediaInfo &media_info) |
bool | HasLiveOnlyFields (const MediaInfo &media_info) |
void | RemoveDuplicateAttributes (ContentProtectionElement *content_protection_element) |
std::string | GetLanguage (const MediaInfo &media_info) |
std::string | GetCodecs (const MediaInfo &media_info) |
std::string | GetSupplementalCodecs (const MediaInfo &media_info) |
std::string | GetSupplementalProfiles (const MediaInfo &media_info) |
std::string | GetBaseCodec (const MediaInfo &media_info) |
std::string | GetAdaptationSetKey (const MediaInfo &media_info, bool ignore_codec) |
std::string | FloatToXmlString (double number) |
std::string | SecondsToXmlDuration (double seconds) |
bool | GetDurationAttribute (xmlNodePtr node, float *duration) |
bool | MoreThanOneTrue (bool b1, bool b2, bool b3) |
bool | AtLeastOneTrue (bool b1, bool b2, bool b3) |
bool | OnlyOneTrue (bool b1, bool b2, bool b3) |
bool | HexToUUID (const std::string &data, std::string *uuid_format) |
void | UpdateContentProtectionPsshHelper (const std::string &drm_uuid, const std::string &pssh, std::list< ContentProtectionElement > *content_protection_elements) |
void | AddContentProtectionElements (const MediaInfo &media_info, Representation *parent) |
void | AddContentProtectionElements (const MediaInfo &media_info, AdaptationSet *parent) |
bool | XmlEqual (const std::string &xml1, const xml::XmlNode &xml2) |
std::ostream & | operator<< (std::ostream &os, const Status &x) |
bool | AbslParseFlag (absl::string_view text, HexBytes *flag, std::string *error) |
std::string | AbslUnparseFlag (const HexBytes &flag) |
std::string_view | byte_array_to_string_view (const uint8_t *bytes, size_t bytes_size) |
Convert byte array to string_view. | |
std::string_view | byte_vector_to_string_view (const std::vector< uint8_t > &bytes) |
Convert byte vector to string_view. | |
void | HexStringToBytes (const std::string &hex, std::vector< uint8_t > *bytes) |
bool | ValidHexStringToBytes (const std::string &hex, std::vector< uint8_t > *bytes) |
bool | ValidHexStringToBytes (const std::string &hex, std::string *bytes) |
std::vector< std::string > | SplitAndTrimSkipEmpty (const std::string &str, char delimiter) |
All the methods that are virtual are virtual for mocking.
All the methods that are virtual are virtual for mocking. NOTE: Inclusion of this module will cause xmlInitParser and xmlCleanupParser to be called at static initialization / deinitialization time.
This file contains helper functions and enums for MpdNotifier implementations.
void shaka::AddContentProtectionElements | ( | const MediaInfo & | media_info, |
AdaptationSet * | parent | ||
) |
Adds <ContentProtection> elements specified by media_info to representation.
media_info | may or may not have protected_content field. |
representation | is the parent element that owns the ContentProtection elements. |
Definition at line 528 of file mpd_utils.cc.
void shaka::AddContentProtectionElements | ( | const MediaInfo & | media_info, |
Representation * | parent | ||
) |
Adds <ContentProtection> elements specified by media_info to adaptation_set. Note that this will add the elements as direct chlidren of AdaptationSet.
media_info | may or may not have protected_content field. |
adaptation_set | is the parent element that owns the ContentProtection elements. |
Definition at line 523 of file mpd_utils.cc.
ContentType shaka::GetContentType | ( | const MediaInfo & | media_info | ) |
Determines the content type of |media_info|.
media_info | is the information about the media. |
Definition at line 34 of file mpd_notifier_util.cc.
bool shaka::HexToUUID | ( | const std::string & | data, |
std::string * | uuid_format | ||
) |
Converts hex data to UUID format. Hex data must be size 16.
data | input hex data. |
uuid_format | is the UUID format of the input. |
Definition at line 290 of file mpd_utils.cc.
std::string shaka::LanguageToISO_639_2 | ( | const std::string & | language | ) |
Convert a language tag to a 3-letter ISO-639-2 code, as required by the ISO BMFF spec. The input is assumed to be a valid ISO-639-2 or ISO-639-1 language code. Regions and variants are not supported.
Definition at line 120 of file language_utils.cc.
std::string shaka::LanguageToShortestForm | ( | const std::string & | language | ) |
Convert a language tag to its shortest form, as required by RFC 5646 indicated in the MPD and HLS specs. Assumes the input is a valid ISO-639-2 or ISO-639-1 language tag, or an empty string. Regions and variants are preserved in the conversion.
Definition at line 92 of file language_utils.cc.
std::optional< StreamDescriptor > shaka::ParseStreamDescriptor | ( | const std::string & | descriptor_string | ) |
Parses a descriptor string, and inserts into sorted list of stream descriptors.
descriptor_string | contains comma separate name-value pairs describing the stream. |
descriptor_list | is a pointer to the sorted descriptor list into which the new descriptor should be inserted. |
Definition at line 107 of file stream_descriptor.cc.
void shaka::PrintError | ( | const std::string & | error_message | ) |
Format and print error message.
error_message | specifies the error message. |
Definition at line 15 of file validate_flag.cc.
void shaka::PrintWarning | ( | const std::string & | warning_message | ) |
Format and print warning message.
warning_message | specifies the warning message. |
Definition at line 19 of file validate_flag.cc.
bool shaka::TempFilePath | ( | const std::string & | temp_dir, |
std::string * | temp_file_path | ||
) |
Create a temp file name in directory temp_dir. Generate the temp file in os specific temporary directory if temp_dir is empty.
temp_dir | specifies the directory where the file should go. |
temp_file_path | is the result temp file path on success. |
Definition at line 43 of file file_util.cc.
bool shaka::ValidateFlag | ( | const char * | flag_name, |
const FlagType & | flag_value, | ||
bool | condition, | ||
bool | optional, | ||
const char * | label | ||
) |
Validate a flag against the given condition.
flag_name | is the name of the flag. |
flag_value | is the value of the flag. |
condition,optional | determines how the flag should be validated. If condition is true and optional is false, then this flag is required |
label | specifies the label associated with the condition. It is used to generate the error message on validation failure. |
Definition at line 37 of file validate_flag.h.
bool shaka::ValidatePRCryptoFlags | ( | ) |
Validate PlayReady encryption flags.
Definition at line 31 of file playready_key_encryption_flags.cc.
bool shaka::ValidateRawKeyCryptoFlags | ( | ) |
Validate raw encryption/decryption flags.
Definition at line 56 of file raw_key_encryption_flags.cc.
bool shaka::ValidateWidevineCryptoFlags | ( | ) |
Validate widevine encryption/decryption flags.
Definition at line 91 of file widevine_encryption_flags.cc.
bool shaka::WriteMpdToFile | ( | const std::string & | output_path, |
MpdBuilder * | mpd_builder | ||
) |
Outputs MPD to output_path.
output_path | is the path to the MPD output location. |
mpd_builder | is the MPD builder instance. |
Definition at line 18 of file mpd_notifier_util.cc.