62 printf(
"Aggregate capture\n");
64 printf(
"\t-t aggregate -t <dev1_config> -t <dev2_config> ....]\n");
65 printf(
"\t\twhere devn_config is a complete configuration string of device involved in an aggregate device\n");
94 printf(
"vidcap_aggregate_init\n");
99 printf(
"Unable to allocate aggregate capture state\n");
105 gettimeofday(&s->
t0, NULL);
134 fprintf(stderr,
"[aggregate] Unable to initialize device %d (%s:%s).\n",
203 fprintf(stderr,
"[aggregate] Locking device #%d as an audio source.\n",
213 fprintf(stderr,
"[aggregate] Different format detected: ");
215 fprintf(stderr,
"codec");
217 fprintf(stderr,
"interlacing");
220 fprintf(stderr,
"\n");
231 gettimeofday(&s->t, NULL);
struct video_frame * frame
struct audio_frame ** audio
int void(** deleter)(void *))
struct video_frame * vf_alloc(int count)
Allocates blank video frame.
void vf_free(struct video_frame *buf)
Frees video_frame structure.
struct audio_frame audio_frame
struct used to comunicate with audio capture/playback device
void log_msg(int level, const char *format,...)
#define LOG_LEVEL_INFO
normal reporting
#define VIDCAP_INIT_NOERR
state not initialized, other action performed (typically help)
#define VIDCAP_INIT_OK
initialization successful
struct video_frame * vidcap_grab(struct vidcap *state, struct audio_frame **audio)
Grabs video frame. This function may block for a short period if waiting for incoming frame....
#define VIDCAP_NO_GENERIC_FPS_INDICATOR
int initialize_video_capture(struct module *parent, struct vidcap_params *param, struct vidcap **state)
Initializes video capture.
void vidcap_done(struct vidcap *state)
Destroys vidap state.
#define VIDEO_CAPTURE_ABI_VERSION
#define VIDCAP_INIT_FAIL
error ocured
static struct @19 params[100]
@ LIBRARY_CLASS_VIDEO_CAPTURE
#define REGISTER_MODULE(name, info, lclass, abi)
Registers module to global modules' registry.
struct used to comunicate with audio capture/playback device
char * data
Raw tile data. Pointer must be at least 4B aligned.
unsigned int data_len
length of the data
struct video_frame ** captured_frames
struct video_frame * frame
This struct represents video capture state.
Struct video_frame represents a video frame and contains video description.
enum interlacing_t interlacing
double tv_diff(struct timeval curr_time, struct timeval prev_time)
static const struct video_capture_info vidcap_aggregate_info
static void vidcap_aggregate_done(void *state)
static struct video_frame * vidcap_aggregate_grab(void *state, struct audio_frame **audio)
static void vidcap_aggregate_probe(struct device_info **cards, int *count, void(**deleter)(void *))
static int vidcap_aggregate_init(struct vidcap_params *params, void **state)
static void show_help(void)
struct module * vidcap_params_get_parent(const struct vidcap_params *params)
struct vidcap_params * vidcap_params_get_next(const struct vidcap_params *curr)
const char * vidcap_params_get_driver(const struct vidcap_params *params)
void vidcap_params_set_flags(struct vidcap_params *params, unsigned int flags)
const char * vidcap_params_get_fmt(const struct vidcap_params *params)
unsigned int vidcap_params_get_flags(const struct vidcap_params *params)
struct tile * vf_get_tile(struct video_frame *buf, int pos)
Returns pointer to n-th tile from video frame Equivalent to &video_frame::tiles[pos].
#define VIDEO_FRAME_DISPOSE(frame)