Browse Source

Z991239-5647 #comment 细化音视频调用失败RTA数据&日志级别调整&增加sipphone实体启动耗时

80274480 1 year ago
parent
commit
5a94b35bf7

+ 1 - 1
Module/mod_counterconnector/ConnectorFSM.cpp

@@ -46,7 +46,7 @@ static const char* connect_failed_rtamsg_table[] = {
 
 
 #ifdef RVC_OS_LINUX
-unsigned long GetTickCount()
+static unsigned long GetTickCount()
 {
 	struct timespec ts;
 	clock_gettime(CLOCK_MONOTONIC, &ts);

+ 2 - 1
Module/mod_counterconnector/mod_counterconnector.cpp

@@ -296,13 +296,14 @@ void CCounterConnectorEntity::HandleGetVideoFailedEvent()
 		strmsg = CSimpleStringA::Format("connect mediacontroller entity failed");
 		pMSClient->SafeDelete();
 		pMSClient = NULL;
-		
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setResultCode("RTA3408")("连线接通时媒体资源控制实体状态异常");
 	}
 	else{
 		strmsg = CSimpleStringA::Format("connect mediacontroller entity success");
 		pMSClient->GetFunction()->CloseSession();
 		pMSClient->SafeDelete();
 		pMSClient = NULL;
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setResultCode("RTA3409")("连线接通时摄像头故障");
 	}
 
 	strinfo = CSimpleStringA::Format("%s, and CustomerBeing is %s, CustomerHandle is %s, CameraState is %s.", strmsg, strCustomerBeing.GetData(), strCustomerHandle.GetData(), strCameraState.GetData());

+ 41 - 47
Module/mod_mediacontroller/capture.cpp

@@ -321,12 +321,12 @@ static int portaudio_capture_start(audio_capture_t* audio_cap)
 	}
 	int in_dev_id = translate_id(true, nId);
 	if (in_dev_id < 0) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("audio in device translate failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("audio in device translate failed!");
 		return Error_AudioIN;
 	}
 	info = Pa_GetDeviceInfo(in_dev_id);
 	if (!info) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get device info failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get device info failed!");
 		return Error_AudioIN;
 	}
 	inParam.channelCount = 1;
@@ -335,7 +335,7 @@ static int portaudio_capture_start(audio_capture_t* audio_cap)
 	inParam.sampleFormat = paInt16;
 	inParam.hostApiSpecificStreamInfo = NULL;
 	if (Pa_IsFormatSupported(&inParam, NULL, CAPTURE_CLOCK) != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("audio capture create error, cannot open audio input device");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("audio capture create error, cannot open audio input device");
 		return Error_AudioIN;
 	}
 
@@ -347,12 +347,12 @@ static int portaudio_capture_start(audio_capture_t* audio_cap)
 	}
 	int out_dev_id = translate_id(false, nId);
 	if (out_dev_id < 0) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("audio out device translate failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("audio out device translate failed!");
 		return Error_AudioOut;
 	}
 	info = Pa_GetDeviceInfo(out_dev_id);
 	if (!info) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get device info failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get device info failed!");
 		return Error_AudioOut;
 	}
 	outParam.channelCount = 1;
@@ -361,7 +361,7 @@ static int portaudio_capture_start(audio_capture_t* audio_cap)
 	outParam.sampleFormat = paInt16;
 	outParam.hostApiSpecificStreamInfo = NULL;
 	if (Pa_IsFormatSupported(NULL, &outParam, CAPTURE_CLOCK) != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("audio capture create error, cannot open audio input device");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("audio capture create error, cannot open audio input device");
 		return Error_AudioOut;
 	}
 
@@ -369,13 +369,13 @@ static int portaudio_capture_start(audio_capture_t* audio_cap)
 		CAPTURE_FRAME_TIME * CAPTURE_CLOCK/1000, paClipOff|paDitherOff, &StreamCallback, audio_cap);
 
 	if (paError != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("port audio open stream failed! paError = %d", paError);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("port audio open stream failed! paError = %d", paError);
 		return Error_AudioIN;
 	}
 
 	paError = Pa_StartStream(audio_cap->stream);
 	if (paError != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("port audio start stream failed! paError = %d", paError);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("port audio start stream failed! paError = %d", paError);
 		return Error_AudioIN;
 	}
 
@@ -409,12 +409,12 @@ static int record_portaudio_capture_start(rvc_audio_capture_t* audio_cap)
 
 	int in_dev_id = translate_id(true, nId);
 	if (in_dev_id < 0) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sales audio in device translate failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("sales audio in device translate failed!");
 		return Error_AudioIN;
 	}
 	info = Pa_GetDeviceInfo(in_dev_id);
 	if (!info) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get device info failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get device info failed!");
 		return Error_AudioIN;
 	}
 
@@ -424,7 +424,7 @@ static int record_portaudio_capture_start(rvc_audio_capture_t* audio_cap)
 	salesInParam.sampleFormat = paInt16;
 	salesInParam.hostApiSpecificStreamInfo = NULL;
 	if (Pa_IsFormatSupported(&salesInParam, NULL, audio_cap->iaudio_capture_samplerate) != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sales audio capture create error, cannot open audio input device, and current capture sample rate is %d.",audio_cap->iaudio_capture_samplerate);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("sales audio capture create error, cannot open audio input device, and current capture sample rate is %d.",audio_cap->iaudio_capture_samplerate);
 		return Error_AudioIN;
 	}
 
@@ -432,13 +432,13 @@ static int record_portaudio_capture_start(rvc_audio_capture_t* audio_cap)
 		audio_cap->iaudio_capture_peroid * audio_cap->iaudio_capture_samplerate/1000, paClipOff|paDitherOff, &Sales_StreamCallback, audio_cap);
 
 	if (paError != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("port audio open sales stream failed! paError = %d", paError);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("port audio open sales stream failed! paError = %d", paError);
 		return Error_AudioIN;
 	}
 
 	paError = Pa_StartStream(audio_cap->stream);
 	if (paError != paNoError) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("port audio start sales stream failed! paError = %d", paError);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("port audio start sales stream failed! paError = %d", paError);
 		return Error_AudioIN;
 	}
 
@@ -797,7 +797,7 @@ static int video_shm_enqueue(Clibvideoqueue *shm_queue, video_frame *frame, unsi
 	tmp_frm.iframeid = iframeid;
 	//unsigned int nowtime = y2k_time_now();
 	if (!shm_queue->InsertVideo(&tmp_frm, flags, ucaptime)) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("caution: insert shm video failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("caution: insert shm video failed!");
 		return Error_Unexpect;
 	} else {
 		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("insert shm video ok, and video frame id is %d.", tmp_frm.iframeid);
@@ -831,7 +831,7 @@ static void env_cap_on_frame(void *user_data, video_frame *frame)
 
 	if (rc != Error_Succeed) 
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env snapshot queue enqueue failed! Error = %d, camera_type=%d.", rc, video_cap->camera_type);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("env snapshot queue enqueue failed! Error = %d, camera_type=%d.", rc, video_cap->camera_type);
 	}
 	else {
 		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env snapshot queue enqueue[%d] success and camera_type=%d.", video_cap->frame_id, video_cap->camera_type);
@@ -875,7 +875,7 @@ static void env_cap_on_frame(void *user_data, video_frame *frame)
 		video_shm_enqueue(video_cap->preview_shm_queue, &preview_frame, video_cap->ulastcaptime, 0, video_cap->frame_id);
 		
 		if (rc != Error_Succeed){
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env preview_shm_queue enqueue failed, error = %d", rc);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("env preview_shm_queue enqueue failed, error = %d", rc);
 		}
 		else {
 			//if (0 == video_cap->frame_id%10){
@@ -898,7 +898,7 @@ static void env_cap_on_frame(void *user_data, video_frame *frame)
 		sws_scale(video_cap->rtp_sws_ctx, src_data, src_linesize, 0, frame->height, rtp_frame.data, rtp_frame.linesize);
 		video_shm_enqueue(video_cap->rtp_shm_queue, &rtp_frame, video_cap->ulastcaptime, 0, video_cap->frame_id);
 		if (rc != Error_Succeed) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env rtp_shm_queue enqueue failed! Error = %d", rc);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("env rtp_shm_queue enqueue failed! Error = %d", rc);
 		}
 		else {
 			//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("env rtp_shm_queue enqueue[%d] success, and current video queue len is %d.", video_cap->frame_id, video_cap->rtp_shm_queue->GetVideoLens());
@@ -993,7 +993,7 @@ static void opt_cap_on_frame(void *user_data, video_frame *frame)
 
 	if (rc != Error_Succeed) 
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("opt snapshot queue enqueue shm failed! Error = %d, camera_type=%d", rc, video_cap->camera_type);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("opt snapshot queue enqueue shm failed! Error = %d, camera_type=%d", rc, video_cap->camera_type);
 	}
 	else {
 		//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("opt snapshot queue enqueue[%d] success, and current video queue len is %d.", video_cap->frame_id, video_cap->snapshot_shm_queue->GetVideoLens());
@@ -1047,7 +1047,7 @@ static void opt_cap_on_frame(void *user_data, video_frame *frame)
 		
 		rc = video_shm_enqueue(video_cap->rtp_shm_queue, &rtp_frame, video_cap->ulastcaptime, 0, video_cap->frame_id);
 		if (rc != Error_Succeed){
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("opt rtp_shm_queue enqueue shm failed! Error = %d, camera_type=%d", rc, video_cap->camera_type);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("opt rtp_shm_queue enqueue shm failed! Error = %d, camera_type=%d", rc, video_cap->camera_type);
 		}
 
 		//static int irtp_frame = 0;
@@ -1191,7 +1191,7 @@ static int video_capture_start_win(video_capture_t* video_cap)
 		dev_id = capture_get_video_device_id(conf->strVideoEnv);
 		if (dev_id == -1) 
 		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("No environment camera,please check config file or device!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("No environment camera,please check config file or device!");
 			return -1;
 		}
 	}
@@ -1200,7 +1200,7 @@ static int video_capture_start_win(video_capture_t* video_cap)
 		dev_id = capture_get_video_device_id(conf->strVideoOpt);
 		if (dev_id == -1) 
 		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("No operation camera,please check config file or device!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("No operation camera,please check config file or device!");
 			return -1;
 		}
 	}
@@ -1210,7 +1210,7 @@ static int video_capture_start_win(video_capture_t* video_cap)
 	rc = calc_capture_mode(REC_COMMON_VIDEO_SNAPSHOT_WIDTH, REC_COMMON_VIDEO_SNAPSHOT_HEIGHT, &cap_mode);
 	if (rc != 0) 
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("calc cap_mode failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("calc cap_mode failed!");
 		return rc;
 	}
 
@@ -1230,14 +1230,14 @@ static int video_capture_start_win(video_capture_t* video_cap)
 	rc = videocap_create(&video_cap->cap, &param);
 	if (rc != 0) 
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("videocap create failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("videocap create failed!");
 		return rc;
 	}
 
 	rc = videocap_start(video_cap->cap);
 	if (rc != 0) 
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("videocap start failed!");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("videocap start failed!");
 		videocap_destroy(video_cap->cap);
 		video_cap->cap = NULL;
 		return rc;
@@ -1373,7 +1373,7 @@ namespace MediaController {
 		memcpy(&cap->config, config, sizeof(capture_config_t));
 		cap->audio = audio_capture_create(cap);
 		if (!cap->audio) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create audio capture object failed!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create audio capture object failed!");
 			return Error_Unexpect;
 		}
 
@@ -1381,7 +1381,7 @@ namespace MediaController {
 		if (dev_id_env != -1) {
 			cap->env_video = video_capture_create(cap, CAMERA_TYPE_ENV);
 			if (!cap->env_video) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create env video object failed!");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create env video object failed!");
 				return Error_Unexpect;
 			}
 		}
@@ -1394,13 +1394,13 @@ namespace MediaController {
 		if (dev_id_opt != -1){
 			cap->opt_video = video_capture_create(cap, CAMERA_TYPE_OPT);
 			if (!cap->opt_video) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create opt video object failed!");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create opt video object failed!");
 				return Error_Unexpect;
 			}
 		}
 
 		if((dev_id_env == -1)&&(dev_id_opt == -1)){
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("all camera device id error!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("all camera device id error!");
 			capture_destroy(cap);
 			return Error_AllCamera;
 		}
@@ -1419,7 +1419,7 @@ namespace MediaController {
 			cap->env_video = video_capture_create(cap, CAMERA_TYPE_ENV);
 			if (!cap->env_video) 
 			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create env video object failed!");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create env video object failed!");
 				return Error_Unexpect;
 			}
 		}
@@ -1428,7 +1428,7 @@ namespace MediaController {
 			cap->opt_video = video_capture_create(cap, CAMERA_TYPE_OPT);
 			if (!cap->opt_video) 
 			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create opt video object failed!");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create opt video object failed!");
 				return Error_Unexpect;
 			}
 		}
@@ -1446,7 +1446,7 @@ namespace MediaController {
 		memcpy(&cap->rvc_audio_config, config, sizeof(rvc_audio_capture_config_t));
 		cap->rvc_audio = salesrecord_audio_capture_create(cap);
 		if (!cap->rvc_audio) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create sales record audio capture object failed!");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("create sales record audio capture object failed!");
 			salesaudio_capture_destroy(cap);
 			cap = NULL;
 			return Error_Unexpect;
@@ -1517,11 +1517,11 @@ namespace MediaController {
 			if (rc != Error_Succeed) {
 				rslt = (ErrorCodeEnum)rc;
 				if (rslt == Error_AudioIN){
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start audio In object failed! rc:%d", rc);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("start audio In object failed! rc:%d", rc);
 					LogWarn(Severity_Middle, Error_Debug,ERROR_MOD_MEDIACONTROLLER_HANDFREE_OPENFAIL,"open audioIn device fail,please check device");	
 				} 
 				else{
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start audio Out object failed! rc:%d", rc);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("start audio Out object failed! rc:%d", rc);
 					LogWarn(Severity_Middle, Error_Debug,ERROR_MOD_MEDIACONTROLLER_HANDFREE_OPENFAIL,"open audioOut device fail,please check device");	
 				}
 			}
@@ -1544,7 +1544,6 @@ namespace MediaController {
 			if (rc != Error_Succeed) 
 			{
 				cap->env_video->ustarttime = 0;
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start env video capture object failed! rc:%d", rc);
 				char strMessage[MAX_PATH*2] = {0};
 				get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoEnv, "open environ camera fail, please check device.");
 				LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_ENVCAM_OPEN,strMessage);
@@ -1559,7 +1558,6 @@ namespace MediaController {
 					if (rc != Error_Succeed) 
 					{
 						cap->opt_video->ustarttime = 0;
-						DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start opt video capture object failed! rc:%d", rc);
 						char strMessage[MAX_PATH*2] = {0};
 						get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
 						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN, strMessage);
@@ -1570,13 +1568,12 @@ namespace MediaController {
 					{
 						cap->opt_video->ustarttime = y2k_time_now();
 						LogWarn(Severity_Low, Error_Debug, LOG_EVT_MEDIACONTROLLER_OPTCAM_OPEN, "start optcam success.");
-						DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start env video capture object failed!");
 						return Error_EnvCamera;
 					}
 				}
 				else
 				{
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start all video capture object failed!");
+					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("start all video capture object failed!");
 					return Error_AllCamera;
 				}
 			}
@@ -1594,7 +1591,6 @@ namespace MediaController {
 					if (rc != Error_Succeed) 
 					{
 						cap->opt_video->ustarttime = 0;
-						DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start opt video capture object failed! rc:%d", rc);
 						char strMessage[MAX_PATH*2] = {0};
 						get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail, please check device.");
 						LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN,strMessage);
@@ -1626,7 +1622,6 @@ namespace MediaController {
 				if (rc != Error_Succeed) 
 				{
 					cap->opt_video->ustarttime = 0;
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start opt video capture object failed! rc:%d", rc);
 					char strMessage[MAX_PATH*2] = {0};
 					get_camera_exception_message(strMessage, MAX_PATH*2, cap->config.strVideoOpt, "open operate camera fail,please check device.");
 					LogWarn(Severity_Middle,Error_NotInit,ERROR_MOD_MEDIACONTROLLER_OPTCAM_OPEN,strMessage);
@@ -1636,14 +1631,13 @@ namespace MediaController {
 				else
 				{
 					cap->opt_video->ustarttime = y2k_time_now();
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start env video capture object failed!");
 					LogWarn(Severity_Low, Error_Debug, LOG_EVT_MEDIACONTROLLER_OPTCAM_OPEN, "start optcam success.");
 					return Error_EnvCamera;
 				}
 			}
 			else
 			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start env video Error_AllCamera");
+				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("start env video Error_AllCamera");
 				return Error_AllCamera;
 			}
 		}
@@ -1660,7 +1654,7 @@ namespace MediaController {
 			}
 		}
 		else {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("handfree audio is error, not start it.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("handfree audio is error, not start it.");
 		}
 
 		return capture_start_envopt(cap);
@@ -1720,7 +1714,7 @@ namespace MediaController {
 			int rslt = record_audio_capture_start(cap->rvc_audio);
 			if (rslt != Error_Succeed) {
 				if (Error_AudioIN == rslt){
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start audio In object failed! rc:%d", rc);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("start audio In object failed! rc:%d", rc);
 					LogWarn(Severity_Middle, Error_Debug,ERROR_MOD_MEDIACONTROLLER_HANDFREE_OPENFAIL,"open audioIn device fail,please check device");	
 				} 
 				rc = (ErrorCodeEnum)rslt;
@@ -1748,7 +1742,7 @@ namespace MediaController {
 			}
 		}
 		else{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sales record audio capture stop failed for param error.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("sales record audio capture stop failed for param error.");
 		}
 	}
 
@@ -1916,17 +1910,17 @@ namespace MediaController {
 			if (Error == paNoError) {
 				rc = videoframework_init();
 				if (rc != 0) {
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("videoframework_init failed, rc=%d", rc);
+					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("videoframework_init failed, rc=%d", rc);
 					return Error_Resource;
 				}
 			}
 			else {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("PaInitialize failed, rc=%d", Error);
+				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("PaInitialize failed, rc=%d", Error);
 				return Error_Resource;
 			}
 		}
 		else {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("coinitialze failed! hr:%d", hr);
+			DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("coinitialze failed! hr:%d", hr);
 			return Error_Resource;
 		}
 

+ 7 - 7
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -578,7 +578,7 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 	if (env_n == 0) {
 		if (iEnvEmptyTimes < CAMERA_BUG_THRESHOLD){
 			iEnvEmptyTimes++; 
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get env camera picture fail, times=%d.",iEnvEmptyTimes);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get env camera picture fail, times=%d.",iEnvEmptyTimes);
 		}	
 	} 
 	else if (env_n == -1){
@@ -597,7 +597,7 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 		if(((y2k_time_now()-nLastEnvTime) > m_iCamTimeout)&&!bEnvTimeout)
 		{
 			bEnvTimeout = true;
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("bEnvTimeout.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("bEnvTimeout.");
 		} 
 		else if (((y2k_time_now()-nLastEnvTime) < m_iCamTimeout)&&bEnvTimeout)
 		{
@@ -647,7 +647,7 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 			}
 			else if (m_nCameraErrorCode == Error_AllCamera){
 				m_nCameraErrorCode = Error_OptCamera;
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("changeSysvar to Opt_Error");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("changeSysvar to Opt_Error");
 			}
 		}
 		ChangeSysvar(m_nCameraErrorCode);
@@ -661,7 +661,7 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 			if (iOptEmptyTimes < CAMERA_BUG_THRESHOLD)
 			{
 				iOptEmptyTimes++; 
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get opt camera picture fail, times = %d.",iOptEmptyTimes);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get opt camera picture fail, times = %d.",iOptEmptyTimes);
 			}
 		}
 		else if (opt_n == -1)
@@ -685,12 +685,12 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 			if (((y2k_time_now() - nLastOptTime) > m_iCamTimeout) && !bOptTimeout)
 			{
 				bOptTimeout = true;
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("bOptTimeout");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("bOptTimeout");
 			}
 			else if (((y2k_time_now() - nLastOptTime) < m_iCamTimeout) && bOptTimeout)
 			{
 				bOptTimeout = false;
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("change opt camera from bOptTimeout to ok");
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("change opt camera from bOptTimeout to ok");
 			}
 		}
 	}
@@ -730,7 +730,7 @@ void CMediaControllerEntity::OnTimeCameraStatusCheck()
 		else if (m_nCameraErrorCode == Error_AllCamera)
 		{
 			m_nCameraErrorCode = Error_EnvCamera;
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("changeSysvar to Env_Error");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("changeSysvar to Env_Error");
 		}
 		ChangeSysvar(m_nCameraErrorCode);
 	}

+ 1 - 0
Module/mod_sipphone/Event.h

@@ -153,6 +153,7 @@
 #define EVENT_MOD_SIP_ENTITY_STARTED								0x301A0001	//sipphone entity start
 #define EVENT_MOD_SIP_INVITE_SEND									0x301A0002	//sip invite send
 #define EVENT_MOD_SIP_PROCESS_MSG									0x301A0003	//sip process messsage
+#define EVENT_MOD_SIP_ENTITY_STARTING_COST							0x301A0004	//实体启动耗时
 
 //event
 #define EVENT_MOD_CONNECT_PICKUP_CALL								0x10303041	//提机呼叫

+ 15 - 2
Module/mod_sipphone/audio_session.cpp

@@ -447,24 +447,28 @@ static int phonemedia_start(audio_session_t *session)
 	status = apr_pool_create(&media->pool, NULL);
 	if (status != APR_SUCCESS) {
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_APR_POOL_CREATE_FAILED, "create media pool failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310C")("创建音频引擎内存分配失败");
 		return Error_Resource;
 	}
 
 	status = audioengine_create(media->pool, &media->engine);
 	if (status != APR_SUCCESS) {
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_ENGINE_CREATE_FAILED, "create audio engine failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310D")("创建音频引擎分配失败");
 		goto on_error;
 	}
 
 	status = audioengine_start(media->engine);
 	if (status != APR_SUCCESS) {
-		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_ENGINE_START_FAILED, "audio engine  start failed!");
+		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_ENGINE_START_FAILED, "audio engine start failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310E")("启动音频引擎失败");
 		goto on_error;
 	}
 
 	rc = rtp_session_create2(conf->local_rtp_ip, conf->local_rtp_port, 2, &media->rtpsess);
 	if (rc != 0) {
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_RTP_SESSION_CREATE_FAILED, CSimpleStringA::Format("audio rtp session create2 failed and local port is %d, rc=%d", conf->local_rtp_port, rc).GetData());
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310F")("创建音频流通道失败");
 		//LogWarn(Severity_Low, Error_InvalidState, EVENT_MOD_SIP_AUDIO_RTP_CREATE, CSimpleStringA::Format("audio rtp session create2 failed and local port is %d, rc=%d", conf->local_rtp_port, rc).GetData());
 		goto on_error;
 	}
@@ -473,18 +477,21 @@ static int phonemedia_start(audio_session_t *session)
 	rc = rtp_session_reset2(media->rtpsess, conf->dir, conf->remote_rtp_ip, conf->remote_rtp_port, conf->remote_rtp_port + 1);
 	if (rc != 0) {
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_RTP_SESSION_RESET_FAILED, "audio rtp session reset failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3110")("重置音频流通道失败");
 		goto on_error;
 	}
 	
 	status = audiobridge_create(media->pool, media->engine, &media->bridge);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_BRIDGE_CREATE_FAILED, "audio bridge create failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3111")("音频通道桥接失败");
 		goto on_error;
 	}
 
 	status = apr_pool_create(&media->micspk_pool, media->pool);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_APR_POOL_CREATE_FAILED, "create media micspk_pool failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3112")("创建音频设备管理内存分配失败");
 		goto on_error;
 	}
 
@@ -502,6 +509,7 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 #endif
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_MICSPK_CREATE_FAILED, "create audio audio micspk create failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3113")("创建音频设备管理失败");
 		goto on_error;
 	}
 	//音频回调
@@ -525,6 +533,7 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 		status = audiodsp_create(media->micspk_pool, media->engine, read_opt, write_opt, AUDIO_CLOCK, &media->dspstream);
 		if (status != APR_SUCCESS){
 			LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_DSP_CREATE_FAILED, "create audio dsp failed!");
+			DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3114")("创建音频信号处理器失败");
 			goto on_error;
 		}
 	}
@@ -541,6 +550,7 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 		conf->local_ptime*2*AUDIO_CLOCK/1000, &media->resizestream);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_RESIZE_CREATE_FAILED, "create audio resize failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3115")("创建音频重采样失败");
 		goto on_error;
 	}
 
@@ -548,12 +558,14 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 		AUDIO_CODEC_OPT_ENCODE_WRITE, &media->codecstream);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_CODEC_CREATE_FAILED, "create audio codec failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3116")("创建音频编解码器失败");
 		goto on_error;
 	}
 
 	status = audiortp_create(media->pool, media->engine, media->rtpsess, &media->rtpstream);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_RTP_CREATE_FAILED, "create audio rtp failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3117")("创建音频rtp失败");
 		goto on_error;
 	}
 
@@ -631,6 +643,7 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 	status = audiocontext_create(media->pool, media->engine, &media->context);
 	if (status != APR_SUCCESS){
 		LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_CONTEXT_CREATE_FAILED, "create audio context failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3118")("创建音频流水线管理器失败");
 		goto on_error;
 	}
 
@@ -641,7 +654,7 @@ status = audiomicspk2_create(media->micspk_pool, media->engine, opt_micspk, AUDI
 
 on_error:
 	phonemedia_stop(media);
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("phonemedia_stop error!!!");
+	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("phonemedia_stop error!!!");
 	return Error_Resource;
 }
 

+ 4 - 2
Module/mod_sipphone/endpoint.cpp

@@ -465,7 +465,8 @@ static void endpoint_media_update_audio(endpoint_call_t *call, media_desc_t *aud
 			conf.aec[DEV_HANDFREE] = !!ep_conf->audio_dsp.audio_handfree_aec;
 			rc = audio_session_create(&conf, &call->audio);
 			if (rc != 0) {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("create audio session failed! rc = %d", rc);
+				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("create audio session failed! rc = %d", rc);
+				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3109")("视频连线创建音频通道失败");
 				return;
 			}
 		}
@@ -492,6 +493,7 @@ static void endpoint_media_update_audio(endpoint_call_t *call, media_desc_t *aud
 		if (rc != 0) 
 		{
 			LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_AUDIO_INITFAIL, CSimpleStringA::Format("start audio session failed! rc = %d.", rc).GetData());
+			DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310A")("视频连线启动音频通道失败");
 			audio_session_destroy(call->audio);
 			call->audio = NULL;
 			return;
@@ -1153,7 +1155,7 @@ static int __endpoint_break(void *arg)
 
 #ifdef RVC_OS_WIN
 #else
-unsigned long GetTickCount()
+static unsigned long GetTickCount()
 {
 	struct timespec ts;
 	clock_gettime(CLOCK_MONOTONIC, &ts);

+ 16 - 0
Module/mod_sipphone/mod_sipphone.cpp

@@ -248,6 +248,17 @@ static int tovalidwidth(int iwidth)
 	}
 }
 
+
+#ifdef RVC_OS_WIN
+#else
+static unsigned long GetTickCount()
+{
+	struct timespec ts;
+	clock_gettime(CLOCK_MONOTONIC, &ts);
+	return (ts.tv_sec * 1000 + ts.tv_nsec / 1000000);
+}
+#endif
+
 CSIPEntity::CSIPEntity() : m_pCurrentSession(NULL), m_state(INIT),m_iPickupPhoneState(ePickupMicrophoneState_Off) 
 {
 	m_kept_volume_in[0] = m_kept_volume_in[1] = 0;
@@ -559,8 +570,12 @@ void CSIPEntity::OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionC
 
 void CSIPEntity::OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext) 
 { 
+	long lstarttime = GetTickCount();
 	ErrorCodeEnum Error = __OnStart(Error_Succeed);
 	pTransactionContext->SendAnswer(Error);
+	long lcosttime = GetTickCount() - lstarttime;
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("Sipphone::Starting").setCostTime(lcosttime)("Sipphone::Starting");
+	LogWarn(Severity_Low, Error_Debug, EVENT_MOD_SIP_ENTITY_STARTING_COST, CSimpleStringA::Format("sipphone entity starting cost time is %dms.", lcosttime));
 }
 
 void CSIPEntity::OnStarted() 
@@ -862,6 +877,7 @@ ErrorCodeEnum CSIPEntity::__OnStart(ErrorCodeEnum preOperationError)
 	}
 	else {
 		LogWarn(Severity_Middle, Error_Debug, LOG_EVT_SIPPHONE_AUDIOMGR_INITIAL_FAILED, "audio manager initialize failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA310B")("音频服务初始化失败");
 	}
 	SetSoundCardSysVar(SOUNDCARD_INIT_STATE);
 

+ 1 - 0
Module/mod_sipphone/unix/video_session.cpp

@@ -136,6 +136,7 @@ static bool __camera_error_event(bool bhaspost, int icameraid)
 			LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_GET_OPT_VIDEO_FAILED, "get video from opt queue failed!");
 		}		
 		LogEvent(Severity_Middle, EVENT_MOD_SIP_GET_VIDEO_FAILED, "connected and get video failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3119")("接通坐席后本地视频回显异常");
 
 		bret = true;
 	}

+ 1 - 0
Module/mod_sipphone/win/video_session.cpp

@@ -95,6 +95,7 @@ static bool __camera_error_event(bool bhaspost, int icameraid)
 			LogWarn(Severity_Middle, Error_Debug, ERROR_MOD_SIP_GET_OPT_VIDEO_FAILED, "get video from opt queue failed!");
 		}		
 		LogEvent(Severity_Middle, EVENT_MOD_SIP_GET_VIDEO_FAILED, "connected and get video failed!");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA3119")("接通坐席后本地视频回显异常");
 
 		bret = true;
 	}

+ 1 - 1
Other/unix/libaudioframework/audioengine.c

@@ -24,7 +24,7 @@ void audiocontext_signal(audiocontext_t *ctx);
 
 #ifdef _WIN32
 #else
-unsigned long GetTickCount()
+static unsigned long GetTickCount()
 {
 	struct timespec ts;
 	clock_gettime(CLOCK_MONOTONIC, &ts);