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

Data Structures

struct  GF_SAFStream
 
struct  GF_SAFDmxCtx
 
struct  StreamInfo
 

Enumerations

enum  { SAF_FILE_LOCAL , SAF_FILE_REMOTE , SAF_LIVE_STREAM }
 

Functions

static GFINLINE GF_SAFStreamsaf_get_channel (GF_SAFDmxCtx *saf, u32 stream_id)
 
static void safdmx_demux (GF_Filter *filter, GF_SAFDmxCtx *ctx, char *data, u32 data_size)
 
static void safdmx_check_dur (GF_SAFDmxCtx *ctx)
 
GF_Err safdmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static Bool safdmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err safdmx_process (GF_Filter *filter)
 
GF_Err safdmx_initialize (GF_Filter *filter)
 
void safdmx_finalize (GF_Filter *filter)
 
static const char * safdmx_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * safdmx_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability SAFDmxCaps []
 
GF_FilterRegister SAFDmxRegister
 

Data Structure Documentation

◆ GF_SAFStream

struct GF_SAFStream
Data Fields
GF_FilterPid * opid
u32 au_sn
u32 stream_id
u32 ts_res
u32 buffer_min
u32 ts_resolution
u32 buffersize_db
u8 stream_type
u8 object_type
char * mime_type
char * remote_url
char * dsi
u32 dsi_len
GF_List * aus
u32 state
u32 last_au_sn
u32 last_au_ts

◆ GF_SAFDmxCtx

struct GF_SAFDmxCtx
+ Collaboration diagram for GF_SAFDmxCtx:
Data Fields
GF_FilterPid * ipid
GF_List * streams
u32 saf_type
Double start_range
Double end_range
u32 nb_playing
Bool is_file
Bool file_loaded
GF_Fraction64 duration
u64 file_pos
u64 file_size
Bool initial_play_done
char * saf_data
u32 alloc_size
u32 saf_size

◆ StreamInfo

struct StreamInfo
Data Fields
u32 stream_id
u32 ts_res

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SAF_FILE_LOCAL 
SAF_FILE_REMOTE 
SAF_LIVE_STREAM 

Function Documentation

◆ saf_get_channel()

static GFINLINE GF_SAFStream* saf_get_channel ( GF_SAFDmxCtx saf,
u32  stream_id 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ safdmx_demux()

static void safdmx_demux ( GF_Filter *  filter,
GF_SAFDmxCtx ctx,
char *  data,
u32  data_size 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ safdmx_check_dur()

static void safdmx_check_dur ( GF_SAFDmxCtx ctx)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ safdmx_configure_pid()

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

◆ safdmx_process_event()

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

◆ safdmx_process()

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

◆ safdmx_initialize()

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

◆ safdmx_finalize()

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

◆ safdmx_probe_data()

static const char* safdmx_probe_data ( const u8 data,
u32  size,
GF_FilterProbeScore score 
)
static

◆ safdmx_register()

const GF_FilterRegister* safdmx_register ( GF_FilterSession *  session)

Variable Documentation

◆ SAFDmxCaps

const GF_FilterCapability SAFDmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "application/x-saf|application/saf"),
}
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ GF_STREAM_SCENE
Definition: constants.h:62
@ GF_STREAM_FILE
Definition: constants.h:104
@ 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_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190
@ GF_PROP_PID_MIME
Definition: filters.h:1189

◆ SAFDmxRegister

GF_FilterRegister SAFDmxRegister
Initial value:
= {
.name = "safdmx",
.private_size = sizeof(GF_SAFDmxCtx),
.initialize = safdmx_initialize,
.finalize = safdmx_finalize,
.configure_pid = safdmx_configure_pid,
.process = safdmx_process,
.process_event = safdmx_process_event,
.probe_data = safdmx_probe_data,
.hint_class_type = GF_FS_CLASS_DEMULTIPLEXER
}
GF_Err safdmx_initialize(GF_Filter *filter)
Definition: dmx_saf.c:422
static const char * safdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition: dmx_saf.c:442
void safdmx_finalize(GF_Filter *filter)
Definition: dmx_saf.c:429
static const GF_FilterCapability SAFDmxCaps[]
Definition: dmx_saf.c:448
GF_Err safdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: dmx_saf.c:312
GF_Err safdmx_process(GF_Filter *filter)
Definition: dmx_saf.c:390
static Bool safdmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: dmx_saf.c:334
Definition: dmx_saf.c:48
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_USE_SYNC_READ
Definition: filters.h:2424
@ GF_FS_CLASS_DEMULTIPLEXER
Definition: filters.h:2461