解决mstar芯片638平台onAtvSignalEvent事件不上报问题
来源:互联网 发布:恒讯营销软件 编辑:程序博客网 时间:2024/05/21 05:17
系统开发过程中,发现对模拟信号源的电缆进行插拔操作,界面显示没有变化,跟踪代码发现原来onAtvSignalEvent事件没有上报上来,继续追溯源码,跟踪致HAL层,发现原来Mstar的源码对这一块有特殊处理,默认当输入信号源是ATV时不上报无信号的状态,把原本的条件去掉就行了,Mark一下!
/ vendor/mstar/supernova/projects/msrv/common/src/MSrv_Player.cpp
BOOL MSrv_Player::noSignalCheck_Handler(EN_SIGNAL_LOCK_CHECK_TYPE &status){ //mapi_scope_lock(lock, &m_mutex); BOOL ret = TRUE; U32 MAX_NO_SIGNAL_RETRY_COUNT = 0; if(IsSrcDTV(m_CurrentSrcType) || IsSrcHDMI(m_CurrentSrcType)) { if(MSrv_Control::GetInstance()->IsSourceChanging()) { return ret; } MAX_NO_SIGNAL_RETRY_COUNT = DIGITAL_NO_SIGNAL_RETRY_COUNT; } else { MAX_NO_SIGNAL_RETRY_COUNT = ANALOG_NO_SIGNAL_RETRY_COUNT; } if(IsSignalStable() == TRUE) { status = E_SIGNAL_ALREADY_LOCK; m_u16SignalUnLockedCount = 0; if(m_u16SignalLockedCount == 0) { status = E_SIGNAL_LOCK; m_u16SignalLockedCount = 1; printf("Detect >>>>>>>>>>>>>>>> Signal Locked!!!\n");#if (MSTAR_TVOS == 0) //CTV Patch Begin , removed by Haming , Post signal_lock event when current input source is ATV; //if(m_CurrentSrcType != MAPI_INPUT_SOURCE_ATV)#endif //{ if(m_PipXCWin == MAPI_MAIN_WINDOW) { if (m_enSignalStatus != E_SIGNAL_LOCK) { ret = PostEvent(0, EV_SIGNAL_LOCK, m_CurrentSrcType); if (FALSE == ret) { m_u16SignalLockedCount = 0; // force re-send this event } else { m_enSignalStatus = E_SIGNAL_LOCK; } } } //} // CTV Patch End } } else { BOOL bExceedRetryCount = FALSE; status = E_SIGNAL_UNLOCK; m_u16SignalLockedCount = 0; if(IsSrcDTV(m_CurrentSrcType)|| IsSrcHDMI(m_CurrentSrcType)) { if(m_u16SignalUnLockedCount == DIGITAL_NO_SIGNAL_RETRY_COUNT) { bExceedRetryCount = TRUE; } } else { if(m_u16SignalUnLockedCount == ANALOG_NO_SIGNAL_RETRY_COUNT) { bExceedRetryCount = TRUE; } } if(bExceedRetryCount) { status = E_NOSIGNAL; m_u16SignalUnLockedCount++; printf("Detect >>>>>>>>>>>>>>>> Signal unLocked!!!\n"); // CTV Patch Begin char value[8] = {}; char atvBlueScreenProperty[8] = {}; property_get("client.config",value,"0"); property_get("ro.sys.atvbluescreen",atvBlueScreenProperty,"0"); //CTV Patch Begin , removed by Haming , Post signal_lock event when current input source is ATV //if((m_CurrentSrcType != MAPI_INPUT_SOURCE_ATV) || (strcmp("PPTV",value) == 0) || (strncmp("1",atvBlueScreenProperty,1) == 0)) // CTV Patch End //{ printf(">>>>>>>>>>>>>>>> Set buleScreen!!!\n"); if(m_PipXCWin == MAPI_MAIN_WINDOW) { if (m_enSignalStatus != E_NOSIGNAL) { ret = PostEvent(0, EV_SIGNAL_UNLOCK, m_CurrentSrcType); if (FALSE == ret) { m_u16SignalUnLockedCount--; // force re-send this event } else { m_enSignalStatus = E_NOSIGNAL; // CTV Patch Begin if (!IsSrcStorage(m_CurrentSrcType)) { MS_BOOT_SETTING value; MSrv_Control::GetInstance()->GetMSrvSystemDatabase()->GetBootSetting(&value); mapi_video *pVideo; pVideo = mapi_interface::Get_mapi_video(MSrv_Control::GetInstance()->GetCurrentInputSource()); if ((pVideo != NULL) && ((mapi_video_datatype::E_SCREEN_MUTE_BLACK != value.enMuteColor)// Bluescreen Flag || (mapi_video_datatype::E_SCREEN_MUTE_BLACK != value.enFrameColor))) { pVideo->setMuteColor((mapi_video_datatype::MAPI_VIDEO_Screen_Mute_Color)value.enMuteColor, MUTE_ENGINE_XC); pVideo->setFrameColor((mapi_video_datatype::MAPI_VIDEO_Screen_Mute_Color)value.enFrameColor, MUTE_ENGINE_XC); if (pVideo->IsVideoMute() == MAPI_FALSE) { pVideo->SetVideoMute(MAPI_TRUE); } } } // CTV Patch End } } } //} // CTV Patch End , removed by Haming } else if(m_u16SignalUnLockedCount < MAX_NO_SIGNAL_RETRY_COUNT) { ret = FALSE; m_u16SignalUnLockedCount++; } } return ret;}
阅读全文
0 0
- 解决mstar芯片638平台onAtvSignalEvent事件不上报问题
- MSTAR平台编译说明
- MSTAR平台编译说明
- mstar 源码修改问题
- kettle7.0连接sqlserver连不上报异常解决
- kettle7.1连接sqlserver连不上报异常解决
- uevent 事件上报demo
- 解决jquery Dialog不响应asp.net事件的问题
- 解决“新添加的元素,事件不可用”的问题
- 解决微信开发onclick事件不执行的问题
- js解决回车事件不兼容火狐、IE的问题
- xmmi - 晨星半导体公司MSTAR平台
- linux --- iwevent事件上报机制
- linux --- iwevent事件上报机制
- Android event事件上报方法
- Linux Kernel input 上报事件
- getevent获取input上报事件
- SAR图像处理 MSTAR数据库利用问题
- UVA11478 [Halum] 二分答案+SPFA差分约束系统
- Select 查询 自增序列生成
- 安卓开发:自定义双向选择确认框(“确认”“取消”提示)
- np.tile 和np.newaxis
- 从一个jsp页面跳转到另一个jsp页面时的参数传递
- 解决mstar芯片638平台onAtvSignalEvent事件不上报问题
- OpenGLES获取纹理流程图
- 【python 图像绘制】图像绘制知识总结
- 4 Values whose Sum is 0 (POJ-2785) (折半枚举)
- UVA
- 如何用Google离线API调用离线地图
- leetcode-8-String to Integer (atoi)
- beautifulsoup
- js新的循环