Matthew 6 months ago
commit 601c47b11b

@ -5,7 +5,7 @@ plugins {
// 10,00,000 major-minor-build // 10,00,000 major-minor-build
def AppMajorVersion = 1 def AppMajorVersion = 1
def AppMinorVersion = 1 def AppMinorVersion = 1
def AppBuildNumber = 17 def AppBuildNumber = 19
def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNumber def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNumber
def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber

@ -439,6 +439,7 @@ CPhoneDevice::CPhoneDevice(JavaVM* vm, jobject service, const std::string& appPa
m_lastTime = 0; m_lastTime = 0;
m_shouldStopWaiting = false; m_shouldStopWaiting = false;
m_collecting = false; m_collecting = false;
localDelayTime = GetMicroTimeStamp();
RegisterHandlerForSignal(SIGUSR2); RegisterHandlerForSignal(SIGUSR2);
@ -1838,6 +1839,16 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector<
bool CPhoneDevice::OpenPTZSensors(int sec) bool CPhoneDevice::OpenPTZSensors(int sec)
{ {
unsigned long wid = RequestWakelock(0);
unsigned long long time_now = GetMicroTimeStamp();
if(time_now < localDelayTime-1000)
{
std::lock_guard<std::mutex> lock(m_cameraLocker);
m_sensorsStatus = true;
m_cameraStatus = true;
OpenSensors(MAIN_POWER_OPEN);
OpenSensors(CAMERA_SENSOR_OPEN);
}
{ {
std::lock_guard<std::mutex> lock(m_cameraLocker); std::lock_guard<std::mutex> lock(m_cameraLocker);
// std::unique_lock<std::mutex> lock(m_cameraLocker); // std::unique_lock<std::mutex> lock(m_cameraLocker);
@ -1879,6 +1890,7 @@ bool CPhoneDevice::OpenPTZSensors(int sec)
m_cameraStatus = true; m_cameraStatus = true;
} }
} }
ReleaseWakelock(wid);
return m_cameraStatus; return m_cameraStatus;
@ -1887,6 +1899,8 @@ bool CPhoneDevice::OpenPTZSensors(int sec)
bool CPhoneDevice::ClosePTZSensors(uint32_t delayedCloseTime) bool CPhoneDevice::ClosePTZSensors(uint32_t delayedCloseTime)
{ {
localDelayTime = GetMicroTimeStamp() + delayedCloseTime*1000;
if(m_sensorsStatus && !m_cameraStatus) if(m_sensorsStatus && !m_cameraStatus)
{ {
m_shouldStopWaiting.store(true); m_shouldStopWaiting.store(true);

@ -405,6 +405,7 @@ protected:
mutable std::mutex m_collectDataLocker; mutable std::mutex m_collectDataLocker;
std::condition_variable m_CollectDatacv; std::condition_variable m_CollectDatacv;
std::atomic<bool> m_collecting; std::atomic<bool> m_collecting;
unsigned long long localDelayTime;
}; };

Loading…
Cancel
Save