FFMPEG学习【libavdevice】(二)

来源:互联网 发布:美橙互联 数据库 编辑:程序博客网 时间:2024/06/08 07:23

unsigned avdevice_version (void)返回LIBAVDEVICE_VERSION_INT常量。


const char * avdevice_configuration (void)返回libavdevice构建时配置。


const char * avdevice_license (void)返回libavdevice许可证。


void avdevice_register_all (void)初始化libavdevice并注册所有输入和输出设备。


AVInputFormat * av_input_audio_device_next (AVInputFormat *d)音频输入设备迭代器。

如果d为NULL,则返回第一个注册的输入音频/视频设备,如果d为非空,则在d之后返回下一个已注册的输入音频/视频设备,如果d为最后一个则返回NULL。


AVInputFormat * av_input_video_device_next (AVInputFormat *d)视频输入设备迭代器。

如果d为NULL,则返回第一个注册的输入音频/视频设备,如果d为非空,则在d之后返回下一个已注册的输入音频/视频设备,如果d为最后一个则返回NULL。


AVOutputFormat * av_output_audio_device_next (AVOutputFormat *d)音频输出设备迭代器。

如果d为NULL,则返回第一个注册的输出音频/视频设备,如果d为非NULL,则在d之后返回下一个已注册的输出音频/视频设备,如果d为最后一个则返回NULL。


 AVOutputFormat * av_output_video_device_next (AVOutputFormat *d)视频输出设备迭代器。

如果d为NULL,则返回第一个注册的输出音频/视频设备,如果d为非NULL,则在d之后返回下一个已注册的输出音频/视频设备,如果d为最后一个则返回NULL。


int avdevice_app_to_dev_control_message (struct AVFormatContext *s, enum AVAppToDevMessageType type, void *data, size_t data_size)从应用程序发送控制消息到设备。

参数:s:设备上下文

    type:消息类型

    data:消息数据。 精确类型取决于消息类型。

    data_size:消息数据的大小。

返回:> = 0成功,否定错误。 当设备没有实现消息的处理程序时,AVERROR(ENOSYS)。


int avdevice_dev_to_app_control_message (struct AVFormatContext *s, enum AVDevToAppMessageType type, void *data, size_t data_size)发送控制消息从设备到应用程序。

参数:s:设备上下文

    type:消息类型

    data:消息数据。 可以为NULL。

    data_size:消息数据的大小。

返回:> = 0成功,否定错误。 当应用程序不实现消息的处理程序时,AVERROR(ENOSYS)。


int avdevice_capabilities_create (AVDeviceCapabilitiesQuery **caps, AVFormatContext *s, AVDictionary **device_options)基于AVOption API初始化能力探测API。

当不再使用查询功能API时,必须调用avdevice_capabilities_free()。

参数:caps:设备功能数据。指向NULL指针的指针必须传递。

    s:设备上下文

    device_options:一个填充了设备私有选项的AVDictionary。 返回时,此参数将被销毁,并替换为包含未找到的选项的dict。 可能为NULL。 稍后必须将相同的选项传递给输出设备的avformat_write_header()或输入设备的avformat_open_input(),或影响设备私有选项的任何其他位置。

返回:> = 0成功,否则为否。


void avdevice_capabilities_free (AVDeviceCapabilitiesQuery **caps, AVFormatContext *s)释放由avdevice_capabilities_create()创建的免费资源。

参数:caps:设备功能数据被释放。

    s:设备上下文


int avdevice_list_devices (struct AVFormatContext *s, AVDeviceInfoList **device_list)列出设备

返回可用的设备名称及其参数。

注意:某些设备可能会接受不能自动检测的依赖于系统的设备名称。 该函数返回的列表不能被假定为始终完成。

参数:s:设备上下文

    device_list:自动检测设备列表。

返回:计数自动检测设备,否定错误。


void avdevice_free_list_devices (AVDeviceInfoList **device_list)便捷函数可以释放avdevice_list_devices()的结果。

参数:device_list:设备列表被释放。


int avdevice_list_input_sources (struct AVInputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)列表设备

返回可用的设备名称及其参数。 这些是avdevice list_devices()的方便的包装器。 设备上下文在内部被分配和释放。

参数:device:设备格式。 如果设备名称被设置,可能为NULL。

    device_name:设备名称。 如果设置格式被设置,可能为NULL。

    device_options:一个填充了设备私有选项的AVDictionary。 可能为NULL。 稍后必须将相同的选项传递给输出设备的avformat_write_header()或输入设备的avformat_open_input(),或影响设备私有选项的任何其他位置。

    device_list:自动检测设备列表

返回:计数自动检测设备,否定错误。

注意:当两个设置都设置参数时,设备参数优先于device_name。


int avdevice_list_output_sinks (struct AVOutputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)



二、变量

const AVOption av_device_capabilities []设备使用的AVOption表来实现设备功能API。

不应该被用户使用

原创粉丝点击