DASH Media Packaging SDK
|
A key source that uses playready for encryption. More...
#include <playready_key_source.h>
Public Member Functions | |
PlayReadyKeySource (const std::string &server_url) | |
PlayReadyKeySource (const std::string &server_url, const std::string &client_cert_file, const std::string &client_cert_private_key_file, const std::string &client_cert_private_key_password) | |
virtual Status | FetchKeysWithProgramIdentifier (const std::string &program_identifier) |
void | SetCaFile (const std::string &ca_file) |
Sets the Certificate Authority file for validating self-signed certificates. | |
KeySource implementation overrides. | |
Status | FetchKeys (const std::vector< uint8_t > &pssh_box) override |
Status | FetchKeys (const std::vector< std::vector< uint8_t >> &key_ids) override |
Status | FetchKeys (uint32_t asset_id) override |
Status | GetKey (TrackType track_type, EncryptionKey *key) override |
Status | GetKey (const std::vector< uint8_t > &key_id, EncryptionKey *key) override |
Status | GetCryptoPeriodKey (uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key) override |
Static Public Member Functions | |
static std::unique_ptr < PlayReadyKeySource > | CreateFromKeyAndKeyId (const std::string &key_id_hex, const std::string &key_hex) |
Static Public Member Functions inherited from shaka::media::KeySource | |
static TrackType | GetTrackTypeFromString (const std::string &track_type_string) |
Convert string representation of track type to enum representation. | |
static std::string | TrackTypeToString (TrackType track_type) |
Convert TrackType to string. | |
Additional Inherited Members | |
Public Types inherited from shaka::media::KeySource | |
enum | TrackType { TRACK_TYPE_UNKNOWN = 0, TRACK_TYPE_SD = 1, TRACK_TYPE_HD = 2, TRACK_TYPE_UHD1 = 3, TRACK_TYPE_UHD2 = 4, TRACK_TYPE_AUDIO = 5, TRACK_TYPE_UNSPECIFIED = 6, NUM_VALID_TRACK_TYPES = 6 } |
A key source that uses playready for encryption.
Definition at line 24 of file playready_key_source.h.
shaka::media::PlayReadyKeySource::PlayReadyKeySource | ( | const std::string & | server_url | ) |
Creates a new PlayReadyKeySource from the given packaging information.
server_url | PlayReady packaging server url. |
Definition at line 160 of file playready_key_source.cc.
shaka::media::PlayReadyKeySource::PlayReadyKeySource | ( | const std::string & | server_url, |
const std::string & | client_cert_file, | ||
const std::string & | client_cert_private_key_file, | ||
const std::string & | client_cert_private_key_password | ||
) |
Creates a new PlayReadyKeySource from the given packaging information.
server_url | PlayReady packaging server url. |
client_cert_file | absolute path to a client certificate. |
client_cert_private_key_file | absolute path to the private file for the client certificate. |
client_cert_private_key_password | password for the private key. |
Definition at line 166 of file playready_key_source.cc.
|
static |
Creates a new PlayReadyKeySource from the hex string information. Returns null if the strings are invalid.
key_id_hex | is the key id in hex string. |
key_hex | is the key in hex string. Note: GetKey on the created key source will always return the same key for all track types. |
Definition at line 184 of file playready_key_source.cc.
|
overridevirtual |
Fetch keys for CENC from the key server.
pssh_box | The entire PSSH box for the content to be decrypted |
Implements shaka::media::KeySource.
Definition at line 313 of file playready_key_source.cc.
|
overridevirtual |
Fetch keys for CENC from the key server.
key_ids | the key IDs for the keys to fetch from the server. |
Implements shaka::media::KeySource.
Definition at line 318 of file playready_key_source.cc.
|
overridevirtual |
Fetch keys for WVM decryption from the key server.
asset_id | is the Widevine Classic asset ID for the content to be decrypted. |
Implements shaka::media::KeySource.
Definition at line 324 of file playready_key_source.cc.
|
overridevirtual |
Get encryption key of the specified track type at the specified index.
crypto_period_index | is the sequence number of the key rotation period for which the key is being retrieved. |
track_type | is the type of track for which retrieving the key. |
key | is a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL. |
Implements shaka::media::KeySource.
Definition at line 349 of file playready_key_source.cc.
|
overridevirtual |
Get encryption key of the specified track type.
track_type | is the type of track for which retrieving the key. |
key | is a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL. |
Implements shaka::media::KeySource.
Definition at line 329 of file playready_key_source.cc.
|
overridevirtual |
Get the encryption key specified by the CENC key ID.
key_id | is the unique identifier for the key being retreived. |
key | is a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL. |
Implements shaka::media::KeySource.
Definition at line 339 of file playready_key_source.cc.