libgpac
Documentation of the core library of GPAC
reframe_ac3.c File Reference
#include <gpac/avparse.h>
#include <gpac/constants.h>
#include <gpac/filters.h>
+ Include dependency graph for reframe_ac3.c:

Data Structures

struct  AC3Idx
 
struct  GF_AC3DmxCtx
 

Macros

#define AC3_FRAME_SIZE   1536
 
#define OFFS(_n)   #_n, offsetof(GF_AC3DmxCtx, _n)
 

Functions

GF_Err ac3dmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static void ac3dmx_check_dur (GF_Filter *filter, GF_AC3DmxCtx *ctx)
 
static void ac3dmx_check_pid (GF_Filter *filter, GF_AC3DmxCtx *ctx)
 
static Bool ac3dmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
static GFINLINE void ac3dmx_update_cts (GF_AC3DmxCtx *ctx)
 
GF_Err ac3dmx_process (GF_Filter *filter)
 
static void ac3dmx_finalize (GF_Filter *filter)
 
static const char * ac3dmx_probe_data (const u8 *_data, u32 _size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * rfac3_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability AC3DmxCaps []
 
static const GF_FilterArgs AC3DmxArgs []
 
GF_FilterRegister AC3DmxRegister
 

Data Structure Documentation

◆ AC3Idx

struct AC3Idx
Data Fields
u64 pos
Double duration

Macro Definition Documentation

◆ AC3_FRAME_SIZE

#define AC3_FRAME_SIZE   1536

◆ OFFS

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

Function Documentation

◆ ac3dmx_configure_pid()

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

◆ ac3dmx_check_dur()

static void ac3dmx_check_dur ( GF_Filter *  filter,
GF_AC3DmxCtx ctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ac3dmx_check_pid()

static void ac3dmx_check_pid ( GF_Filter *  filter,
GF_AC3DmxCtx ctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ac3dmx_process_event()

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

◆ ac3dmx_update_cts()

static GFINLINE void ac3dmx_update_cts ( GF_AC3DmxCtx ctx)
static
+ Here is the caller graph for this function:

◆ ac3dmx_process()

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

◆ ac3dmx_finalize()

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

◆ ac3dmx_probe_data()

static const char* ac3dmx_probe_data ( const u8 _data,
u32  _size,
GF_FilterProbeScore score 
)
static
+ Here is the call graph for this function:

◆ rfac3_register()

const GF_FilterRegister* rfac3_register ( GF_FilterSession *  session)

Variable Documentation

◆ AC3DmxCaps

const GF_FilterCapability AC3DmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "audio/x-ac3|audio/ac3|audio/x-eac3|audio/eac3"),
{0},
{0},
}
#define GF_HLS_SAMPLE_AES_SCHEME
Definition: constants.h:1226
@ GF_CODECID_EAC3
Definition: constants.h:488
@ GF_CODECID_AC3
Definition: constants.h:486
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ GF_STREAM_ENCRYPTED
Definition: constants.h:102
@ GF_STREAM_FILE
Definition: constants.h:104
#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_INPUT_OUTPUT
Definition: filters.h:2242
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
#define GF_CAPS_OUTPUT_STATIC
Definition: filters.h:2238
#define GF_CAPS_OUTPUT_STATIC_EXCLUDED
Definition: filters.h:2240
@ GF_PROP_PID_CODECID
Definition: filters.h:1116
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_UNFRAMED
Definition: filters.h:1118
@ GF_PROP_PID_PROTECTION_SCHEME_TYPE
Definition: filters.h:1209
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190
@ GF_PROP_PID_MIME
Definition: filters.h:1189
@ GF_TRUE
Definition: setup.h:474

◆ AC3DmxArgs

const GF_FilterArgs AC3DmxArgs[]
static
Initial value:
=
{
{ OFFS(index), "indexing window length", GF_PROP_DOUBLE, "1.0", NULL, 0},
{0}
}
@ GF_PROP_DOUBLE
Definition: filters.h:866
#define OFFS(_n)
Definition: reframe_ac3.c:663

◆ AC3DmxRegister

GF_FilterRegister AC3DmxRegister
Initial value:
= {
.name = "rfac3",
.private_size = sizeof(GF_AC3DmxCtx),
.finalize = ac3dmx_finalize,
.configure_pid = ac3dmx_configure_pid,
.process = ac3dmx_process,
.probe_data = ac3dmx_probe_data,
.process_event = ac3dmx_process_event,
.hint_class_type = GF_FS_CLASS_FRAMING
}
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_CLASS_FRAMING
Definition: filters.h:2459
attribute Array args
Definition: jsf.idl:24
static Bool ac3dmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: reframe_ac3.c:269
static const char * ac3dmx_probe_data(const u8 *_data, u32 _size, GF_FilterProbeScore *score)
Definition: reframe_ac3.c:563
static const GF_FilterArgs AC3DmxArgs[]
Definition: reframe_ac3.c:664
static void ac3dmx_finalize(GF_Filter *filter)
Definition: reframe_ac3.c:554
static const GF_FilterCapability AC3DmxCaps[]
Definition: reframe_ac3.c:641
GF_Err ac3dmx_process(GF_Filter *filter)
Definition: reframe_ac3.c:340
GF_Err ac3dmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: reframe_ac3.c:81
Definition: reframe_ac3.c:41