Hello,we encounted a problem in audio and video synchronization in our project,
so,we use avsync feature of DM8168 with RDK 4.0,
we confige AVSYNC like :
conf->syncMasterChnum = 2;
queCfg->audioPresent = TRUE;
queCfg->clkAdjustPolicy.refClkType = AVSYNC_REFCLKADJUST_BYAUDIO;
queCfg->clkAdjustPolicy.clkAdjustLead = AVSYNC_AUDIO_REFCLKADJUST_MAX_LEAD_MS;
queCfg->clkAdjustPolicy.clkAdjustLag = AVSYNC_AUDIO_REFCLKADJUST_MAX_LAG_MS;
queCfg->blockOnAudioGet = TRUE;
queCfg->playStartMode = AVSYNC_PLAYBACK_START_MODE_WAITSYNCH;
queCfg->vidSynchPolicy.playMaxLag = 180;
queCfg->vidSynchPolicy.playMaxLead = AVSYNC_VIDEO_PLAY_MAX_LEAD_MS;
queCfg->avsyncEnable = TRUE;
queCfg->vidSynchPolicy.maxReplayLead = AVSYNC_VIDEO_FUTURE_FRAME_DROP_THRESHOLD_MS;
queCfg->vidSynchPolicy.doMarginScaling = FALSE;
queCfg->playTimerStartTimeout = 0;
queCfg->ptsInitMode = AVSYNC_PTS_INIT_MODE_APP;
on the audio side,we create a AVSYNC audio queue like this:
AvsyncLink_AudQueCreateParams params;
params.chNum = 2;
params.audioDevID = 0;
params.maxElements = 1000;
int status = Avsync_audQueCreate(¶ms,&kAudioAvsynQue);
but,the assert "OSA_assert(queObj->playerTime == queObj->refClk->masterPlayerTime)" in file avsync.c appeared when we call Avsync_audQueGet ,
we printfed queObj->playerTime and queObj->refClk->masterPlayerTime,they were different,
why?
How to fix this assert:OSA_assert(queObj->playerTime == queObj->refClk->masterPlayerTime?