DeviceStatus Device::CheckDevice(astring strUrl, astring strUrlSubStream, BOOL bHasSubStream, BOOL bOnline, BOOL bOnlineUrl) { if (bOnline == TRUE) { /* Camera from offline to online */ if (m_param.m_OnlineUrl == FALSE) { BOOL HWAccel = FALSE; if (m_param.m_Conf.data.conf.HWAccel == 1) { HWAccel = TRUE; } if (bOnlineUrl == FALSE) { return DEV_NO_CHANGE; } m_param.m_strUrl = strUrl; m_param.m_strUrlSubStream = strUrlSubStream; m_param.m_bHasSubStream = bHasSubStream; if (m_param.m_Conf.data.conf.nSubType == VSC_SUB_DEVICE_FILE) { m_vPlay.Init(m_param.m_strUrl, HWAccel); }else { m_vPlay.Init(TRUE, m_param.m_strUrl, m_param.m_Conf.data.conf.User, m_param.m_Conf.data.conf.Password, HWAccel); VDC_DEBUG( "%s url %s\n",__FUNCTION__, m_param.m_strUrl.c_str()); if (m_param.m_bHasSubStream == TRUE) { m_vPlaySubStream.Init(TRUE, m_param.m_strUrlSubStream, m_param.m_Conf.data.conf.User, m_param.m_Conf.data.conf.Password, HWAccel); } } VDC_DEBUG( "%s url %s\n",__FUNCTION__, m_param.m_strUrl.c_str()); StartRecord(); StartHdfsRecord(); m_param.m_OnlineUrl = TRUE; UpdatePTZConf(); } if (m_param.m_Online == FALSE) { m_param.m_Online = TRUE; return DEV_OFF2ON; } }else { if (m_param.m_Online == TRUE) { m_param.m_Online = FALSE; return DEV_ON2OFF; } } return DEV_NO_CHANGE; }
CameraStatus Camera::CheckCamera(astring strUrl, astring strUrlSubStream, BOOL bHasSubStream, BOOL bOnline, BOOL bOnlineUrl) { if (bOnline == TRUE) { /* Camera from offline to online */ if (m_param.m_OnlineUrl == FALSE) { BOOL HWAccel = FALSE; if (m_param.m_Conf.bhwaccel()== TRUE) { HWAccel = TRUE; } if (bOnlineUrl == FALSE) { return DEV_NO_CHANGE; } m_param.m_strUrl = strUrl; m_param.m_strUrlSubStream = strUrlSubStream; m_param.m_bHasSubStream = bHasSubStream; if (m_param.m_Conf.ntype()== VID_FILE) { m_vPlay.Init(m_param.m_strUrl, false, "fake", "fake", HWAccel); }else if (m_param.m_Conf.bmotionjpeg()== true || m_param.m_Conf.ntype()== VID_MJPEG) { /* Motion JPEG */ m_vPlay.Init(m_param.m_strUrl, true, m_param.m_Conf.struser(), m_param.m_Conf.strpasswd(), HWAccel); } else { m_vPlay.Init(TRUE, m_param.m_strUrl, m_param.m_Conf.struser(), m_param.m_Conf.strpasswd(), HWAccel, (VSCConnectType)(m_param.m_Conf.nconnecttype())); VDC_DEBUG( "%s url %s\n",__FUNCTION__, m_param.m_strUrl.c_str()); if (m_param.m_bHasSubStream == TRUE) { m_vPlaySubStream.Init(TRUE, m_param.m_strUrlSubStream, m_param.m_Conf.struser(), m_param.m_Conf.strpasswd(), HWAccel, (VSCConnectType)(m_param.m_Conf.nconnecttype())); VDC_DEBUG( "%s url %s\n",__FUNCTION__, m_param.m_strUrlSubStream.c_str()); } } VDC_DEBUG( "%s url %s\n",__FUNCTION__, m_param.m_strUrl.c_str()); m_param.m_OnlineUrl = TRUE; UpdatePTZConf(); /* Always start data */ StartData(); } if (m_param.m_Online == FALSE) { m_param.m_Online = TRUE; return DEV_OFF2ON; } }else { if (m_param.m_Online == TRUE) { m_param.m_Online = FALSE; return DEV_ON2OFF; } } return DEV_NO_CHANGE; }