19 #ifndef AVUTIL_ENCRYPTION_INFO_H 
   20 #define AVUTIL_ENCRYPTION_INFO_H 
  193     const uint8_t* side_data, 
size_t side_data_size);
 
AVEncryptionInfo * av_encryption_info_get_side_data(const uint8_t *side_data, size_t side_data_size)
Creates a copy of the AVEncryptionInfo that is contained in the given side data. 
 
uint32_t crypt_byte_block
Only used for pattern encryption. 
 
This describes encryption info for a packet. 
 
uint32_t skip_byte_block
Only used for pattern encryption. 
 
uint8_t ** key_ids
An array of key IDs this initialization data is for. 
 
unsigned int bytes_of_clear_data
The number of bytes that are clear. 
 
uint32_t scheme
The fourcc encryption scheme, in big-endian byte order. 
 
This file is part of FFmpeg. 
 
This describes info used to initialize an encryption key system. 
 
uint8_t * iv
The initialization vector. 
 
AVSubsampleEncryptionInfo * subsamples
An array of subsample encryption info specifying how parts of the sample are encrypted. 
 
uint32_t num_key_ids
The number of key IDs. 
 
uint8_t * av_encryption_init_info_add_side_data(const AVEncryptionInitInfo *info, size_t *side_data_size)
Allocates and initializes side data that holds a copy of the given encryption init info...
 
struct AVEncryptionInitInfo * next
An optional pointer to the next initialization info in the list. 
 
void av_encryption_info_free(AVEncryptionInfo *info)
Frees the given encryption info object. 
 
AVEncryptionInfo * av_encryption_info_clone(const AVEncryptionInfo *info)
Allocates an AVEncryptionInfo structure with a copy of the given data. 
 
void av_encryption_init_info_free(AVEncryptionInitInfo *info)
Frees the given encryption init info object. 
 
AVEncryptionInfo * av_encryption_info_alloc(uint32_t subsample_count, uint32_t key_id_size, uint32_t iv_size)
Allocates an AVEncryptionInfo structure and sub-pointers to hold the given number of subsamples...
 
unsigned int bytes_of_protected_data
The number of bytes that are protected. 
 
AVEncryptionInitInfo * av_encryption_init_info_alloc(uint32_t system_id_size, uint32_t num_key_ids, uint32_t key_id_size, uint32_t data_size)
Allocates an AVEncryptionInitInfo structure and sub-pointers to hold the given sizes. 
 
uint32_t key_id_size
The number of bytes in each key ID. 
 
uint8_t * key_id
The ID of the key used to encrypt the packet. 
 
AVEncryptionInitInfo * av_encryption_init_info_get_side_data(const uint8_t *side_data, size_t side_data_size)
Creates a copy of the AVEncryptionInitInfo that is contained in the given side data. 
 
uint8_t * data
Key-system specific initialization data. 
 
uint8_t * av_encryption_info_add_side_data(const AVEncryptionInfo *info, size_t *side_data_size)
Allocates and initializes side data that holds a copy of the given encryption info. 
 
uint8_t * system_id
A unique identifier for the key system this is for, can be NULL if it is not known.