diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 59554c9e..f6c5e9de 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1924,9 +1924,7 @@ bool CPhoneDevice::OpenPTZSensors(uint32_t sec) m_cameraStatus = true; OpenSensors(MAIN_POWER_OPEN); OpenSensors(CAMERA_SENSOR_OPEN); - } - - if (!m_cameraStatus && !m_sensorsStatus) + }else if (!m_cameraStatus && !m_sensorsStatus) { m_sensorsStatus = true; OpenSensors(MAIN_POWER_OPEN); @@ -1996,12 +1994,10 @@ bool CPhoneDevice::ClosePTZSensors(uint32_t delayedCloseTime) bool CPhoneDevice::GetPTZSensorsStatus() { - std::lock_guard lock(m_cameraLocker); return m_sensorsStatus; } bool CPhoneDevice::GetCameraStatus() { - std::lock_guard lock(m_cameraLocker); return m_cameraStatus; } @@ -3692,11 +3688,12 @@ void CPhoneDevice::CameraCtrl(unsigned char waitTime, unsigned char delayTime, u string serfileStr(serfile); std::thread ctrlThread([pThis, waitTime, delayTime, cmdidx, channel, preset, serfileStr, baud, addr]() mutable { - + uint64_t wid = pThis->RequestWakelock(0); pThis->OpenPTZSensors(waitTime); CameraPhotoCmd(time(NULL), channel, cmdidx, 0, preset, serfileStr.c_str(), baud, addr); pThis->ClosePTZSensors(delayTime); + pThis->ReleaseWakelock(wid); }); ctrlThread.detach(); }