使用ffmpeg的av_read_frame,如何控制连接超时
2014-01-13 00:33
363 查看
最近使用ffmpeg来做一个rtsp的客户端,这过程也遇到不少问题,不过相应都比较好,一路走下来.不过到项目结尾时,且遇到一个比较纠结的问题.那就是客户端在使用的过程中,把rtsp服务器的网断了.这时客户端会卡死.无法操作.尝试了各种线程的处理,还不行.最后追踪代码来到av_read_frame这个函数.问题就出现在它身上了.当服务器断网后,这个函数会一直没有返回,且整个线程也停在那里了.
难道就没有连接超时的判断.
原来要想实现连接超时的判断,得用回调函数.网上有两种设置方法.不过我这边只有这种是有效的.
直接上代码
再另外定义一下函数
这样,回调函数就会一直在后台运行着,然后就可以在上面加一些逻辑让超时返回1了,返回1,系统就自动结束,把主动权交回给主线程,这样用户就可以再操作ui了,卡死的问题ok
难道就没有连接超时的判断.
原来要想实现连接超时的判断,得用回调函数.网上有两种设置方法.不过我这边只有这种是有效的.
直接上代码
相关文章推荐
- 使用ffmpeg的av_read_frame,如何控制连接超时
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 :av_read_frame()
- Ffmpeg解析media容器过程/ ffmpeg 源代码简单分析 : av_read_frame()
- FFmpeg的av_read_frame()的分析
- FFmpeg-av_read_frame
- ffmpeg取rtsp流时av_read_frame阻塞的解决办法
- ffmpeg源码跟踪笔记之av_read_frame
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg中av_seek_frame使用样例
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg框架阅读笔记一:读取数据帧函数 int av_read_frame(AVFormatContext *s, AVPacket *pkt)
- ffmpeg笔记,av_read_frame()阻塞在哪
- (转)ffmpeg 中 av_read_frame_internal分析
- ffmpeg av_read_frame源码分析
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg中av_seek_frame使用样例(代码实现)
- FFmpeg av_seek_frame()参数以及使用
- FFmpeg(7)-av_read_frame()读取帧数据AVPacket和av_seek_frame()改变播放进度