diff options
Diffstat (limited to 'libavformat/isom.h')
-rw-r--r-- | libavformat/isom.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavformat/isom.h b/libavformat/isom.h index 4da34142f0..eb942cf882 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -27,6 +27,7 @@ #include <stddef.h> #include <stdint.h> +#include "libavutil/encryption_info.h" #include "libavutil/mastering_display_metadata.h" #include "libavutil/spherical.h" #include "libavutil/stereo3d.h" @@ -108,12 +109,20 @@ typedef struct MOVSbgp { unsigned int index; } MOVSbgp; +typedef struct MOVEncryptionIndex { + // Individual encrypted samples. If there are no elements, then the default + // settings will be used. + unsigned int nb_encrypted_samples; + AVEncryptionInfo **encrypted_samples; +} MOVEncryptionIndex; + typedef struct MOVFragmentStreamInfo { int id; int64_t sidx_pts; int64_t first_tfra_pts; int64_t tfdt_dts; int index_entry; + MOVEncryptionIndex *encryption_index; } MOVFragmentStreamInfo; typedef struct MOVFragmentIndexItem { @@ -215,6 +224,7 @@ typedef struct MOVStreamContext { int has_sidx; // If there is an sidx entry for this stream. struct { + // TODO: Remove once old methods are removed from mov.c int use_subsamples; uint8_t* auxiliary_info; uint8_t* auxiliary_info_end; @@ -223,7 +233,11 @@ typedef struct MOVStreamContext { uint8_t* auxiliary_info_sizes; size_t auxiliary_info_sizes_count; int64_t auxiliary_info_index; + struct AVAESCTR* aes_ctr; + unsigned int per_sample_iv_size; // Either 0, 8, or 16. + AVEncryptionInfo *default_encrypted_sample; + MOVEncryptionIndex *encryption_index; } cenc; } MOVStreamContext; |