怎样判断ffmpeg接口是线程安全的?
来源:互联网 发布:西电人工智能学院 编辑:程序博客网 时间:2024/06/05 02:56
文档中一般会有警告信息,比如avcodec_open2
ffmpeg中线程不安全函数的处理方式
http://stackoverflow.com/questions/13888915/thread-safety-of-libav-ffmpeg
- 安装库的时候定义默认的锁
- 自己写程序使用av_lockmgr_register(lockmgr)
https://www.ffmpeg.org/doxygen/3.0/group__lavc__misc.html#gae120ec60cdf49cf0f793eff3ec731bcc
int av_lockmgr_register(int(*)(void **mutex, enum AVLockOp op)cb)不是线程安全的,需要在发起多个线程之前注册。
http://blog.csdn.net/liuhongxiangm/article/details/11198625
http://m.blog.chinaunix.net/uid-15063109-id-4482932.html
int CFfmpegDecode::initFFMPEG()
{
//m_state = RC_STATE_INIT;
avcodec_register_all();
av_register_all();
//avformat_network_init();
//if (av\_lockmgr\_register(lock mgr)) { */ m\_state = RC\_STATE\_INIT\_ERROR; /* return -1; } return 0;
}
CFfmpegDecode::~CFfmpegDecode()
{
av_lockmgr_register(NULL);
}
- 获取文件类型:
video_format = strstr(fmt_ctx->iformat->name, “mp4”) ? MP4 :
strstr(fmt_ctx->iformat->name, “flv”) ? FLV :
strstr(fmt_ctx->iformat->name, “mkv”) ? MKV:
strstr(fmt_ctx->iformat->name, “webm”) ? WEBM :
strstr(fmt_ctx->iformat->name, “asf”) ? ASF :
strstr(fmt_ctx->iformat->name, “mpeg”) ? MPEG :
strstr(fmt_ctx->iformat->name, “avi”) ? AVI :
strstr(fmt_ctx->iformat->name, “ogv”) ? OGV :
fmt_ctx->iformat->name的所有可能取值可以使用ffmpeg -format得到
阅读全文
0 0
- 怎样判断ffmpeg接口是线程安全的?
- SimpleDateFormat是线程不安全的,怎样使用使其安全?
- ffmpeg不是线程安全的
- 如何判断PHP 是线程安全还是非线程安全的
- 如何判断PHP 是线程安全还是非线程安全的
- 线程安全 问题 如何判断一个类是否是线程安全的
- 栈是线程安全的
- Vector 是线程安全的?
- Vector 是线程安全的?
- Vector 是线程安全的?
- Vector是线程安全的
- 什么是线程安全? 线程安全是怎么完成的(原理)?
- 什么是线程安全以及threadlocal为什么是线程安全的
- Messenger是怎样实现单线程的
- Problem 58 怎样判断当前程序链接的是多线程版的Glibc还是单线程版的Glibc?
- 静态方法是线程安全的
- epoll函数是线程安全的
- LINUX内置数据类型是线程安全的
- MATLAB长除法求z变换逆变换
- TreeSet排序原理
- JavaBean
- leetcode.array--33. Search in Rotated Sorted Array
- Windows下常用的100个CMD指令以及常见的操作
- 怎样判断ffmpeg接口是线程安全的?
- Can't update: no tracked branch
- Mysql-触发器
- 【kmp算法—最小循环节】Cyclic Nacklace HDU
- POJ分类很好很有层次感
- 20 个顶尖的 Python 机器学习开源项目
- EL表达式
- Python实现栈
- BRVAH__优秀的RecyclerView框架