移除updatetime,云台视频流使用云台线程控制

lowmem
XI.CHEN 4 weeks ago
parent c071d8ec71
commit 8ff8a4bb1e

@ -1989,8 +1989,8 @@ bool CPhoneDevice::StartPushStreaming(IDevice::PHOTO_INFO& photoInfo, const std:
} }
std::string ip = GetIpStr(photoInfo.ip); std::string ip = GetIpStr(photoInfo.ip);
VendorCtrl* vendorCtrl = MakeVendorCtrl(photoInfo.vendor, photoInfo.channel, ip, photoInfo.userName, photoInfo.password, netHandle, true); std::unique_ptr<VendorCtrl> vendorCtrl (MakeVendorCtrl(photoInfo.vendor, photoInfo.channel, ip, photoInfo.userName, photoInfo.password, netHandle, true));
if (vendorCtrl == NULL) if (!vendorCtrl)
{ {
XYLOG(XYLOG_SEVERITY_ERROR, "Vendor(%u) not Supported CH=%u PR=%X PHOTOID=%u", (uint32_t)photoInfo.vendor, (uint32_t)photoInfo.channel, (unsigned int)photoInfo.preset, photoInfo.photoId); XYLOG(XYLOG_SEVERITY_ERROR, "Vendor(%u) not Supported CH=%u PR=%X PHOTOID=%u", (uint32_t)photoInfo.vendor, (uint32_t)photoInfo.channel, (unsigned int)photoInfo.preset, photoInfo.photoId);
TakePhotoCb(0, photoInfo, "", 0); TakePhotoCb(0, photoInfo, "", 0);
@ -2376,13 +2376,20 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector<
osds.swap(mOsds); osds.swap(mOsds);
IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo; IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo;
std::thread t([localPhotoInfo, path, pThis, osds, powerCtrlPtr]() mutable if(mPhotoInfo.cameraType == CAM_TYPE_PLZ)
{ {
pThis->TakePhotoCb(1, localPhotoInfo, "", 0); pThis->TakePhotoCb(1, localPhotoInfo, "", 0);
pThis->StartPushStreaming(localPhotoInfo, path, osds, powerCtrlPtr); m_ptzController->AddPhotoCommand(localPhotoInfo, path, osds);
}); }else
{
std::thread t([localPhotoInfo, path, pThis, osds, powerCtrlPtr]() mutable
{
pThis->TakePhotoCb(1, localPhotoInfo, "", 0);
pThis->StartPushStreaming(localPhotoInfo, path, osds, powerCtrlPtr);
});
t.detach(); t.detach();
}
} }
else if (mPhotoInfo.mediaType == 1 && (mPhotoInfo.cameraType == CAM_TYPE_PLZ)) else if (mPhotoInfo.mediaType == 1 && (mPhotoInfo.cameraType == CAM_TYPE_PLZ))
{ {

@ -353,6 +353,10 @@ void PtzController::PtzProc()
} }
if(cmd.photoParams->mPhotoInfo.mediaType == 1) if(cmd.photoParams->mPhotoInfo.mediaType == 1)
m_pPhoneDevice->TakeVideoWithNetCamera(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl); m_pPhoneDevice->TakeVideoWithNetCamera(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl);
else if ((cmd.photoParams->mPhotoInfo.mediaType == XY_MEDIA_TYPE_STREAM || cmd.photoParams->mPhotoInfo.mediaType == XY_MEDIA_TYPE_STREAM_OFF))
{
m_pPhoneDevice->StartPushStreaming(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl);
}
else else
m_pPhoneDevice->TakePhotoWithNetCamera(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl); m_pPhoneDevice->TakePhotoWithNetCamera(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl);
state = PTZS_IDLE; state = PTZS_IDLE;

@ -10,7 +10,7 @@ VendorCtrl::VendorCtrl(const std::string& ip, const std::string& userName, const
if (syncTime) if (syncTime)
{ {
time_t ts = time(NULL); time_t ts = time(NULL);
UpdateTime(ts); // UpdateTime(ts);
} }
} }
std::string VendorCtrl::CvtJSONToString(const Json::Value& data) std::string VendorCtrl::CvtJSONToString(const Json::Value& data)

Loading…
Cancel
Save