GATE
videosources.h File Reference

Video devices and video frame structures. More...

#include "gate/io/gate_io_api.h"
#include "gate/gatetypes.h"
#include "gate/strings.h"
#include "gate/streams.h"
#include "gate/delegates.h"
#include "gate/comparers.h"
#include "gate/graphics/images.h"

Classes

struct  gate_video_format_class
 
struct  gate_video_frame_class
 

Macros

#define GATE_INTERFACE_NAME_VIDEOSOURCE   GATE_INTERFACE_NAME_OBJECT "/videosource"
 
#define gate_video_source_get_id(source)   (source)->vtbl->get_id((source))
 
#define gate_video_source_get_name(source)   (source)->vtbl->get_name((source))
 
#define gate_video_source_get_handle(source)   (source)->vtbl->get_handle((source))
 
#define gate_video_source_get_supported_formats(source, buffer, buffer_size)    (source)->vtbl->get_supported_formats((source), (buffer), (buffer_size))
 
#define gate_video_source_open(source, format)   (source)->vtbl->open((source), (format))
 
#define gate_video_source_close(source)   (source)->vtbl->close((source))
 
#define gate_video_source_read(source, frame)   (source)->vtbl->read((source), (frame))
 
#define gate_video_source_read_async(source, completion)   (source)->vtbl->read_async((source), (completion))
 

Typedefs

typedef struct gate_video_format_class gate_video_format_t
 
typedef struct gate_video_frame_class gate_video_frame_t
 

Functions

GATE_IO_API gate_hash_code_t gate_video_format_hash (gate_video_format_t const *format)
 
GATE_IO_API gate_intptr_t gate_compare_video_format (void const *item1, void const *item2)
 
GATE_IO_API gate_video_format_t const * gate_video_format_choose (gate_video_format_t const *formats, gate_size_t format_count, gate_uint32_t const *desired_width, gate_uint32_t const *desired_height, gate_uint32_t const *desired_bit_per_pixel, gate_real32_t const *desired_fps)
 
GATE_IO_API void gate_video_frame_init (gate_video_frame_t *frame, gate_video_format_t const *format)
 
GATE_IO_API gate_video_frame_tgate_video_frame_copy (gate_video_frame_t *dest, gate_video_frame_t const *source)
 
GATE_IO_API void gate_video_frame_release (gate_video_frame_t *frame)
 
 GATE_INTERFACE (gate_video_source)
 
 GATE_DELEGATE_DECLARE_2 (gate_video_sources_enum_callback, gate_video_source_t *, void *)
 
GATE_IO_API gate_result_t gate_video_sources_enum (gate_delegate_t const *callback, void *param)
 
GATE_IO_API gate_result_t gate_video_source_by_id (char const *id, gate_video_source_t **ptr_source)
 

Detailed Description

Video devices and video frame structures.