FFmpeg源代码简单分析-其他-libavdevice的avdevice_register_all()

参考链接

  • FFmpeg源代码简单分析:libavdevice的avdevice_register_all()_雷霄骅的博客-CSDN博客

libavdevice的avdevice_register_all()

  • FFmpeg中libavdevice注册设备的函数avdevice_register_all()。
  • avdevice_register_all()在编程中的使用示例可以参考文章:最简单的基于FFmpeg的AVDevice例子(读取摄像头)_雷霄骅的博客-CSDN博客_ffmpeg 查找摄像头
  • 在使用libavdevice之前,必须先运行avdevice_register_all()对设备进行注册,否则就会出错。  目前的机制 已经不需要使用这个函数进行设备注册了
  • 源代码如下所示
void avdevice_register_all(void)
{avpriv_register_devices(outdev_list, indev_list);
}
void avpriv_register_devices(const AVOutputFormat * const o[], const AVInputFormat * const i[])
{atomic_store_explicit(&outdev_list_intptr, (uintptr_t)o, memory_order_relaxed);atomic_store_explicit(&indev_list_intptr,  (uintptr_t)i, memory_order_relaxed);
}
#define atomic_store_explicit(object, desired, order) \atomic_store(object, desired)
  • 变化太大了  找不到  代码依据
  •  从代码中可以看出,avdevice_register_all()调用3个函数进行设备组建的注册:REGISTER_INDEV(),REGISTER_OUTDEV(),REGISTER_INOUTDEV()。上述3个函数实际上是预定义的3个宏:
  • REGISTER_INDEV():注册输入设备。实际上调用了av_register_input_format()将输入设备注册成一个AVInputFormat。
  • REGISTER_OUTDEV():注册输出设备。实际上调用了av_register_output_format()将输出设备注册成一个AVOutputFormat。
  • REGISTER_INOUTDEV():注册输入设备和输出设备。实际上将上述两个宏定义合并了。

请使用手机"扫一扫"x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat无需输入项目名,直接用域名访问项目

问题 在Tomcat上开发Web应用,通常是将应用放置Tomcat主目录下webapps,然后在浏览器地址栏输入域名应用名(如http://localhost:8080/app)对应用进行访问。 为了方便开发,打算直接用域名访问项目。例如,在浏…

蓝牙该串口设备不存在或已被占用_电脑识别不了串口设备如何解决_电脑检测不到串口怎么办...

2015-09-07 10:46:45win8.1系统USB转串口不能识别设备出现错误代码10的解决方法分享给大家,win8.1系统插入USB设备提示“指定不存在的设备”,左下角有小黄色感叹号,导致设备无法识别不能识别...2016-12-02 10:52:57一般情况下,win…

FFmpeg源代码简单分析-其他-libavdevice的gdigrab

参考链接 FFmpeg源代码简单分析:libavdevice的gdigrab_雷霄骅的博客-CSDN博客_gdigrab libavdevice的gdigrab GDIGrab用于在Windows下屏幕录像(抓屏)gdigrab的源代码位于libavdevice\gdigrab.c。关键函数的调用关系图如下图所示。图中绿色背…

分区和分片的区别_PHP: 分区和分片 - Manual

分区和分片数据库群组是由于各种各样的原因建立的,他可以提升处理能力、容忍错误,并且提升大量服务器同时工作的的性能。群组有时会组合分区和共享功能,来将大量复杂的任务分拆成更加简单的任务,更加可控的单元。插件可以支持各种…

Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本

参考链接 编译与安装【GmSSL】GmSSL 与 OpenSSL 共存的安装方法_阿卡基YUAN的博客-CSDN博客_openssl和gmssl在Linux下安装GmSSL_百里杨的博客-CSDN博客_安装gmssl ubuntu18操作 需要超级管理员权限本人将下载的安装包master.zip和安装的位置都设定在/usr/local下创建文件夹/u…

Windows7右键菜单栏添加打开cmd项

背景简介 众所周知,在Linux桌面操作系统中的工作目录窗口中,单击鼠标右键,弹出的菜单栏通常有一项“打开终端”,然后移动鼠标点击该项,就可以打开Shell窗口,在当前工作目录进行命令行操作。 但是&#xf…

python11_Python11,文件操作

整了这么多杂七杂八又“没用”的,终于来点实际的操作了。Python中用open()方法来对打开文件。我们来看看它的用法:path "C:\\Users\Frank\Desktop\\text.txt"f open(path,r,encoding"utf-8")首先给变量path指定一个路径&#xff0…

在ubuntu环境下执行openssl编译和安装

参考链接 工具系列 | Ubuntu18.04安装Openssl-1.1.1_Tinywan的技术博客_51CTO博客密码学专题 openssl编译和安装_MY CUP OF TEA的博客-CSDN博客_openssl 编译安装 下载 /source/index.html编译 使用命令sudo tar -xvzf openssl-1.1.1q.tar.gz 解压。使用cd openssl-1.1.1q/进…

chrome 使用gpu 加速_一招解决 Chrome / Edge 卡顿缓慢 让浏览器重回流畅顺滑

最近一段时间,我发现电脑上的 Chrome 谷歌浏览器越用越卡了。特别是网页打开比较多,同时还有视频播放时,整个浏览器的响应速度都会变得非常缓慢,视频也会卡顿掉帧。 我用的是 iMac / 32GB 内存 / Intel 四核 i7 4Ghz CPU,硬件性能应该足以让 Chrome 流畅打开几十个网页标签…

CLion运行程序时添加命令行参数 即设置argv输入参数

参考链接 CLion运行程序时添加命令行参数_三丰杂货铺的博客-CSDN博客_clion命令行参数 操作流程 Run -> Edit -> Configuration -> Program arguments那里添内容最快捷的方式是,点击锤子编译图标和运行图标之间的的图标,进行Edit Configurati…

python的userlist_Python Collections.UserList用法及代码示例

Python列表是array-like数据结构,但与之不同的是它是同质的。单个列表可能包含数据类型,例如整数,字符串以及对象。 Python中的列表是有序的,并且有一定数量。根据确定的序列对列表中的元素进行索引,并使用0作为第一个…

解决 SSL_CTX_use_certificate:ca md too weak:ssl/ssl_rsa.c 问题

报错原因分析 原因是openssl调整了安全级别,要求ca具备更高等级的安全,因此先前发布的证书,如果采用了不安全的算法,比如MD5,就会显示上述这个错误 解决办法 重新生成证书,先前证书弃用使用函数 SSL_CTX_…

向上滚动 终端_ubuntu

Ubuntu终端Terminal常用快捷键Ubuntu终端Terminal常用快捷键 快捷键 功能 Tab 自动补全 Ctrla 光标移动到开始位置 Ctrle 光标移动到最末尾 Ctrlk 删除此处至末尾的所有内容 Ctrlu 删除此处至开始的所有内容 Ctrld 删除当前字符 Ctrlh 删除当前字符前一个字符 Ctrlw 删除此处到…

openssl实现双向认证教程(服务端代码+客户端代码+证书生成)

参考链接 openssl实现双向认证教程(服务端代码客户端代码证书生成)_huang714的博客-CSDN博客_ssl_ctx_load_verify_locations基于openssl实现https双向身份认证及安全通信_tutu-hu的博客-CSDN博客_基于openssl实现 注意事项 openssl版本差异很可能导致程…

python用pip安装pillow_cent 6.5使用pip安装pillow总是失败

python:2.7.8阿里云cent os32位virtualenvvirtualenvwrapper之前有一个virtualenv不知道怎么回事成功装上了pillow之后再在别的virtualenv装就全都报错这是为什么 太奇怪了?下载whl安装,不管哪个版本都说不支持这个系统。imaging.c:3356: error: expected ?.?. ?…

基于openssl和国密算法生成CA、服务器和客户端证书

参考链接 国密自签名证书生成_三雷科技的博客-CSDN博客_国密证书生成openssl采用sm2进行自签名的方法_dong_beijing的博客-CSDN博客_openssl sm 前提说明 OpenSSL 1.1.1q 5 Jul 2022 已经实现了国密算法查看是否支持SM2算法openssl ecparam -list_curves | grep -i sm2参考…

h5获取http请求头_React 前端获取http请求头信息

背景:前端通过react渲染页面,使用了react-slingshot,相当于是前端跑在一个node服务上面需求:需要通过客户端通过HTTP请求传递来的参数(header里放了token)进行用户权限的验证,比如访问http://localhost:3000/rights/1,…

基于Gmssl库静态编译,实现服务端和客户端之间的SSL通信

前情提要 将gmssl库采取静态编译的方式&#xff0c;存储在/usr/local/gmssl路径下&#xff0c;核心文件涵盖 include、lib和bin等Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本_MY CUP OF TEA的博客-CSDN博客 代码 server #include <stdio.h> #include <stdlib.h&g…

禅道备份功能_更新禅道燃尽图及数据备份

Last login: Fri May 29 13:52:16 on ttys000mazhenguodeMacBook-Pro:~ mazhenguo$ ssh root192.168.1.2 //登录服务器root192.168.1.2’s password: //输入服务器密码Last login: Fri May 29 13:52:20 2015 from 192.168.1.251[rootmazhenguo ~]# cd /home/app/192.168.1.2/ze…

基于SM2证书实现SSL通信

参考链接 ​​​​​基于openssl和国密算法生成CA、服务器和客户端证书_MY CUP OF TEA的博客-CSDN博客基于上述链接&#xff0c;使用国密算法生成CA、服务器和客户端证书&#xff0c;并实现签名认证openssl实现双向认证教程&#xff08;服务端代码客户端代码证书生成&#xff…