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

Data Structures

struct  GF_TileAggInput
 
struct  GF_TileAggCtx
 

Macros

#define TILEAGG_CFG_ERR(_msg)
 
#define OFFS(_n)   #_n, offsetof(GF_TileAggCtx, _n)
 

Functions

static GF_Err tileagg_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static GF_Err tileagg_set_eos (GF_Filter *filter, GF_TileAggCtx *ctx)
 
static GF_Err tileagg_process (GF_Filter *filter)
 
static GF_Err tileagg_initialize (GF_Filter *filter)
 
static void tileagg_finalize (GF_Filter *filter)
 
static Bool tileagg_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
const GF_FilterRegister * tileagg_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability TileAggCaps []
 
static const GF_FilterArgs TileAggArgs []
 
GF_FilterRegister TileAggRegister
 

Data Structure Documentation

◆ GF_TileAggInput

struct GF_TileAggInput
Data Fields
GF_FilterPid * pid
u32 id

◆ GF_TileAggCtx

struct GF_TileAggCtx
+ Collaboration diagram for GF_TileAggCtx:
Data Fields
GF_PropUIntList tiledrop
u32 ttimeout
GF_FilterPid * opid
GF_FilterPid * base_ipid
u32 nalu_size_length
u32 base_id
u32 dash_grp_id
GF_List * ipids
GF_BitStream * bs_r
u32 flush_packets
const GF_PropertyValue * sabt
Bool check_connections
GF_Err in_error
u32 wait_start
u32 wait_pid
u32 force_flush
Bool is_playing
GF_FEVT_Play play_evt

Macro Definition Documentation

◆ TILEAGG_CFG_ERR

#define TILEAGG_CFG_ERR (   _msg)
Value:
{\
GF_LOG(GF_LOG_WARNING, GF_LOG_MEDIA, ("[TileAgg] Error configuring pid %s: %s\n", gf_filter_pid_get_name(pid), _msg ));\
goto config_error;\
}
const char * gf_filter_pid_get_name(GF_FilterPid *PID)
Definition: filter_pid.c:1516
@ GF_LOG_MEDIA
Definition: tools.h:792
@ GF_LOG_WARNING
Definition: tools.h:743

◆ OFFS

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

Function Documentation

◆ tileagg_configure_pid()

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

◆ tileagg_set_eos()

static GF_Err tileagg_set_eos ( GF_Filter *  filter,
GF_TileAggCtx ctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tileagg_process()

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

◆ tileagg_initialize()

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

◆ tileagg_finalize()

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

◆ tileagg_process_event()

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

◆ tileagg_register()

const GF_FilterRegister* tileagg_register ( GF_FilterSession *  session)

Variable Documentation

◆ TileAggCaps

const GF_FilterCapability TileAggCaps[]
static
Initial value:
=
{
{0},
{0},
{0},
}
@ GF_CODECID_VVC
Definition: constants.h:634
@ GF_CODECID_HEVC_TILES
Definition: constants.h:464
@ GF_CODECID_VVC_SUBPIC
Definition: constants.h:635
@ GF_CODECID_HEVC
Definition: constants.h:416
@ 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 GF_CAPS_INPUT_EXCLUDED
Definition: filters.h:2228
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ 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_TILE_BASE
Definition: filters.h:1107
@ GF_TRUE
Definition: setup.h:474

◆ TileAggArgs

const GF_FilterArgs TileAggArgs[]
static
Initial value:
=
{
{ OFFS(tiledrop), "specify indexes of tiles to drop", GF_PROP_UINT_LIST, NULL, NULL, GF_FS_ARG_UPDATE},
{ OFFS(ttimeout), "number of milliseconds to wait until considering a tile packet lost, 0 waits forever", GF_PROP_UINT, "10000", NULL, GF_FS_ARG_UPDATE},
{0}
}
@ GF_FS_ARG_UPDATE
Definition: filters.h:2108
@ GF_PROP_UINT_LIST
Definition: filters.h:897
@ GF_PROP_UINT
Definition: filters.h:852
#define OFFS(_n)
Definition: tileagg.c:566

◆ TileAggRegister

GF_FilterRegister TileAggRegister
Initial value:
= {
.name = "tileagg",
.private_size = sizeof(GF_TileAggCtx),
.initialize = tileagg_initialize,
.finalize = tileagg_finalize,
.args = TileAggArgs,
.configure_pid = tileagg_configure_pid,
.process = tileagg_process,
.process_event = tileagg_process_event,
.max_extra_pids = (u32) (-1),
.hint_class_type = GF_FS_CLASS_STREAM
}
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_DYNAMIC_REUSE
Definition: filters.h:2432
@ GF_FS_CLASS_STREAM
Definition: filters.h:2445
uint32_t u32
Definition: setup.h:326
static const GF_FilterCapability TileAggCaps[]
Definition: tileagg.c:535
static GF_Err tileagg_initialize(GF_Filter *filter)
Definition: tileagg.c:470
static void tileagg_finalize(GF_Filter *filter)
Definition: tileagg.c:478
static GF_Err tileagg_process(GF_Filter *filter)
Definition: tileagg.c:232
static const GF_FilterArgs TileAggArgs[]
Definition: tileagg.c:568
static Bool tileagg_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: tileagg.c:489
static GF_Err tileagg_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: tileagg.c:72
Definition: tileagg.c:41