|
@@ -40,6 +40,17 @@
|
|
|
#define SMALL_RECORD_VIDEO_HEIGHT 138
|
|
|
#endif
|
|
|
|
|
|
+#ifndef RVC_VIDEO_FRESH_TIME
|
|
|
+#define RVC_VIDEO_FRESH_TIME 50
|
|
|
+#endif // !RVC_VIDEO_FRESH_TIME
|
|
|
+
|
|
|
+#ifndef RVC_MAX_VIDEO_FRESH_TIME
|
|
|
+#define RVC_MAX_VIDEO_FRESH_TIME 200
|
|
|
+#endif // !RVC_MAX_VIDEO_FRESH_TIME
|
|
|
+
|
|
|
+#ifndef RVC_MIN_VIDEO_FRESH_TIME
|
|
|
+#define RVC_MIN_VIDEO_FRESH_TIME 1
|
|
|
+#endif // !RVC_MAX_VIDEO_FRESH_TIME
|
|
|
|
|
|
/////////////////////////////////////////////
|
|
|
// future roadmap
|
|
@@ -122,7 +133,8 @@ CSIPEntity::CSIPEntity() : m_pCurrentSession(NULL), m_state(INIT),m_iPickupPhone
|
|
|
#endif
|
|
|
m_SipErrorCode = Error_Succeed;
|
|
|
memset((void*)&m_stVideoParam,0,sizeof(stVideoParam));
|
|
|
- m_ilocalvideo_freshtime = 200;
|
|
|
+ m_ilocalvideo_freshtime = RVC_VIDEO_FRESH_TIME;
|
|
|
+ m_iremotevideo_freshtime = RVC_VIDEO_FRESH_TIME;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -229,7 +241,7 @@ void CSIPEntity::OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const
|
|
|
// 话筒模式开始远程双录连线
|
|
|
m_iPickupPhoneState = ePickupMicrophoneState_On;
|
|
|
}
|
|
|
- LOG_TRACE("dwUserCode = 0x%08x,m_iPickupPhoneState %d", dwUserCode, m_iPickupPhoneState);
|
|
|
+ LOG_TRACE("dwUserCode = 0x%08x,m_iPickupPhoneState %d.", dwUserCode, m_iPickupPhoneState);
|
|
|
Dbg("dwUserCode = 0x%08x,old_PhoneState = %d,PickupPhoneState = %d", dwUserCode,old_state, m_iPickupPhoneState);
|
|
|
if (old_state != m_iPickupPhoneState)
|
|
|
{
|
|
@@ -1750,15 +1762,32 @@ void CSIPEntity::Handle_AdjustVideoEchoEvent(const char* pszMessage)
|
|
|
void CSIPEntity::InitFreshTimeConfig()
|
|
|
{
|
|
|
CSmartPointer<IConfigInfo> spCacheConfig;
|
|
|
- GetFunction()->OpenConfig(Config_Cache, spCacheConfig);
|
|
|
+ GetFunction()->OpenConfig(Config_CenterSetting, spCacheConfig);
|
|
|
+
|
|
|
+ int ileftvideo(RVC_VIDEO_FRESH_TIME);
|
|
|
+ int irightvideo(RVC_VIDEO_FRESH_TIME);
|
|
|
+ spCacheConfig->ReadConfigValueInt("SIPPhone", "lfreshtime", ileftvideo);
|
|
|
+ spCacheConfig->ReadConfigValueInt("SIPPhone", "rfreshtime", irightvideo);
|
|
|
+
|
|
|
+ if (ileftvideo < RVC_MIN_VIDEO_FRESH_TIME) {
|
|
|
+ ileftvideo = RVC_MIN_VIDEO_FRESH_TIME;
|
|
|
+ }
|
|
|
+ if (ileftvideo > RVC_MAX_VIDEO_FRESH_TIME) {
|
|
|
+ ileftvideo = RVC_MAX_VIDEO_FRESH_TIME;
|
|
|
+ }
|
|
|
|
|
|
- int value(0);
|
|
|
- spCacheConfig->ReadConfigValueInt("SIPPhone", "lfreshtime", value);
|
|
|
- if (value > 0) {
|
|
|
- LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_OVERWRITE_FRESHVALUE,
|
|
|
- CSimpleStringA::Format("overwrite lfreshtime from global cache: %d", value));
|
|
|
- m_ilocalvideo_freshtime = value;
|
|
|
+ if (irightvideo < RVC_MIN_VIDEO_FRESH_TIME) {
|
|
|
+ irightvideo = RVC_MIN_VIDEO_FRESH_TIME;
|
|
|
}
|
|
|
+ if (irightvideo > RVC_MAX_VIDEO_FRESH_TIME) {
|
|
|
+ irightvideo = RVC_MAX_VIDEO_FRESH_TIME;
|
|
|
+ }
|
|
|
+
|
|
|
+ LogWarn(Severity_Middle, Error_Debug, EVENT_MOD_SIP_OVERWRITE_FRESHVALUE,
|
|
|
+ CSimpleStringA::Format("overwrite video freshtime from centersetting cache, left fresh time is %d, right fresh time is %d.", ileftvideo, irightvideo));
|
|
|
+ m_ilocalvideo_freshtime = ileftvideo;
|
|
|
+ m_iremotevideo_freshtime = irightvideo;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
ErrorCodeEnum CSIPEntity::LoadConfig(endpoint_conf_t *conf)
|
|
@@ -1878,9 +1907,6 @@ ErrorCodeEnum CSIPEntity::LoadConfig(endpoint_conf_t *conf)
|
|
|
//DecideCameraCount(conf->camera_count);
|
|
|
DecideScreenCount(conf->screen_count);
|
|
|
|
|
|
- if (m_ilocalvideo_freshtime > 500 || m_ilocalvideo_freshtime < 50) {
|
|
|
- m_ilocalvideo_freshtime = 200;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1889,6 +1915,7 @@ ErrorCodeEnum CSIPEntity::LoadConfig(endpoint_conf_t *conf)
|
|
|
return Error;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//载入运行时配置
|
|
|
ErrorCodeEnum CSIPEntity::LoadAudioRunConfig(int&nHandfreeout,int&nPickupout,int&nHandfreein,int&nPickupin)
|
|
|
{
|
|
@@ -2199,6 +2226,7 @@ void CSIPPhoneSession::Handle_StartVideo( SpOnewayCallContext<PhoneService_Start
|
|
|
pCmd->local_hwd_move = ctx->Info.local_hwd_move;
|
|
|
pCmd->remote_hwd_move = ctx->Info.remote_hwd_move;
|
|
|
pCmd->local_fresh_time = m_pEntity->m_ilocalvideo_freshtime;
|
|
|
+ pCmd->remote_fresh_time = m_pEntity->m_iremotevideo_freshtime;
|
|
|
//初始化窗口参数
|
|
|
//m_pEntity->m_stVideoParam.nWindowState = 0;
|
|
|
//m_pEntity->GetFunction()->SetTimer(1, m_pEntity, 1000);
|