STRUCTS
EncryptionPattern
Defined in fuchsia.drm/encryption.fidl
Pattern encryption utilizes a pattern of encrypted and clear 16 byte blocks
over the protected range of a subsample (the encrypted_bytes of a
SubsampleEntry
). This structure specifies the number of encrypted data
blocks followed by the number of clear data blocks.
Field | Type | Description | Default |
---|---|---|---|
clear_blocks |
uint32
|
No default | |
encrypted_blocks |
uint32
|
No default |
EncryptionSubsampleEntry
Defined in fuchsia.drm/encryption.fidl
A byte range within a sample consisting of a clear byte range followed by an encrypted byte range. This structure specifies the size of each range in the subsample.
Field | Type | Description | Default |
---|---|---|---|
clear_bytes |
uint32
|
No default | |
encrypted_bytes |
uint32
|
No default |
TABLES
Encryption
Defined in fuchsia.drm/encryption.fidl
The stream format details payload of a decrypting stream processor. This is a sparsely populated table to specify parameters necessary for decryption other than the data stream. It is only necessary to update fields if they changed, but not an error if the same value is repeated.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
scheme |
EncryptionScheme
|
Specifies which encryption scheme to use, such as
|
2 |
default_key_id |
EncryptionKeyId
|
Identifies the key that should be used for decrypting subsequent data. Usage:
|
3 |
default_init_vector |
EncryptionInitVector
|
Used in combination with a key and a block of content to create the first cipher block in a chain and derive subsequent cipher blocks in a cipher block chain. Usage:
|
4 |
default_pattern |
EncryptionPattern
|
Used to identify the clear and encrypted blocks for pattern based encryption. Usage:
|
PacketEncryptionProperties
Defined in fuchsia.drm/packet_encryption_properties.fidl
Properties accompanying a packet in an encrypted stream.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
is_encrypted |
bool
|
Indicates whether the packet is encrypted. |
2 |
key_id |
EncryptionKeyId
|
If specified, overrides the previous key id. |
3 |
init_vector |
EncryptionInitVector
|
If specified, overrides the previous initialization vector. |
4 |
pattern |
EncryptionPattern
|
If specified, overrides the previous encryption pattern. |
5 |
subsamples |
vector<EncryptionSubsampleEntry>:16
|
Subsamples to decrypt. An absent or empty list indicates whole sample decryption. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
ENCRYPTION_SCHEME_CBC1 | cbc1 |
String |
|
ENCRYPTION_SCHEME_CBCS | cbcs |
String |
|
ENCRYPTION_SCHEME_CENC | cenc |
String |
|
ENCRYPTION_SCHEME_CENS | cens |
String |
|
MAX_ENCRYPTION_SCHEME_SIZE |
4
|
uint32 |
The maximum size of an |
MAX_INIT_VECTOR_SIZE |
16
|
uint32 |
The maximum size of a |
MAX_KEY_ID_SIZE |
16
|
uint32 |
The maximum size of a |
MAX_SUBSAMPLE_ENTRIES |
16
|
uint32 |
The maximum number of |
ALIASES
Name | Value | Description |
---|---|---|
EncryptionInitVector |
vector [MAX_INIT_VECTOR_SIZE ] |
|
EncryptionKeyId |
vector [MAX_KEY_ID_SIZE ] |
|
EncryptionScheme |
string [MAX_ENCRYPTION_SCHEME_SIZE ] |
Identifies an encryption scheme. |