今天有时间继续研究ffplay了,之前把重点放在编码解码上了,今天看了一下ffplay的音视频同步的代码,也是看了一个人的博客,但是这个对初学者可能还是有点看不懂,在这里就只对一个方法做解析,这个方法了解就知道音视频同步的原理了。
//一下代码是我从另一个人的博客拷贝过来的,因为需要弄懂的就在这个方法里面,所以直接上他的代码了,不然还要去
static double compute_target_delay(double delay, VideoState *is)
{
double sync_threshold,diff;
/* update delay to followmaster synchronisation source */
/*如果主同步方式不是以视频为主,默认是以audio为主进行同步*/
if(get_master_sync_type(is) != AV_SYNC_VIDEO_MASTER) {
/* if video is slave,we try to correct big delays b