ffplay分析 (暂停 / 播放处理)

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

一、分析:

(1)读取数据线程暂停时:根据Packet队列是否达到特定的大小后就不再继续读取数据。

(2)音频播放线程暂停时:根据paused标志判断写入空白数据到SDL。

(3)视频播放线程暂停时:根据paused标志判断不继续显示下一帧。

1、read_thread():线程读取线程暂停时的操作

在这里插入图片描述

2、audio_decode_frame():sdl_audio_callback()调用audio_decode_frame()判断is->paused

在这里插入图片描述

3、sdl_audio_callback():SDL回调函数根据audio_decode_frame()返回值写入空白数据到SDL

在这里插入图片描述
在这里插入图片描述

4、video_refresh():判断paused不进行显示下一帧

在这里插入图片描述

5、event_loop():(暂停 / 播放控制)SDLK_p、SDLK_SPACE事件处理

在这里插入图片描述
在这里插入图片描述

6、stream_toggle_pause():(暂停 / 播放控制)stream_toggle_pause()暂停与播放时的时钟控制处理

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值