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

Data Structures

struct  AVIAstream
 
struct  GF_AVIDmxCtx
 

Macros

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

Functions

static void avidmx_setup (GF_Filter *filter, GF_AVIDmxCtx *ctx)
 
GF_Err avidmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static Bool avidmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err avidmx_process (GF_Filter *filter)
 
GF_Err avidmx_initialize (GF_Filter *filter)
 
void avidmx_finalize (GF_Filter *filter)
 
static const char * avidmx_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * avidmx_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability AVIDmxCaps []
 
static const GF_FilterArgs AVIDmxArgs []
 
GF_FilterRegister AVIDmxRegister
 

Data Structure Documentation

◆ AVIAstream

struct AVIAstream
Data Fields
GF_FilterPid * opid
u32 stream_num
Bool in_use
u32 aud_frame
u32 audio_bps
u32 nb_channels
u32 freq
u64 audio_ts
u64 seek_to_ts
Bool audio_done
Bool is_aac
Bool playing
Bool init_play_done

◆ GF_AVIDmxCtx

struct GF_AVIDmxCtx
+ Collaboration diagram for GF_AVIDmxCtx:
Data Fields
GF_Fraction fps
Bool importer
Bool noreframe
GF_FilterPid * ipid
GF_FilterPid * v_opid
Bool v_in_use
Bool video_done
u32 nb_frames
u32 cur_frame
u32 nb_frame_sent
u32 dummy
u32 nvops
const char * src_url
avi_t * avi
u64 file_size
Bool use_file_fps
GF_Fraction64 duration
Bool v_playing
Bool v_init_play_done
GF_List * audios

Macro Definition Documentation

◆ OFFS

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

Function Documentation

◆ avidmx_setup()

static void avidmx_setup ( GF_Filter *  filter,
GF_AVIDmxCtx ctx 
)
static

! not tested

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avidmx_configure_pid()

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

◆ avidmx_process_event()

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

◆ avidmx_process()

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

◆ avidmx_initialize()

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

◆ avidmx_finalize()

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

◆ avidmx_probe_data()

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

◆ avidmx_register()

const GF_FilterRegister* avidmx_register ( GF_FilterSession *  session)

Variable Documentation

◆ AVIDmxCaps

const GF_FilterCapability AVIDmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "video/avi|video/x-avi"),
}
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ 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_FILEPATH
Definition: filters.h:1187
@ 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

◆ AVIDmxArgs

const GF_FilterArgs AVIDmxArgs[]
static
Initial value:
=
{
{ OFFS(fps), "import frame rate, default is AVI one", GF_PROP_FRACTION, "1/0", NULL, 0},
{ OFFS(importer), "compatibility with old importer, displays import results", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(noreframe), "skip media reframer", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{0}
}
#define OFFS(_n)
Definition: dmx_avi.c:712
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_BOOL
Definition: filters.h:858
@ GF_PROP_FRACTION
Definition: filters.h:860

◆ AVIDmxRegister

GF_FilterRegister AVIDmxRegister
Initial value:
= {
.name = "avidmx",
.private_size = sizeof(GF_AVIDmxCtx),
.initialize = avidmx_initialize,
.finalize = avidmx_finalize,
.configure_pid = avidmx_configure_pid,
.process = avidmx_process,
.process_event = avidmx_process_event,
.probe_data = avidmx_probe_data,
.hint_class_type = GF_FS_CLASS_DEMULTIPLEXER
}
GF_Err avidmx_process(GF_Filter *filter)
Definition: dmx_avi.c:474
static const GF_FilterCapability AVIDmxCaps[]
Definition: dmx_avi.c:700
void avidmx_finalize(GF_Filter *filter)
Definition: dmx_avi.c:674
static const GF_FilterArgs AVIDmxArgs[]
Definition: dmx_avi.c:713
static Bool avidmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: dmx_avi.c:401
GF_Err avidmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: dmx_avi.c:346
static const char * avidmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition: dmx_avi.c:690
GF_Err avidmx_initialize(GF_Filter *filter)
Definition: dmx_avi.c:666
Definition: dmx_avi.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
attribute Array args
Definition: jsf.idl:24