diff --git a/amp/src/service/sound/src/sound_hdmi_mgr.c b/amp/src/service/sound/src/sound_hdmi_mgr.c index 55051b2..54f3fbd 100755 --- a/amp/src/service/sound/src/sound_hdmi_mgr.c +++ b/amp/src/service/sound/src/sound_hdmi_mgr.c @@ -791,6 +791,16 @@ HRESULT snd_hdmi_mgr_set_format(SOUND_MANAGER *pSndMgr, UINT32 Format, BOOL bPlu pSndMgr->uiLastSetupPortIdx, pSndMgr->UserHdmiFmt, pSndMgr->RealHdmiFmt, Format, bPlug); + /* when user prefer format is RAW_MAIN, + real format and wish format is identical, do nothing */ + if( AMP_SND_HDMI_FORMAT_RAW_MAIN == Format ){ + 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));