libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
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>

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
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

◆ avidmx_configure_pid()

GF_Err avidmx_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)

◆ avidmx_process_event()

static Bool avidmx_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static

◆ avidmx_process()

GF_Err avidmx_process ( GF_Filter *  filter)

◆ avidmx_initialize()

GF_Err avidmx_initialize ( GF_Filter *  filter)

◆ avidmx_finalize()

void avidmx_finalize ( GF_Filter *  filter)

◆ 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:2013
#define CAP_UINT(_f, _a, _b)
Definition filters.h:1955
#define CAP_STRING(_f, _a, _b)
Definition filters.h:1977
#define GF_CAPS_INPUT
Definition filters.h:2001
@ GF_PROP_PID_STREAM_TYPE
Definition filters.h:1016
@ GF_PROP_PID_FILE_EXT
Definition filters.h:1092
@ GF_PROP_PID_MIME
Definition filters.h:1091

◆ 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:706
@ GF_FS_ARG_HINT_ADVANCED
Definition filters.h:1887
@ GF_PROP_BOOL
Definition filters.h:767
@ GF_PROP_FRACTION
Definition filters.h:769

◆ 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,
}
GF_Err avidmx_process(GF_Filter *filter)
Definition dmx_avi.c:470
static const GF_FilterCapability AVIDmxCaps[]
Definition dmx_avi.c:696
void avidmx_finalize(GF_Filter *filter)
Definition dmx_avi.c:670
static const GF_FilterArgs AVIDmxArgs[]
Definition dmx_avi.c:707
static Bool avidmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition dmx_avi.c:397
GF_Err avidmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition dmx_avi.c:342
GF_Err avidmx_initialize(GF_Filter *filter)
Definition dmx_avi.c:662
static const char * avidmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition dmx_avi.c:686
Definition dmx_avi.c:48
#define SETCAPS(__struct)
Definition filters.h:2144
attribute Array args
Definition jsf.idl:24