libgpac
Documentation of the core library of GPAC
isoffin_read.c File Reference
#include "isoffin.h"
#include <gpac/crypt_tools.h>
#include <gpac/media_tools.h>
+ Include dependency graph for isoffin_read.c:

Macros

#define OFFS(_n)   #_n, offsetof(ISOMReader, _n)
 

Enumerations

enum  { EDITS_AUTO =0 , EDITS_NO , EDITS_STRICT }
 

Functions

ISOMChannelisor_get_channel (ISOMReader *reader, GF_FilterPid *pid)
 
static GFINLINE Bool isor_is_local (const char *url)
 
static GF_Err isoffin_setup (GF_Filter *filter, ISOMReader *read, Bool input_is_eos)
 
static void isoffin_delete_channel (ISOMChannel *ch)
 
static void isoffin_disconnect (ISOMReader *read)
 
static void isoffin_set_channel_ctso (ISOMReader *read, ISOMChannel *ch)
 
static GF_Err isoffin_reconfigure (GF_Filter *filter, ISOMReader *read, const char *next_url)
 
GF_Err isoffin_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
GF_Err isoffin_initialize (GF_Filter *filter)
 
static void isoffin_finalize (GF_Filter *filter)
 
void isor_declare_pssh (ISOMChannel *ch)
 
void isor_set_crypt_config (ISOMChannel *ch)
 
ISOMChannelisor_create_channel (ISOMReader *read, GF_FilterPid *pid, u32 track, u32 item_id, Bool force_no_extractors)
 
static u32 isoffin_channel_switch_quality (ISOMChannel *ch, GF_ISOFile *the_file, Bool switch_up)
 
static Bool isoffin_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
static void isoffin_push_buffer (GF_Filter *filter, ISOMReader *read, const u8 *pck_data, u32 data_size)
 
static void isoffin_purge_mem (ISOMReader *read, u64 min_offset)
 
static GF_Err isoffin_process (GF_Filter *filter)
 
static const char * isoffin_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * mp4dmx_register (GF_FilterSession *session)
 

Variables

static const GF_FilterArgs ISOFFInArgs []
 
static const GF_FilterCapability ISOFFInCaps []
 
GF_FilterRegister ISOFFInRegister
 

Macro Definition Documentation

◆ OFFS

#define OFFS (   _n)    #_n, offsetof(ISOMReader, _n)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EDITS_AUTO 
EDITS_NO 
EDITS_STRICT 

Function Documentation

◆ isor_get_channel()

ISOMChannel* isor_get_channel ( ISOMReader reader,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isor_is_local()

static GFINLINE Bool isor_is_local ( const char *  url)
static
+ Here is the caller graph for this function:

◆ isoffin_setup()

static GF_Err isoffin_setup ( GF_Filter *  filter,
ISOMReader read,
Bool  input_is_eos 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_delete_channel()

static void isoffin_delete_channel ( ISOMChannel ch)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_disconnect()

static void isoffin_disconnect ( ISOMReader read)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_set_channel_ctso()

static void isoffin_set_channel_ctso ( ISOMReader read,
ISOMChannel ch 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_reconfigure()

static GF_Err isoffin_reconfigure ( GF_Filter *  filter,
ISOMReader read,
const char *  next_url 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_configure_pid()

GF_Err isoffin_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_initialize()

GF_Err isoffin_initialize ( GF_Filter *  filter)
+ Here is the call graph for this function:

◆ isoffin_finalize()

static void isoffin_finalize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ isor_declare_pssh()

void isor_declare_pssh ( ISOMChannel ch)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isor_set_crypt_config()

void isor_set_crypt_config ( ISOMChannel ch)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isor_create_channel()

ISOMChannel* isor_create_channel ( ISOMReader read,
GF_FilterPid *  pid,
u32  track,
u32  item_id,
Bool  force_no_extractors 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_channel_switch_quality()

static u32 isoffin_channel_switch_quality ( ISOMChannel ch,
GF_ISOFile *  the_file,
Bool  switch_up 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_process_event()

static Bool isoffin_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static
+ Here is the call graph for this function:

◆ isoffin_push_buffer()

static void isoffin_push_buffer ( GF_Filter *  filter,
ISOMReader read,
const u8 pck_data,
u32  data_size 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_purge_mem()

static void isoffin_purge_mem ( ISOMReader read,
u64  min_offset 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isoffin_process()

static GF_Err isoffin_process ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ isoffin_probe_data()

static const char* isoffin_probe_data ( const u8 data,
u32  size,
GF_FilterProbeScore score 
)
static
+ Here is the call graph for this function:

◆ mp4dmx_register()

const GF_FilterRegister* mp4dmx_register ( GF_FilterSession *  session)

Variable Documentation

◆ ISOFFInArgs

const GF_FilterArgs ISOFFInArgs[]
static

◆ ISOFFInCaps

const GF_FilterCapability ISOFFInCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_FILE_EXT, "mp4|mpg4|m4a|m4i|3gp|3gpp|3g2|3gp2|iso|m4s|iff|heif|heic|avif|avci|mj2|ismv|mov|qt"),
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "video/mp4|audio/mp4|application/mp4|video/3gpp|audio/3gpp|video/3gp2|audio/3gp2|video/iso.segment|audio/iso.segment|image/heif|image/heic|image/avci|video/jp2|video/quicktime"),
{0},
}
@ GF_STREAM_TEXT
Definition: constants.h:82
@ GF_STREAM_OD
Definition: constants.h:58
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ GF_STREAM_SCENE
Definition: constants.h:62
@ GF_STREAM_ENCRYPTED
Definition: constants.h:102
@ GF_STREAM_FILE
Definition: constants.h:104
@ GF_STREAM_METADATA
Definition: constants.h:100
@ GF_STREAM_VISUAL
Definition: constants.h:64
#define GF_CAPS_OUTPUT
Definition: filters.h:2232
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define CAP_STRING(_f, _a, _b)
Definition: filters.h:2194
#define GF_CAPS_OUTPUT_EXCLUDED
Definition: filters.h:2236
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_UNFRAMED
Definition: filters.h:1118
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190
@ GF_PROP_PID_MIME
Definition: filters.h:1189
@ GF_TRUE
Definition: setup.h:474

◆ ISOFFInRegister

GF_FilterRegister ISOFFInRegister