Loading...
Searching...
No Matches
encryption_info.h File Reference
`#include <stddef.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | AVSubsampleEncryptionInfo
| This file is part of FFmpeg. More...
struct | AVEncryptionInfo
| This describes encryption info for a packet. More...
struct | AVEncryptionInitInfo
| This describes info used to initialize an encryption key system. More...

## Functions

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.
AVEncryptionInfo * | av_encryption_info_clone (const AVEncryptionInfo *info)
| Allocates an AVEncryptionInfo structure with a copy of the given data.
void | av_encryption_info_free (AVEncryptionInfo *info)
| Frees the given encryption info object.
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.
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.
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.
void | av_encryption_init_info_free (AVEncryptionInitInfo *info)
| Frees the given encryption init info object.
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 * | 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.

## Function Documentation

## 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.

Parameters

  subsample_count | The number of subsamples.
  key_id_size | The number of bytes in the key ID, should be 16.
  iv_size | The number of bytes in the IV, should be 16.

Returns
  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.

Returns
  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.

Returns
  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().

Returns
  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.

Returns
  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.

Returns
  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().

Returns
  The new side-data pointer, or NULL.