罗老师,《video_refresh视频播放线程分析》中,这两个地方应该是 0.04 ?
不是 0.04 ,就是 0.01,虽然是每隔 0.04 播放,但是可以频繁进行检查,频繁进行检查可以更实时处理音视频同步。就是他检查了 4 次
当帧率过大,120帧每秒,为了避免 CPU 消耗,他就不多次检查了。 当帧率过大,remaining_time 就是下一帧播放还需要等待的时候。 当帧率不大,例如帧率 24 帧每秒,remaining_time 就是 0.01。
可以把这个看成是一种阈值策略,帧率过大,就用真实的等待时间,不大就频繁检查。
频繁检查可以更实时处理音视频同步,比如 0.04 秒播放一帧,当他检查到第二次的时候,也就是到 0.02 的时候,发现音频播放比视频快,他就会在 0.02 的时候就会播放下一帧,不用等够 0.04。
我举的是一个例子,数值不一定是这个,但大概是这个逻辑。