DASH Media Packaging SDK
|
Classes | |
struct | WidevineSigner |
Signer credential for Widevine license server. More... | |
struct | WidevineEncryptionParams |
Widevine encryption parameters. More... | |
struct | PlayreadyEncryptionParams |
struct | RawKeyEncryptionParams |
Raw key encryption parameters, i.e. with key parameters provided. More... | |
struct | EncryptionParams |
Encryption parameters. More... | |
struct | WidevineDecryptionParams |
Widevine decryption parameters. More... | |
struct | RawKeyDecryptionParams |
Raw key decryption parameters, i.e. with key parameters provided. More... | |
struct | DecryptionParams |
Decryption parameters. More... | |
struct | Element |
struct | ContentProtectionElement |
class | DashIopMpdNotifier |
class | MockMpdBuilder |
class | MockAdaptationSet |
class | MockRepresentation |
class | MockMpdNotifier |
class | MpdBuilder |
This class generates DASH MPDs (Media Presentation Descriptions). More... | |
class | AdaptationSet |
class | RepresentationStateChangeListener |
class | Representation |
class | MpdNotifier |
struct | MpdOptions |
Defines Mpd Options. More... | |
struct | SegmentInfo |
class | SimpleMpdNotifier |
class | MpdNotifierFactory |
class | MpdWriter |
Typedefs | |
typedef MediaInfo::AudioInfo | AudioInfo |
typedef MediaInfo::VideoInfo | VideoInfo |
Enumerations | |
enum | KeyProvider { kNone = 0, kWidevine = 1, kPlayready = 2, kRawKey = 3 } |
Encryption / decryption key providers. | |
enum | ContentType { kContentTypeUnknown, kContentTypeVideo, kContentTypeAudio, kContentTypeText } |
enum | DashProfile { kUnknown, kOnDemand, kLive } |
enum | MpdType { kStatic, kDynamic } |
Functions | |
bool | ValidateFixedCryptoFlags () |
bool | ValidateHexString (const char *flagname, const std::string &value, std::vector< uint8_t > *value_bytes) |
bool | ValidatePRCryptoFlags () |
base::Optional< StreamDescriptor > | ParseStreamDescriptor (const std::string &descriptor_string) |
void | PrintError (const std::string &error_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 | LanguageToShortestForm (const std::string &language) |
std::string | LanguageToISO_639_2 (const std::string &language) |
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 | GetBaseCodec (const MediaInfo &media_info) |
std::string | GetAdaptationSetKey (const MediaInfo &media_info) |
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) |
std::string | DoubleToString (double value) |
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) |
Variables | |
const char | kEncryptedMp4Scheme [] = "urn:mpeg:dash:mp4protection:2011" |
const char | kPsshElementName [] = "cenc:pssh" |
NOTE: Inclusion of this module will cause curl_global_init and curl_global_cleanup to be called at static initialization / deinitialization time.
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, |
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 356 of file mpd_utils.cc.
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 361 of file mpd_utils.cc.
std::string shaka::DoubleToString | ( | double | value | ) |
Converts double to string.
value | is the input double data. |
Definition at line 184 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 32 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 191 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 117 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 89 of file language_utils.cc.
base::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 74 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.
bool shaka::ValidateFixedCryptoFlags | ( | ) |
Validate fixed encryption/decryption flags.
Definition at line 35 of file fixed_key_encryption_flags.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 33 of file validate_flag.h.
bool shaka::ValidatePRCryptoFlags | ( | ) |
Validate PlayReady encryption flags.
Definition at line 33 of file playready_key_encryption_flags.cc.
bool shaka::ValidateWidevineCryptoFlags | ( | ) |
Validate widevine encryption/decryption flags.
Definition at line 73 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 16 of file mpd_notifier_util.cc.