World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Файл encryption_info.h

См. исходные тексты.

Классы

struct  AVSubsampleEncryptionInfo
 
struct  AVEncryptionInfo
 
struct  AVEncryptionInitInfo
 

Определения типов

typedef struct AVSubsampleEncryptionInfo AVSubsampleEncryptionInfo
 
typedef struct AVEncryptionInfo AVEncryptionInfo
 
typedef struct AVEncryptionInitInfo AVEncryptionInitInfo
 

Функции

AVEncryptionInfoav_encryption_info_alloc (uint32_t subsample_count, uint32_t key_id_size, uint32_t iv_size)
 
AVEncryptionInfoav_encryption_info_clone (const AVEncryptionInfo *info)
 
void av_encryption_info_free (AVEncryptionInfo *info)
 
AVEncryptionInfoav_encryption_info_get_side_data (const uint8_t *side_data, size_t side_data_size)
 
uint8_tav_encryption_info_add_side_data (const AVEncryptionInfo *info, size_t *side_data_size)
 
AVEncryptionInitInfoav_encryption_init_info_alloc (uint32_t system_id_size, uint32_t num_key_ids, uint32_t key_id_size, uint32_t data_size)
 
void av_encryption_init_info_free (AVEncryptionInitInfo *info)
 
AVEncryptionInitInfoav_encryption_init_info_get_side_data (const uint8_t *side_data, size_t side_data_size)
 
uint8_tav_encryption_init_info_add_side_data (const AVEncryptionInitInfo *info, size_t *side_data_size)
 

Типы

◆ AVSubsampleEncryptionInfo

◆ AVEncryptionInfo

This describes encryption info for a packet. This contains frame-specific info for how to decrypt the packet before passing it to the decoder.

The size of this struct is not part of the public ABI.

◆ AVEncryptionInitInfo

This describes info used to initialize an encryption key system.

The size of this struct is not part of the public ABI.

Функции

◆ av_encryption_info_alloc()

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. This will allocate pointers for the key ID, IV, and subsample entries, set the size members, and zero-initialize the rest.

Аргументы
subsample_countThe number of subsamples.
key_id_sizeThe number of bytes in the key ID, should be 16.
iv_sizeThe number of bytes in the IV, should be 16.
Возвращает
The new AVEncryptionInfo structure, or NULL on error.

◆ av_encryption_info_clone()

AVEncryptionInfo* av_encryption_info_clone ( const AVEncryptionInfo info)

Allocates an AVEncryptionInfo structure with a copy of the given data.

Возвращает
The new AVEncryptionInfo structure, or NULL on error.

◆ av_encryption_info_free()

void av_encryption_info_free ( AVEncryptionInfo info)

Frees the given encryption info object. This MUST NOT be used to free the side-data data pointer, that should use normal side-data methods.

◆ av_encryption_info_get_side_data()

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. The resulting object should be passed to av_encryption_info_free() when done.

Возвращает
The new AVEncryptionInfo structure, or NULL on error.

◆ av_encryption_info_add_side_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. The resulting pointer should be either freed using av_free or given to av_packet_add_side_data().

Возвращает
The new side-data pointer, or NULL.

◆ av_encryption_init_info_alloc()

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. This will allocate pointers and set all the fields.

Возвращает
The new AVEncryptionInitInfo structure, or NULL on error.

◆ av_encryption_init_info_free()

void av_encryption_init_info_free ( AVEncryptionInitInfo info)

Frees the given encryption init info object. This MUST NOT be used to free the side-data data pointer, that should use normal side-data methods.

◆ av_encryption_init_info_get_side_data()

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. The resulting object should be passed to av_encryption_init_info_free() when done.

Возвращает
The new AVEncryptionInitInfo structure, or NULL on error.

◆ av_encryption_init_info_add_side_data()

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. The resulting pointer should be either freed using av_free or given to av_packet_add_side_data().

Возвращает
The new side-data pointer, or NULL.