FFMepg av_lockmgr_register

FFMpeg多路h.264视频用多线程播放有关问题怎么解决

 

FFMpeg多路h.264视频用多线程播放问题如何解决

本帖最后由 x6wang 于 2014-10-10 14:50:37 编辑

panfeng_87 网友曾经发布过下列问题:
 “ 我用类接口的方式封装了ffmpeg,想的是每一个类的实例解码一路视频。类的其他部分没有对公共变量/全局变量的使用,但目前就是不知道ffmpeg中是否使用了一些全局资源或是相关的东东。即ffmpeg的可重入性问题。
  目前,如果生成一个类的实例,解码没有错误,生成类的实例数组,同时解码多路视频,可能出现内存报错,查看了其他代码,目前只能怀疑ffmpeg的可重入性了。”

但帖子没有完美回复,请问谁能帮忙解答一下?
------解决思路----------------------
用过ffmpeg解码过多路视频,没问题
你看内存报错是自己的内存部分么
------解决思路----------------------
ffplay里面有,ffmpeg.c里面也有解决方法。明显都不认真看代码:
 if (av_lockmgr_register(lockmgr)) {
        av_log(NULL, AV_LOG_FATAL, "Could not initialize lock manager!\n");
        do_exit(NULL);
    }
------解决思路----------------------
ffmpeg的初始化和反初始化接口不能重入,需要加锁或者简单点就用while循环调用N次,直到成功为止。直接看接口说明就有的,我记得。

 

https://blog.csdn.net/sxc1989/article/details/54934062?spm=1001.2101.3001.4242

你可能感兴趣的:(ffmpeg)