调整timer注册的默认值和内部判断逻辑

onereq
Matthew 3 months ago
parent 95c0fb4415
commit 604819a8a1

@ -1415,7 +1415,7 @@ IDevice::timer_uid_t CPhoneDevice::RegisterTimer(unsigned int timerType, unsigne
context->uid = (uint64_t)timer; context->uid = (uint64_t)timer;
ts.it_value.tv_sec = (timeout / 1000); ts.it_value.tv_sec = (timeout / 1000);
ts.it_value.tv_nsec = (timeout % 1000) * 1000; ts.it_value.tv_nsec = (timeout % 1000) * 1000;
if (times != 1) if (times > 1)
{ {
ts.it_interval.tv_sec = ts.it_value.tv_sec; ts.it_interval.tv_sec = ts.it_value.tv_sec;
ts.it_interval.tv_nsec = ts.it_value.tv_nsec; ts.it_interval.tv_nsec = ts.it_value.tv_nsec;

@ -235,7 +235,7 @@ public:
virtual timer_uid_t RegisterHeartbeat(unsigned int timerType, unsigned int timeout, time_t tsForNextPhoto); virtual timer_uid_t RegisterHeartbeat(unsigned int timerType, unsigned int timeout, time_t tsForNextPhoto);
virtual bool TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector<OSD_INFO>& osds, const std::string& path); virtual bool TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector<OSD_INFO>& osds, const std::string& path);
virtual bool CloseCamera(); virtual bool CloseCamera();
virtual timer_uid_t RegisterTimer(unsigned int timerType, unsigned int timeout, void* data, uint64_t times = 0); virtual timer_uid_t RegisterTimer(unsigned int timerType, unsigned int timeout, void* data, uint64_t times = 1);
virtual bool UnregisterTimer(timer_uid_t uid); virtual bool UnregisterTimer(timer_uid_t uid);
virtual uint64_t RequestWakelock(uint64_t timeout); virtual uint64_t RequestWakelock(uint64_t timeout);
virtual bool ReleaseWakelock(uint64_t wakelock); virtual bool ReleaseWakelock(uint64_t wakelock);

Loading…
Cancel
Save