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

Data Structures

struct  GF_ADTSMxCtx
 

Macros

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

Enumerations

enum  { AAC_MPEG2_NO =0 , AAC_MPEG2_YES , AAC_MPEG2_AUTO }
 

Functions

GF_Err adtsmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
GF_Err adtsmx_process (GF_Filter *filter)
 
static void adtsmx_finalize (GF_Filter *filter)
 
const GF_FilterRegister * ufadts_register (GF_FilterSession *session)
 
static GF_Err latmmx_initialize (GF_Filter *filter)
 
const GF_FilterRegister * uflatm_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability ADTSMxCaps []
 
static const GF_FilterArgs ADTSMxArgs []
 
GF_FilterRegister ADTSMxRegister
 
static const GF_FilterArgs LATMMxArgs []
 
static const GF_FilterCapability LATMMxCaps []
 
GF_FilterRegister LATMMxRegister
 

Data Structure Documentation

◆ GF_ADTSMxCtx

struct GF_ADTSMxCtx
+ Collaboration diagram for GF_ADTSMxCtx:
Data Fields
Bool exporter
u32 mpeg2
GF_FilterPid * ipid
GF_FilterPid * opid
u32 codecid
u32 channels
u32 sr_idx
u32 aac_type
u32 ch_cfg
Bool is_latm
GF_BitStream * bs_w
GF_M4ADecSpecInfo acfg
u8 * pce
u32 pce_size
u32 dsi_crc
Bool update_dsi
GF_Fraction fdsi
u64 last_cts
u32 timescale
u32 signal_mpeg2

Macro Definition Documentation

◆ OFFS [1/2]

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

◆ OFFS [2/2]

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

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AAC_MPEG2_NO 
AAC_MPEG2_YES 
AAC_MPEG2_AUTO 

Function Documentation

◆ adtsmx_configure_pid()

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

◆ adtsmx_process()

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

◆ adtsmx_finalize()

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

◆ ufadts_register()

const GF_FilterRegister* ufadts_register ( GF_FilterSession *  session)

◆ latmmx_initialize()

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

◆ uflatm_register()

const GF_FilterRegister* uflatm_register ( GF_FilterSession *  session)

Variable Documentation

◆ ADTSMxCaps

const GF_FilterCapability ADTSMxCaps[]
static
Initial value:
=
{
}
@ GF_CODECID_AAC_MPEG4
Definition: constants.h:424
@ GF_CODECID_AAC_MPEG2_SSRP
Definition: constants.h:442
@ GF_CODECID_AAC_MPEG2_LCP
Definition: constants.h:440
@ GF_CODECID_AAC_MPEG2_MP
Definition: constants.h:438
@ GF_STREAM_AUDIO
Definition: constants.h:66
#define GF_CAPS_OUTPUT
Definition: filters.h:2232
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define GF_CAPS_INPUT_OUTPUT
Definition: filters.h:2242
#define GF_CAPS_INPUT_EXCLUDED
Definition: filters.h:2228
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT_OUTPUT_OPT
Definition: filters.h:2244
@ 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_TRUE
Definition: setup.h:474

◆ ADTSMxArgs

const GF_FilterArgs ADTSMxArgs[]
static
Initial value:
=
{
{ OFFS(mpeg2), "signal as MPEG2 AAC\n"
"- auto: selects based on AAC profile\n"
"- no: always signals as MPEG-4 AAC\n"
"- yes: always signals as MPEG-2 AAC"
"", GF_PROP_UINT, "auto", "no|yes|auto", GF_FS_ARG_HINT_ADVANCED},
{0}
}
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_UINT
Definition: filters.h:852
#define OFFS(_n)
Definition: rewrite_adts.c:456

◆ ADTSMxRegister

GF_FilterRegister ADTSMxRegister
Initial value:
= {
.name = "ufadts",
.private_size = sizeof(GF_ADTSMxCtx),
.finalize = adtsmx_finalize,
.configure_pid = adtsmx_configure_pid,
.process = adtsmx_process,
.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 const GF_FilterCapability ADTSMxCaps[]
Definition: rewrite_adts.c:406
static void adtsmx_finalize(GF_Filter *filter)
Definition: rewrite_adts.c:397
GF_Err adtsmx_process(GF_Filter *filter)
Definition: rewrite_adts.c:246
GF_Err adtsmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: rewrite_adts.c:78
static const GF_FilterArgs ADTSMxArgs[]
Definition: rewrite_adts.c:419
Definition: rewrite_adts.c:42

◆ LATMMxArgs

const GF_FilterArgs LATMMxArgs[]
static
Initial value:
=
{
{ OFFS(fdsi), "set delay between two LATM Audio Config", GF_PROP_FRACTION, "0", NULL, GF_FS_ARG_HINT_ADVANCED},
{0}
}
@ GF_PROP_FRACTION
Definition: filters.h:860

◆ LATMMxCaps

◆ LATMMxRegister

GF_FilterRegister LATMMxRegister
Initial value:
= {
.name = "uflatm",
.private_size = sizeof(GF_ADTSMxCtx),
.initialize = latmmx_initialize,
.finalize = adtsmx_finalize,
.configure_pid = adtsmx_configure_pid,
.process = adtsmx_process,
.hint_class_type = GF_FS_CLASS_FRAMING
}
static const GF_FilterCapability LATMMxCaps[]
Definition: rewrite_adts.c:464
static GF_Err latmmx_initialize(GF_Filter *filter)
Definition: rewrite_adts.c:449
static const GF_FilterArgs LATMMxArgs[]
Definition: rewrite_adts.c:457