ffplay分析 (seek操作处理)

《ffplay的数据结构分析》
《ffplay分析(从启动到读取线程的操作)》
《ffplay分析(视频解码线程的操作)》
《ffplay分析(音频解码线程的操作)》
《ffplay 分析(音频从Frame(解码后)队列取数据到SDL输出)》
《ffplay分析 (视频从Frame(解码后)队列取数据到SDL输出)》
《ffplay分析 (音视频同步:主时钟为音频)》
《ffplay分析 (暂停 / 播放处理)》
《ffplay源码(版本:ffmpeg-4.2.1)》

一、分析:

1、event_loop():事件循环根据方向键左、右、前、后设置不同的seek时长

在这里插入图片描述

2、event_loop():判断当前格式文件是否支持字节方式seek,seek_by_bytes如果没在命令行参数初始化会在read_thread()初始化。字节方式seek的操作

在这里插入图片描述

3、event_loop():不是字节方式seek就是时间方式

在这里插入图片描述

4、stream_seek():设置seek的参数

在这里插入图片描述

5、read_thread() : 真正的seek操作在read_thread()调用avformat_seek_file()

在这里插入图片描述

6、read_thread() :最后根据avformat_seek_file()结果将Packet(解码前)队列清空和其他相应参数重置

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37599645/article/details/113655086