您的位置:首页 > 其它

ffplay之音视频同步

2017-08-20 10:09 162 查看
 /* called to display each frame */static void video_refresh(void *opaque, double *remaining_time)
{

。。。。。。

 /* compute nominal last_duration */

            /*通过pts计算duration,duration是一个videoframe的持续时间,当前帧的pts 减去上一帧的pts*/
            last_duration = vp_duration(is, lastvp, vp);
            if (redisplay)
                delay = 0.0;
            else
                delay = compute_target_delay(last_duration, is);
           /*time为程序已运行的时间*/
            time= av_gettime_relative()/1000000.0;          /*时间没到,就先等等*/

            if (time < is->frame_timer + delay && !redisplay) {
                *remaining_time = FFMIN(is->frame_timer + delay - time, *remaining_time);
                return;
            }
             /*时间已到*/
            is->frame_timer += delay;
            if (delay > 0 && time - is->frame_timer > AV_SYNC_THRESHOLD_MAX)
                is->frame_timer = time;

。。。。。。
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: