libgpac
Documentation of the core library of GPAC
|
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/crypt_tools.h>
#include <gpac/crypt.h>
#include <gpac/base_coding.h>
#include <gpac/download.h>
#include <gpac/network.h>
#include <gpac/internal/media_dev.h>
Data Structures | |
struct | CENCDecKey |
struct | GF_CENCDecCtx |
struct | GF_CENCDecStream |
Macros | |
#define | OFFS(_n) #_n, offsetof(GF_CENCDecCtx, _n) |
Enumerations | |
enum | { DECRYPT_STATE_ERROR =1 , DECRYPT_STATE_SETUP , DECRYPT_STATE_PLAY } |
enum | { DECRYPT_FULL =0 , DECRYPT_NOKEY , DECRYPT_SKIP , DECRYPT_PAD0 , DECRYPT_PAD1 , DECRYPT_PADSC } |
Functions | |
static GF_Err | cenc_dec_setup_isma (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char *kms_uri) |
static GF_Err | cenc_dec_access_isma (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, Bool is_play) |
static GF_Err | cenc_dec_process_isma (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, GF_FilterPacket *in_pck) |
static GF_Err | cenc_dec_load_keys (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr) |
static GF_Err | rfmt_dec_b64 (u8 *data, u8 *output, u32 osize) |
static GF_Err | cenc_dec_set_clearkey (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, char *ck_url, u8 *ck_kid) |
static GF_Err | cenc_dec_set_hls_key (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, char *key_url, u8 *key_IV) |
static GF_Err | cenc_dec_push_iv (GF_CENCDecStream *cstr, u32 key_idx, u8 *IV, u32 iv_size, u32 const_iv_size, const u8 *const_iv) |
static GF_Err | cenc_dec_load_pssh (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, const GF_PropertyValue *pssh_prop, Bool is_pck_pssh, const GF_PropertyValue *cinfo_prop) |
static GF_Err | cenc_dec_setup_cenc (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char *kms_uri) |
static GF_Err | cenc_dec_hls_saes (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char *kms_uri) |
static GF_Err | cenc_dec_setup_adobe (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, u32 scheme_type, u32 scheme_version, const char *scheme_uri, const char *kms_uri) |
static GF_Err | cenc_dec_access_cenc (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, Bool is_play) |
static GF_Err | cenc_dec_access_adobe (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, Bool is_play) |
u8 | key_info_get_iv_size (const u8 *key_info, u32 nb_keys, u32 idx, u8 *const_iv_size, const u8 **const_iv) |
static GFINLINE void | cenc_decrypt_block (GF_CENCDecCtx *ctx, GF_Crypt *crypt, Bool valid_key, u8 *data, u32 size) |
static GF_Err | cenc_dec_process_cenc (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, GF_FilterPacket *in_pck) |
static GF_Err | cenc_dec_process_hls_saes (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, GF_FilterPacket *in_pck) |
static GF_Err | cenc_dec_process_adobe (GF_CENCDecCtx *ctx, GF_CENCDecStream *cstr, GF_FilterPacket *in_pck) |
static void | cenc_dec_stream_del (GF_CENCDecStream *cstr) |
static GF_Err | cenc_dec_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove) |
static Bool | cenc_dec_process_event (GF_Filter *filter, const GF_FilterEvent *evt) |
static GF_Err | cenc_dec_process (GF_Filter *filter) |
static GF_Err | cenc_dec_initialize (GF_Filter *filter) |
static void | cenc_dec_finalize (GF_Filter *filter) |
const GF_FilterRegister * | cdcrypt_register (GF_FilterSession *session) |
Variables | |
static const GF_FilterCapability | CENCDecCaps [] |
static const GF_FilterArgs | GF_CENCDecArgs [] |
GF_FilterRegister | CENCDecRegister |
struct GF_CENCDecCtx |
Data Fields | ||
---|---|---|
const char * | cfile | |
u32 | decrypt | |
GF_PropUIntList | drop_keys | |
GF_PropStringList | kids | |
GF_PropStringList | keys | |
GF_CryptInfo * | cinfo | |
Bool | hls_cenc_patch_iv | |
GF_Filter * | filter | |
GF_List * | streams | |
GF_BitStream * | bs_r | |
GF_DownloadManager * | dm | |
u32 | pending_keys |
struct GF_CENCDecStream |
Data Fields | ||
---|---|---|
GF_CENCDecCtx * | ctx | |
GF_FilterPid * | ipid | |
GF_FilterPid * | opid | |
u32 | state | |
u32 | pssh_crc | |
u32 | scheme_type | |
u32 | scheme_version | |
GF_Err | key_error | |
CENCDecKey * | crypts | |
u32 | nb_crypts | |
char | salt[8] | |
u64 | last_IV | |
u32 | nb_allow_play | |
Bool | is_oma | |
Bool | is_adobe | |
u32 | preview_range | |
Bool | is_nalu | |
Bool | selective_encryption | |
u32 | IV_length | |
u32 | KI_length | |
Bool | is_cenc | |
Bool | is_cbc | |
u32 | KID_count | |
Bool | inband_keys | |
bin128 * | KIDs | |
bin128 * | keys | |
const GF_PropertyValue * | cenc_ki | |
u32 | multikey | |
const GF_PropertyValue * | cenc_pattern | |
Bool | crypt_init | |
Bool | is_hls | |
bin128 | hls_IV | |
char * | hls_key_url | |
Bool | is_hls_saes | |
u32 | codec_id | |
Bool | force_hls_iv | |
Bool | gpac_master_leaf | |
bin128 | master_key | |
u32 | clearkey_crc | |
char * | body | |
u32 | res_size | |
Bool | hdr_done | |
GF_DownloadSession * | sess | |
u32 | rep_crc | |
u32 | per_crc | |
u32 | as_id |
#define OFFS | ( | _n | ) | #_n, offsetof(GF_CENCDecCtx, _n) |
anonymous enum |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
u8 key_info_get_iv_size | ( | const u8 * | key_info, |
u32 | nb_keys, | ||
u32 | idx, | ||
u8 * | const_iv_size, | ||
const u8 ** | const_iv | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const GF_FilterRegister* cdcrypt_register | ( | GF_FilterSession * | session | ) |
|
static |
|
static |
GF_FilterRegister CENCDecRegister |