BOOL Device::RegDataCallback(DeviceDataCallbackFunctionPtr pCallback, void * pParam) { Lock(); m_DataMap[pParam] = pCallback; UnLock(); StartData(); return TRUE; }
BOOL Camera::RegDataCallback(CameraDataCallbackFunctionPtr pCallback, void * pParam) { Lock(); m_DataMap[pParam] = pCallback; UnLock(); StartData(); return TRUE; }
BOOL Device::StartRecord() { if (m_param.m_Conf.data.conf.Recording == 0) { return FALSE; } VDC_DEBUG( "%s Start Record\n",__FUNCTION__); StartData(); //StartRaw(); return TRUE; }
BOOL Device::RegSubDataCallback(DeviceDataCallbackFunctionPtr pCallback, void * pParam) { Lock(); m_SubDataMap[pParam] = pCallback; UnLock(); if (m_param.m_bHasSubStream == FALSE) { StartData(); }else { StartSubData(); } return TRUE; }
BOOL Device::StartHdfsRecord() { if (m_param.m_Conf.data.conf.HdfsRecording == 0) { return FALSE; } VDC_DEBUG( "%s Start Record\n",__FUNCTION__); StartData(); Lock(); if (m_pHdfsRecord == NULL) { m_pHdfsRecord = m_pVHdfsdb.StartRecord( m_param.m_Conf.data.conf.nId, m_param.m_Conf.data.conf.Name); m_pHdfsRecord->RegSeqCallback((HDFSDataHandler)Device::SeqHandler, (void *)this); } UnLock(); return TRUE; }
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; }