GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
ismacryp.c File Reference
#include <gpac/ismacryp.h>
#include <gpac/xml.h>
#include <gpac/base_coding.h>
#include <gpac/constants.h>
#include <gpac/crypt.h>
#include <math.h>
+ Include dependency graph for ismacryp.c:

Data Structures

struct  GF_CryptInfo
 

Functions

void isma_ea_node_start (void *sax_cbck, const char *node_name, const char *name_space, const GF_XMLAttribute *attributes, u32 nb_attributes)
 
void isma_ea_node_end (void *sax_cbck, const char *node_name, const char *name_space)
 
void isma_ea_text (void *sax_cbck, const char *text, Bool is_cdata)
 
static void del_crypt_info (GF_CryptInfo *info)
 
static GF_CryptInfoload_crypt_file (const char *file)
 
GF_Err gf_ismacryp_gpac_get_info (u32 stream_id, char *drm_file, char *key, char *salt)
 
Bool gf_ismacryp_mpeg4ip_get_info (char *kms_uri, char *key, char *salt)
 
static void isma_resync_IV (GF_Crypt *mc, u64 BSO, char *salt)
 
GF_Err gf_ismacryp_decrypt_track (GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void(*progress)(void *cbk, u64 done, u64 total), void *cbk)
 
GF_Err gf_ismacryp_encrypt_track (GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void(*progress)(void *cbk, u64 done, u64 total), void *cbk)
 
static void cenc_resync_IV (GF_Crypt *mc, char IV[16], u64 BSO, u8 IV_size, Bool isNewSample)
 
static GF_Err gf_cenc_encrypt_sample_ctr (GF_Crypt *mc, GF_ISOSample *samp, Bool is_nalu_video, u32 nalu_size_length, char IV[16], u32 IV_size, char **sai, u32 *saiz, u32 bytes_in_nalhr)
 
static GF_Err gf_cenc_encrypt_sample_cbc (GF_Crypt *mc, GF_ISOSample *samp, Bool is_nalu_video, u32 nalu_size_length, char IV[16], u32 IV_size, char **sai, u32 *saiz, u32 bytes_in_nalhr)
 
GF_Err gf_cenc_encrypt_track (GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void(*progress)(void *cbk, u64 done, u64 total), void *cbk)
 
GF_Err gf_cenc_decrypt_track (GF_ISOFile *mp4, GF_TrackCryptInfo *tci, void(*progress)(void *cbk, u64 done, u64 total), void *cbk)
 
GF_Err gf_decrypt_file (GF_ISOFile *mp4, const char *drm_file)
 
static GF_Err gf_cenc_parse_drm_system_info (GF_ISOFile *mp4, const char *drm_file)
 
GF_Err gf_crypt_file (GF_ISOFile *mp4, const char *drm_file)
 

Data Structure Documentation

struct GF_CryptInfo
+ Collaboration diagram for GF_CryptInfo:
Data Fields
GF_List * tcis
Bool has_common_key
Bool in_text_header
u32 crypt_type

Function Documentation

void isma_ea_node_start ( void *  sax_cbck,
const char *  node_name,
const char *  name_space,
const GF_XMLAttribute attributes,
u32  nb_attributes 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void isma_ea_node_end ( void *  sax_cbck,
const char *  node_name,
const char *  name_space 
)

+ Here is the caller graph for this function:

void isma_ea_text ( void *  sax_cbck,
const char *  text,
Bool  is_cdata 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void del_crypt_info ( GF_CryptInfo info)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_CryptInfo* load_crypt_file ( const char *  file)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_ismacryp_gpac_get_info ( u32  stream_id,
char *  drm_file,
char *  key,
char *  salt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_ismacryp_mpeg4ip_get_info ( char *  kms_uri,
char *  key,
char *  salt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void isma_resync_IV ( GF_Crypt mc,
u64  BSO,
char *  salt 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_ismacryp_decrypt_track ( GF_ISOFile *  mp4,
GF_TrackCryptInfo tci,
void(*)(void *cbk, u64 done, u64 total)  progress,
void *  cbk 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_ismacryp_encrypt_track ( GF_ISOFile *  mp4,
GF_TrackCryptInfo tci,
void(*)(void *cbk, u64 done, u64 total)  progress,
void *  cbk 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void cenc_resync_IV ( GF_Crypt mc,
char  IV[16],
u64  BSO,
u8  IV_size,
Bool  isNewSample 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err gf_cenc_encrypt_sample_ctr ( GF_Crypt mc,
GF_ISOSample samp,
Bool  is_nalu_video,
u32  nalu_size_length,
char  IV[16],
u32  IV_size,
char **  sai,
u32 saiz,
u32  bytes_in_nalhr 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err gf_cenc_encrypt_sample_cbc ( GF_Crypt mc,
GF_ISOSample samp,
Bool  is_nalu_video,
u32  nalu_size_length,
char  IV[16],
u32  IV_size,
char **  sai,
u32 saiz,
u32  bytes_in_nalhr 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_cenc_encrypt_track ( GF_ISOFile *  mp4,
GF_TrackCryptInfo tci,
void(*)(void *cbk, u64 done, u64 total)  progress,
void *  cbk 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_cenc_decrypt_track ( GF_ISOFile *  mp4,
GF_TrackCryptInfo tci,
void(*)(void *cbk, u64 done, u64 total)  progress,
void *  cbk 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_decrypt_file ( GF_ISOFile *  mp4,
const char *  drm_file 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err gf_cenc_parse_drm_system_info ( GF_ISOFile *  mp4,
const char *  drm_file 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_crypt_file ( GF_ISOFile *  mp4,
const char *  drm_file 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: