From 8ff8a4bb1e429ea099266d382347a5dd80de4f9b Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Wed, 21 May 2025 09:16:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4updatetime=EF=BC=8C=E4=BA=91?= =?UTF-8?q?=E5=8F=B0=E8=A7=86=E9=A2=91=E6=B5=81=E4=BD=BF=E7=94=A8=E4=BA=91?= =?UTF-8?q?=E5=8F=B0=E7=BA=BF=E7=A8=8B=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 23 +++++++++++++++-------- app/src/main/cpp/PtzController.cpp | 4 ++++ app/src/main/cpp/netcamera/VendorCtrl.cpp | 2 +- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index ff420cc6..3d431180 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1989,8 +1989,8 @@ bool CPhoneDevice::StartPushStreaming(IDevice::PHOTO_INFO& photoInfo, const std: } std::string ip = GetIpStr(photoInfo.ip); - VendorCtrl* vendorCtrl = MakeVendorCtrl(photoInfo.vendor, photoInfo.channel, ip, photoInfo.userName, photoInfo.password, netHandle, true); - if (vendorCtrl == NULL) + std::unique_ptr vendorCtrl (MakeVendorCtrl(photoInfo.vendor, photoInfo.channel, ip, photoInfo.userName, photoInfo.password, netHandle, true)); + 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); TakePhotoCb(0, photoInfo, "", 0); @@ -2376,13 +2376,20 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< osds.swap(mOsds); IDevice::PHOTO_INFO localPhotoInfo = mPhotoInfo; - std::thread t([localPhotoInfo, path, pThis, osds, powerCtrlPtr]() mutable - { - pThis->TakePhotoCb(1, localPhotoInfo, "", 0); - pThis->StartPushStreaming(localPhotoInfo, path, osds, powerCtrlPtr); - }); + if(mPhotoInfo.cameraType == CAM_TYPE_PLZ) + { + pThis->TakePhotoCb(1, localPhotoInfo, "", 0); + 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)) { diff --git a/app/src/main/cpp/PtzController.cpp b/app/src/main/cpp/PtzController.cpp index 463ed230..c59c53a6 100644 --- a/app/src/main/cpp/PtzController.cpp +++ b/app/src/main/cpp/PtzController.cpp @@ -353,6 +353,10 @@ void PtzController::PtzProc() } if(cmd.photoParams->mPhotoInfo.mediaType == 1) 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 m_pPhoneDevice->TakePhotoWithNetCamera(cmd.photoParams->mPhotoInfo, cmd.photoParams->mPath, cmd.photoParams->mOsds, powerCtrl); state = PTZS_IDLE; diff --git a/app/src/main/cpp/netcamera/VendorCtrl.cpp b/app/src/main/cpp/netcamera/VendorCtrl.cpp index 8d268a12..4552eb5b 100644 --- a/app/src/main/cpp/netcamera/VendorCtrl.cpp +++ b/app/src/main/cpp/netcamera/VendorCtrl.cpp @@ -10,7 +10,7 @@ VendorCtrl::VendorCtrl(const std::string& ip, const std::string& userName, const if (syncTime) { time_t ts = time(NULL); - UpdateTime(ts); +// UpdateTime(ts); } } std::string VendorCtrl::CvtJSONToString(const Json::Value& data)