日志如下:
11-02 14:30:36.555 I/PinyinIME( 1161): onKeyDown:System handler the keyevent
11-02 14:30:36.559 E/USP ( 1128): ~~~~~~~~~@@@@ now updating content://mstar.tv.usersetting/videosetting/inputsrc/23
11-02 14:30:36.559 E/USP ( 1128): ~~~~~~~~~@@@@ now updating ePicture=1 enARCType=5 fOutput_RES=12 eTvFormat=2 LastVideoStandardMode=0 LastAudioStandardMode=1 eDynamic_Contrast=1 eFilm=1 tvsys=1
11-02 14:30:36.579 E/DataBaseDeskImpl( 1776): ===========>>>> now change Index = 34
11-02 14:30:36.579 E/DataBaseDeskImpl( 1496): ===========>>>> now change Index = 34
11-02 14:30:36.588 I/ ( 1496): setDatabaseDirtyByApplication
11-02 14:30:36.592 I//lib/ld-linux.so.3( 751): [COMMUI]disableSystemLock(callingPid 1496, clientPid 1496)
11-02 14:30:36.624 D/dalvikvm( 1128): GC_CONCURRENT freed 410K, 85% free 764K/4995K, paused 1ms+2ms
11-02 14:30:36.643 I/ ( 1496): Native setAspectRatio
11-02 14:30:36.647 I//lib/ld-linux.so.3( 751): [COMMUI]PictureManagerService::Client::SetAspectRatio
11-02 14:30:36.659 I//lib/ld-linux.so.3( 751): === open 3D OverScan ===
11-02 14:30:36.691 I//lib/ld-linux.so.3( 751): [drvPQ.c 6692] _u16PQSuggestedFrameNum[0] = 3
[ 496.127529] IR: [02569]
[ 496.127532] shine HaveKey=1, KEY=0x41, RepeatFalg=0
11-02 14:31:12.944 V/PinyinIME( 1161): onKeyDown:21
11-02 14:31:12.944 I/PinyinIME( 1161): onKeyDown:System handler the keyevent
11-02 14:31:12.948 E/USP ( 1128): ~~~~~~~~~@@@@ now updating content://mstar.tv.usersetting/videosetting/inputsrc/23
11-02 14:31:12.948 E/USP ( 1128): ~~~~~~~~~@@@@ now updating ePicture=1 enARCType=4 fOutput_RES=12 eTvFormat=2 LastVideoStandardMode=0 LastAudioStandardMode=1 eDynamic_Contrast=1 eFilm=1 tvsys=1
11-02 14:31:12.972 D/dalvikvm( 1128): GC_CONCURRENT freed 387K, 85% free 761K/4995K, paused 1ms+1ms
11-02 14:31:12.991 E/DataBaseDeskImpl( 1496): ===========>>>> now change Index = 34
11-02 14:31:12.991 E/DataBaseDeskImpl( 1776): ===========>>>> now change Index = 34
11-02 14:31:13.007 I/ ( 1496): setDatabaseDirtyByApplication
11-02 14:31:13.011 I//lib/ld-linux.so.3( 751): [COMMUI]disableSystemLock(callingPid 1496, clientPid 1496)
11-02 14:31:13.032 D/TvApp ( 1496): Thread forceThreadSleep
11-02 14:31:13.052 I/ ( 1496): Native setAspectRatio
11-02 14:31:13.055 I//lib/ld-linux.so.3( 751): [COMMUI]PictureManagerService::Client::SetAspectRatio
那么解决办法就是直接把usersetting.db 改成默认是5, enARCType
sqlite> update tbl_VideoSetting set 'enARCType'=5 where `InputSrcType`=23;
sqlite> select InputSrcType,enARCType from tbl_VideoSetting;
select InputSrcType,enARCType from tbl_VideoSetting where `InputSrcType`=23;
修改的地方,MSrv_HDMI_Player.cpp
printf("%s:%d stARCInfo.enARCType %d\n", __FUNCTION__, __LINE__, (int)stARCInfo.enARCType);
if(stARCInfo.enARCType == mapi_video_datatype::E_AR_JustScan)
{
U8 eRes = 0;
BOOL bRet;
bRet = MSrv_Control::GetMSrvFactoryMode()->GetResolutionInfo(&eRes, enCurrentInputType);
if (bRet == FALSE)
{
eRes = mapi_video_datatype::E_HDMI480i_60; // default value
}
if((eRes == mapi_video_datatype::E_HDMI1080i_50) || (eRes == mapi_video_datatype::E_HDMI1080i_60)||
(eRes == mapi_video_datatype::E_HDMI1080p_50)|| (eRes == mapi_video_datatype::E_HDMI1080p_60))
{
stARCInfo.enARCType = mapi_video_datatype::E_AR_JustScan;
}
else
{
#if 1//20161102 byh
printf("%s:%d stARCInfo.enARCType %d don't to E_AR_16x9\n", __FUNCTION__, __LINE__, (int)stARCInfo.enARCType);
#else
stARCInfo.enARCType = mapi_video_datatype::E_AR_16x9;
#endif
}
}
#if 1//20161102 byh
printf("%s:%d stARCInfo.enARCType %d before set \n", __FUNCTION__, __LINE__, (int)stARCInfo.enARCType);
#endif
MSrv_Control::GetMSrvSystemDatabase()->SetVideoArc(&stARCInfo.enARCType, &enCurrentInputType);