30 #define E AV_OPT_FLAG_ENCODING_PARAM 31 #define D AV_OPT_FLAG_DECODING_PARAM 32 #define A AV_OPT_FLAG_AUDIO_PARAM 33 #define V AV_OPT_FLAG_VIDEO_PARAM 34 #define OFFSET(x) offsetof(AVDeviceCapabilitiesQuery, x) 42 {.i64 = -1}, -1, INT_MAX,
E|
D|
A },
44 {.i64 = -1}, -1, INT_MAX,
E|
D|
A },
46 {.i64 = -1}, -1, INT_MAX,
E|
D|
A },
50 {.str =
NULL}, -1, INT_MAX,
E|
D|
V },
52 {.str =
NULL}, -1, INT_MAX,
E|
D|
V },
54 {.dbl = -1}, -1, INT_MAX,
E|
D|
V },
77 #define LICENSE_PREFIX "libavdevice license: " 88 if (!(prev = av_oformat_next(prev)))
92 if (!(prev = av_iformat_next(prev)))
99 }
while (category != c1 && category != c2);
128 void *
data,
size_t data_size)
136 void *
data,
size_t data_size)
155 (*caps)->device_context =
s;
174 if (!s || !caps || !(*caps))
202 (*device_list)->default_device = -1;
const char * avdevice_configuration(void)
Return the libavdevice build-time configuration.
Structure describes basic parameters of the device.
AVOutputFormat * av_output_audio_device_next(AVOutputFormat *d)
Audio output devices iterator.
char * device_description
human friendly name
void avdevice_capabilities_free(AVDeviceCapabilitiesQuery **caps, AVFormatContext *s)
Free resources created by avdevice_capabilities_create()
void av_opt_set_defaults(void *s)
Set the values of all AVOption fields to their default values.
char * device_name
device name, format depends on device
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
Copy entries from one AVDictionary struct into another.
int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
List devices.
av_warn_unused_result int ff_alloc_input_device_context(struct AVFormatContext **avctx, struct AVInputFormat *iformat, const char *format)
static void * device_next(void *prev, int output, AVClassCategory c1, AVClassCategory c2)
int avdevice_dev_to_app_control_message(struct AVFormatContext *s, enum AVDevToAppMessageType type, void *data, size_t data_size)
Send control message from device to application.
#define av_assert0(cond)
assert() equivalent, that is always enabled.
int avdevice_capabilities_create(AVDeviceCapabilitiesQuery **caps, AVFormatContext *s, AVDictionary **device_options)
Initialize capabilities probing API based on AVOption API.
AVDevToAppMessageType
Message types used by avdevice_dev_to_app_control_message().
void avdevice_free_list_devices(AVDeviceInfoList **device_list)
Convenient function to free result of avdevice_list_devices().
AVOutputFormat * av_output_video_device_next(AVOutputFormat *d)
Video output devices iterator.
struct AVOutputFormat * oformat
The output container format.
Main libavdevice API header.
const char av_device_ffversion[]
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values. ...
simple assert() macros that are a bit more flexible than ISO C assert().
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
AVClassCategory category
Category used for visualization (like color) This is only set if the category is equal for all object...
#define LIBAVDEVICE_VERSION_INT
AVDeviceInfo ** devices
list of autodetected devices
int avdevice_list_input_sources(AVInputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)
List devices.
#define AV_OPT_SEARCH_CHILDREN
Search in possible children of the given object first.
int avdevice_list_output_sinks(AVOutputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)
int av_opt_set_dict2(void *obj, AVDictionary **options, int search_flags)
Set all the options from a given dictionary on an object.
const AVOption av_device_capabilities[]
AVOption table used by devices to implement device capabilities API.
AVInputFormat * av_input_video_device_next(AVInputFormat *d)
Video input devices iterator.
Libavcodec external API header.
int av_opt_set_dict(void *obj, AVDictionary **options)
Set all the options from a given dictionary on an object.
Describe the class of an AVClass context structure.
AVInputFormat * av_input_audio_device_next(AVInputFormat *d)
Audio input devices iterator.
const char * avdevice_license(void)
Return the libavdevice license.
void avformat_free_context(AVFormatContext *s)
Free an AVFormatContext and all its streams.
offset must point to two consecutive integers
#define LIBAVDEVICE_VERSION_MICRO
const OptionDef options[]
av_format_control_message control_message_cb
Callback used by devices to communicate with application.
struct AVInputFormat * iformat
The input container format.
#define FFMPEG_CONFIGURATION
unsigned avdevice_version(void)
Return the LIBAVDEVICE_VERSION_INT constant.
void * priv_data
Format private data.
AVAppToDevMessageType
Message types used by avdevice_app_to_dev_control_message().
static int list_devices_for_context(AVFormatContext *s, AVDictionary *options, AVDeviceInfoList **device_list)
int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum AVAppToDevMessageType type, void *data, size_t data_size)
Send control message from application to device.
int nb_devices
number of autodetected devices
Following API allows user to probe device capabilities (supported codecs, pixel formats, sample formats, resolutions, channel counts, etc).