|
@@ -81,12 +81,6 @@ static void __audiomgrlog(void* user_data, const char* fmt, va_list arg)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-static void __capevent(void* user_data, int ierrdevid)
|
|
|
-{
|
|
|
- CMediaControllerEntity* pEntity = (CMediaControllerEntity*)user_data;
|
|
|
- pEntity->UpdateCameraState(ierrdevid);
|
|
|
-}
|
|
|
-
|
|
|
static int GetFormatString(char* strVala, size_t uValaLen, char* strValb, size_t uValbLen, const char* pSrc, size_t uSrcLen, char cWord)
|
|
|
{
|
|
|
int iRet = -1;
|
|
@@ -212,7 +206,7 @@ void CMediaControllerEntity::OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmar
|
|
|
|
|
|
int i = 0;
|
|
|
|
|
|
- m_arrListener.Init(15);
|
|
|
+ m_arrListener.Init(16);
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, MOD_EVENT_SNAPSHOT_START_CAPTURE_ENV);
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, MOD_EVENT_SNAPSHOT_START_CAPTURE_OPT);
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, MOD_EVENT_SNAPSHOT_START_CAPTURE_ENVOPT);
|
|
@@ -228,6 +222,7 @@ void CMediaControllerEntity::OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmar
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_Middle, Error_IgnoreAll, EVENT_MOD_CONNECT_BEGAIN_RECORD_CALL, NULL, false);
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, LOG_EVT_UI_STARTCAMERACAPTURE, NULL, false);
|
|
|
GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, LOG_EVT_UI_STOPCAMERACAPTURE, NULL, false);
|
|
|
+ GetFunction()->SubscribeLog(m_arrListener[i++], this, Log_Event, Severity_None, Error_IgnoreAll, LOG_EVT_MEDIACONTROLLER_NOMATCHED_RESOLUTION, NULL, false);
|
|
|
|
|
|
pTransactionContext->SendAnswer(Error_Succeed);
|
|
|
}
|
|
@@ -1655,6 +1650,43 @@ void CMediaControllerEntity::OnLog( const CAutoArray<CUUID> &SubIDs, const CUUID
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
+ case LOG_EVT_MEDIACONTROLLER_NOMATCHED_RESOLUTION:
|
|
|
+ {
|
|
|
+ if (pszMessage) {
|
|
|
+ char cdevid = pszMessage[0];
|
|
|
+ int idevid = cdevid - '0';
|
|
|
+ if (idevid == capture_get_video_device_id(conf.strVideoEnv)) {
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402208V3").setResultCode("RTA2810")("上摄像分辨率不符合要求");
|
|
|
+ if (eStand1SPlusType == m_eDeviceType) {
|
|
|
+ m_nCameraErrorCode = Error_AllCamera;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (m_nCameraErrorCode == Error_Succeed) {
|
|
|
+ m_nCameraErrorCode = Error_EnvCamera;
|
|
|
+ }
|
|
|
+ else if (m_nCameraErrorCode == Error_OptCamera) {
|
|
|
+ m_nCameraErrorCode = Error_AllCamera;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ChangeSysvar(m_nCameraErrorCode);
|
|
|
+ }
|
|
|
+ else if(idevid == capture_get_video_device_id(conf.strVideoOpt)){
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402208V3").setResultCode("RTA2810")("下摄像分辨率不符合要求");
|
|
|
+ if (m_nCameraErrorCode == Error_Succeed){
|
|
|
+ m_nCameraErrorCode = Error_OptCamera;
|
|
|
+ }
|
|
|
+ else if (m_nCameraErrorCode == Error_EnvCamera){
|
|
|
+ m_nCameraErrorCode = Error_AllCamera;
|
|
|
+ }
|
|
|
+ ChangeSysvar(m_nCameraErrorCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("no mathed device id.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unknown event.");
|
|
|
break;
|
|
@@ -1770,8 +1802,6 @@ ErrorCodeEnum CMediaControllerEntity::StartCamera(bool bstartaudio)
|
|
|
conf.envopt_mutex = &m_envopt_mutex;
|
|
|
#endif
|
|
|
conf.uintervaltime = m_interValTime;
|
|
|
- conf.capevent = &__capevent;
|
|
|
- conf.user_data = this;
|
|
|
Error = (ErrorCodeEnum)capture_create(&conf, &m_capture, bstartaudio);
|
|
|
if (Error == Error_Succeed)
|
|
|
{
|
|
@@ -2306,38 +2336,6 @@ bool CMediaControllerEntity::IsOnlineState()
|
|
|
return bret;
|
|
|
}
|
|
|
|
|
|
-void CMediaControllerEntity::UpdateCameraState(int ierrdevid)
|
|
|
-{
|
|
|
- if (ierrdevid == capture_get_video_device_id(conf.strVideoEnv)) {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402208V3").setResultCode("RTA2810")("上摄像分辨率不符合要求");
|
|
|
- if (eStand1SPlusType == m_eDeviceType) {
|
|
|
- m_nCameraErrorCode = Error_AllCamera;
|
|
|
- }
|
|
|
- else {
|
|
|
- if (m_nCameraErrorCode == Error_Succeed) {
|
|
|
- m_nCameraErrorCode = Error_EnvCamera;
|
|
|
- }
|
|
|
- else if (m_nCameraErrorCode == Error_OptCamera) {
|
|
|
- m_nCameraErrorCode = Error_AllCamera;
|
|
|
- }
|
|
|
- }
|
|
|
- ChangeSysvar(m_nCameraErrorCode);
|
|
|
- }
|
|
|
- else if (ierrdevid == capture_get_video_device_id(conf.strVideoOpt)) {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402208V3").setResultCode("RTA2810")("下摄像分辨率不符合要求");
|
|
|
- if (m_nCameraErrorCode == Error_Succeed) {
|
|
|
- m_nCameraErrorCode = Error_OptCamera;
|
|
|
- }
|
|
|
- else if (m_nCameraErrorCode == Error_EnvCamera) {
|
|
|
- m_nCameraErrorCode = Error_AllCamera;
|
|
|
- }
|
|
|
- ChangeSysvar(m_nCameraErrorCode);
|
|
|
- }
|
|
|
- else {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("no mathed device id.");
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
ChannelMediaControllerClient::ChannelMediaControllerClient( CMediaControllerEntity *pEntity ) : ChannelService_ClientBase(pEntity)
|
|
|
{
|
|
|
|