libgpac
Documentation of the core library of GPAC
avin_web.c File Reference
+ Include dependency graph for avin_web.c:

Data Structures

struct  GF_WebGrab
 

Macros

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

Functions

static GF_Err webgrab_process_dummy (GF_Filter *filter)
 
const GF_FilterRegister * webgrab_register (GF_FilterSession *session)
 

Variables

static GF_FilterCapability WebGrabCaps []
 
static const GF_FilterArgs WebGrabArgs []
 
GF_FilterRegister GF_WebGrabRegister
 

Data Structure Documentation

◆ GF_WebGrab

struct GF_WebGrab
+ Collaboration diagram for GF_WebGrab:
Data Fields
char * src
GF_PropVec2i vsize
Bool back
Bool ntp
Bool alpha
GF_Fraction fps
GF_Err init_err
Bool a_playing
Bool v_playing
GF_Filter * filter
GF_FilterPid * vpid
GF_FilterPid * apid
u32 w
u32 h
u32 pfmt
u32 out_size
u32 samplerate
u32 channels
u32 afmt
GF_FilterPacket * pck_v
Bool init_play_done
Bool is_canvas
u32 bytes_per_sample
u64 canvas_last_ts
u64 canvas_init_ts
u32 nb_frames
u64 next_time
GF_List * video_pcks
GF_List * audio_pcks

Macro Definition Documentation

◆ OFFS

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

Function Documentation

◆ webgrab_process_dummy()

static GF_Err webgrab_process_dummy ( GF_Filter *  filter)
static

◆ webgrab_register()

const GF_FilterRegister* webgrab_register ( GF_FilterSession *  session)
+ Here is the call graph for this function:

Variable Documentation

◆ WebGrabCaps

GF_FilterCapability WebGrabCaps[]
static
Initial value:
=
{
{0},
}
@ GF_CODECID_RAW
Definition: constants.h:600
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ 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
@ GF_PROP_PID_CODECID
Definition: filters.h:1116
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112

◆ WebGrabArgs

const GF_FilterArgs WebGrabArgs[]
static
Initial value:
=
{
{ OFFS(src), "source url", GF_PROP_STRING, NULL, NULL, 0},
{ OFFS(vsize), "desired webcam resolution", GF_PROP_VEC2I, "0x0", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(back), "use back camera", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(ntp), "mark packets with NTP", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(alpha), "keep alpha when brabbing canvas", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(fps), "framerate to use when grabbing images - 0 FPS means single image", GF_PROP_FRACTION, "0/1", NULL, GF_FS_ARG_HINT_ADVANCED},
{0}
}
#define OFFS(_n)
Definition: avin_web.c:509
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_BOOL
Definition: filters.h:858
@ GF_PROP_STRING
Definition: filters.h:876
@ GF_PROP_VEC2I
Definition: filters.h:868
@ GF_PROP_FRACTION
Definition: filters.h:860

◆ GF_WebGrabRegister

GF_FilterRegister GF_WebGrabRegister
Initial value:
= {
.name = "webgrab",
GF_FS_SET_HELP("This filter grabs audio and video streams MediaStreamTrackProcessor of the browser\n"
"\n"
"Supported URL schemes:\n"
"- video:// grabs from camera\n"
"- audio:// grabs from microphone\n"
"- av:// grabs both audio from microphone and video from camera\n"
"- video://ELTID grabs from DOM element with ID `ELTID` (the element must be a valid element accepted by `VideoFrame` constructor)\n"
)
.args = WebGrabArgs,
.private_size = sizeof(GF_WebGrab),
.hint_class_type = GF_FS_CLASS_MM_IO
}
static GF_Err webgrab_process_dummy(GF_Filter *filter)
Definition: avin_web.c:523
static const GF_FilterArgs WebGrabArgs[]
Definition: avin_web.c:511
static GF_FilterCapability WebGrabCaps[]
Definition: avin_web.c:500
Definition: avin_web.c:35
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2372
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_ASYNC_BLOCK
Definition: filters.h:2428
@ GF_FS_REG_MAIN_THREAD
Definition: filters.h:2387
@ GF_FS_CLASS_MM_IO
Definition: filters.h:2447