diff --git a/amp/src/service/sound/src/sound_hdmi_mgr.c b/amp/src/service/sound/src/sound_hdmi_mgr.c index 55051b2..5bdd01e 100755 --- a/amp/src/service/sound/src/sound_hdmi_mgr.c +++ b/amp/src/service/sound/src/sound_hdmi_mgr.c @@ -786,11 +786,17 @@ HRESULT snd_hdmi_mgr_set_format(SOUND_MANAGER *pSndMgr, UINT32 Format, BOOL bPlu SNDSRV_ENTER(); SNDSINK_CHK_NULL(pSndMgr); - SNDLOGW("LastSetupPortIdx %d," + SNDLOGE("LastSetupPortIdx %d," " UserHdmiFmt0x%x, RealHdmiFmt 0x%x, Format %x, bPlug=%d\n", pSndMgr->uiLastSetupPortIdx, pSndMgr->UserHdmiFmt, pSndMgr->RealHdmiFmt, Format, bPlug); + /* when user prefer format,real format and wish format is identical, do nothing */ + if( (pSndMgr->UserHdmiFmt==pSndMgr->RealHdmiFmt) && (pSndMgr->UserHdmiFmt==Format) ){ + SNDLOGE("Ignore the request when all cases are identical"); + return SUCCESS; + } + AmpMemClear(&stHdmiDataCfg, sizeof(HDMI_DATA_CFG)); AmpMemClear(&stCapHdmiDataCfg, sizeof(HDMI_DATA_CFG));