Shaka Packager SDK
Static Public Member Functions | List of all members
shaka::media::RawKeySource Class Reference

A key source that uses raw keys for encryption. More...

#include <raw_key_source.h>

Inheritance diagram for shaka::media::RawKeySource:
shaka::media::KeySource

Public Member Functions

KeySource implementation overrides.
Status FetchKeys (EmeInitDataType init_data_type, const std::vector< uint8_t > &init_data) override
 
Status GetKey (const std::string &stream_label, EncryptionKey *key) override
 
Status GetKey (const std::vector< uint8_t > &key_id, EncryptionKey *key) override
 
Status GetCryptoPeriodKey (uint32_t crypto_period_index, const std::string &stream_label, EncryptionKey *key) override
 
- Public Member Functions inherited from shaka::media::KeySource
 KeySource (int protection_systems_flags, FourCC protection_scheme)
 

Static Public Member Functions

static std::unique_ptr< RawKeySourceCreate (const RawKeyParams &raw_key, int protection_system_flags, FourCC protection_scheme)
 

Additional Inherited Members

- Protected Member Functions inherited from shaka::media::KeySource
Status UpdateProtectionSystemInfo (EncryptionKeyMap *encryption_key_map)
 

Detailed Description

A key source that uses raw keys for encryption.

Definition at line 21 of file raw_key_source.h.

Member Function Documentation

◆ Create()

std::unique_ptr< RawKeySource > shaka::media::RawKeySource::Create ( const RawKeyParams raw_key,
int  protection_system_flags,
FourCC  protection_scheme 
)
static

Creates a new RawKeySource from the given data. Returns null if the parameter is malformed.

Parameters
raw_keycontains parameters to setup the key source.
protection_systems_flagsis the flags indicating which PSSH should be included.
protection_schemeis the Protection Scheme to be used for encryption. It needs to be signalled in Widevine PSSH. This argument can be ignored if Widevine PSSH is not generated.

Definition at line 99 of file raw_key_source.cc.

◆ FetchKeys()

Status shaka::media::RawKeySource::FetchKeys ( EmeInitDataType  init_data_type,
const std::vector< uint8_t > &  init_data 
)
overridevirtual

Fetch keys based on the specified encrypted media init data.

Parameters
init_data_typespecifies the encrypted media init data type.
init_datacontains the init data.
Returns
OK on success, an error status otherwise.

Implements shaka::media::KeySource.

Definition at line 25 of file raw_key_source.cc.

◆ GetCryptoPeriodKey()

Status shaka::media::RawKeySource::GetCryptoPeriodKey ( uint32_t  crypto_period_index,
const std::string &  stream_label,
EncryptionKey key 
)
overridevirtual

Get encryption key of the specified track type at the specified index.

Parameters
crypto_period_indexis the sequence number of the key rotation period for which the key is being retrieved.
stream_labelis the label of stream for which retrieving the key.
keyis a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL.
Returns
OK on success, an error status otherwise.

Implements shaka::media::KeySource.

Definition at line 62 of file raw_key_source.cc.

◆ GetKey() [1/2]

Status shaka::media::RawKeySource::GetKey ( const std::string &  stream_label,
EncryptionKey key 
)
overridevirtual

Get encryption key of the specified stream label.

Parameters
stream_labelis the label of stream for which retrieving the key.
keyis a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL.
Returns
OK on success, an error status otherwise.

Implements shaka::media::KeySource.

Definition at line 31 of file raw_key_source.cc.

◆ GetKey() [2/2]

Status shaka::media::RawKeySource::GetKey ( const std::vector< uint8_t > &  key_id,
EncryptionKey key 
)
overridevirtual

Get the encryption key specified by the CENC key ID.

Parameters
key_idis the unique identifier for the key being retreived.
keyis a pointer to the EncryptionKey which will hold the retrieved key. Owner retains ownership, and may not be NULL.
Returns
OK on success, or an error status otherwise.

Implements shaka::media::KeySource.

Definition at line 48 of file raw_key_source.cc.


The documentation for this class was generated from the following files: