云台控制增加唤醒锁,调整判断条件

N938
XI.CHEN 6 months ago
parent 7a2acd5f97
commit a4deb30423

@ -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<std::mutex> lock(m_cameraLocker);
return m_sensorsStatus;
}
bool CPhoneDevice::GetCameraStatus()
{
std::lock_guard<std::mutex> 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();
}

Loading…
Cancel
Save