7 #ifndef PACKAGER_MEDIA_PUBLIC_CRYPTO_PARAMS_H_ 8 #define PACKAGER_MEDIA_PUBLIC_CRYPTO_PARAMS_H_ 30 enum class SigningKeyType {
37 SigningKeyType signing_key_type = SigningKeyType::kNone;
40 std::vector<uint8_t>
key;
42 std::vector<uint8_t>
iv;
94 std::vector<uint8_t>
iv;
100 using StreamLabel = std::string;
102 std::vector<uint8_t> key_id;
103 std::vector<uint8_t> key;
126 bool generate_common_pssh =
false;
130 bool generate_playready_pssh =
false;
134 bool generate_widevine_pssh =
false;
137 double clear_lead_in_seconds = 0;
139 static constexpr uint32_t kProtectionSchemeCenc = 0x63656E63;
140 static constexpr uint32_t kProtectionSchemeCbc1 = 0x63626331;
141 static constexpr uint32_t kProtectionSchemeCens = 0x63656E73;
142 static constexpr uint32_t kProtectionSchemeCbcs = 0x63626373;
143 uint32_t protection_scheme = kProtectionSchemeCenc;
146 static constexpr
double kNoKeyRotation = 0;
147 double crypto_period_duration_in_seconds = kNoKeyRotation;
149 bool vp9_subsample_encryption =
true;
159 StreamType stream_type = kUnknown;
166 float frame_rate = 0;
171 int number_of_channels = 0;
180 std::function<std::string(const EncryptedStreamAttributes& stream_attributes)>
205 #endif // PACKAGER_MEDIA_PUBLIC_CRYPTO_PARAMS_H_ std::string key_server_url
Widevine license / key server URL.
std::string key_server_url
PlayReady license / key server URL.
std::string client_cert_private_key_password
Password to the private key file.
KeyProvider
Encryption / decryption key providers.
Widevine decryption parameters.
std::function< std::string(const EncryptedStreamAttributes &stream_attributes)> stream_label_func
WidevineSigner signer
Signer credential for Widevine license / key server.
std::vector< uint8_t > content_id
Content identifier.
std::string program_identifier
PlayReady program identifier.
WidevineSigner signer
Signer credential for Widevine license / key server.
All the methods that are virtual are virtual for mocking.
std::string key_server_url
Widevine license / key server URL.
bool enable_entitlement_license
Enables entitlement license when set to true.
Raw key encryption/decryption parameters, i.e. with key parameters provided.
std::string signer_name
Name of the signer / content provider.
std::map< StreamLabel, KeyInfo > key_map
std::vector< uint8_t > iv
Widevine encryption parameters.
Encrypted stream information that is used to determine stream label.
std::vector< uint8_t > key
AES signing key.
std::string policy
The name of a stored policy, which specifies DRM content rights.
std::string client_cert_file
Absolute path to client certificate file.
std::string key
RSA signing private key.
std::vector< uint8_t > pssh
Signer credential for Widevine license server.
std::vector< uint8_t > group_id
Group identifier, if present licenses will belong to this group.
std::string client_cert_private_key_file
Absolute path to the private key file.
std::vector< uint8_t > iv
AES signing IV.