30 #if FF_API_DEVICE_CAPABILITIES
49 #define LICENSE_PREFIX "libavdevice license: "
54 void *
data,
size_t data_size)
56 if (!
s->oformat || !
s->oformat->control_message)
58 return s->oformat->control_message(
s,
type,
data, data_size);
62 void *
data,
size_t data_size)
64 if (!
s->control_message_cb)
66 return s->control_message_cb(
s,
type,
data, data_size);
69 #if FF_API_DEVICE_CAPABILITIES
88 if ((
s->oformat && !
s->oformat->get_device_list) ||
89 (
s->iformat && !
s->iformat->get_device_list)) {
97 (*device_list)->default_device = -1;
99 ret =
s->oformat->get_device_list(
s, *device_list);
101 ret =
s->iformat->get_device_list(
s, *device_list);
simple assert() macros that are a bit more flexible than ISO C assert().
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Libavcodec external API header.
static int list_devices_for_context(AVFormatContext *s, AVDictionary *options, AVDeviceInfoList **device_list)
const char av_device_ffversion[]
Main libavdevice API header.
#define FFMPEG_CONFIGURATION
const OptionDef options[]
int av_opt_set_dict2(void *obj, AVDictionary **options, int search_flags)
Set all the options from a given dictionary on an object.
#define AV_OPT_SEARCH_CHILDREN
Search in possible children of the given object first.
void avdevice_capabilities_free(AVDeviceCapabilitiesQuery **caps, AVFormatContext *s)
Free resources created by avdevice_capabilities_create()
const char * avdevice_license(void)
Return the libavdevice license.
AVAppToDevMessageType
Message types used by avdevice_app_to_dev_control_message().
int avdevice_list_input_sources(AVInputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)
List devices.
int avdevice_list_output_sinks(AVOutputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)
int avdevice_list_devices(AVFormatContext *s, AVDeviceInfoList **device_list)
List devices.
void avdevice_free_list_devices(AVDeviceInfoList **device_list)
Convenient function to free result of avdevice_list_devices().
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.
unsigned avdevice_version(void)
Return the LIBAVDEVICE_VERSION_INT constant.
const char * avdevice_configuration(void)
Return the libavdevice build-time configuration.
const AVOption av_device_capabilities[]
AVOption table used by devices to implement device capabilities API.
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().
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.
void avformat_free_context(AVFormatContext *s)
Free an AVFormatContext and all its streams.
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values.
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
Copy entries from one AVDictionary struct into another.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
av_warn_unused_result int ff_alloc_input_device_context(struct AVFormatContext **avctx, struct AVInputFormat *iformat, const char *format)
#define LIBAVDEVICE_VERSION_INT
#define LIBAVDEVICE_VERSION_MICRO
common internal API header
Following API allows user to probe device capabilities (supported codecs, pixel formats,...
int nb_devices
number of autodetected devices
AVDeviceInfo ** devices
list of autodetected devices
Structure describes basic parameters of the device.
char * device_description
human friendly name
char * device_name
device name, format depends on device