diff options
author | Théo de la Hogue | 2024-07-22 18:26:57 +0200 |
---|---|---|
committer | Théo de la Hogue | 2024-07-22 18:26:57 +0200 |
commit | ed215e841a41735e483abbcbc6f6e9a4c5cafb77 (patch) | |
tree | 2992bc8ee861afdae02980c87882d0d96da200c5 | |
parent | 4f2377b464f78e9efdf00dc2e5e0024f90fcc8a4 (diff) | |
download | argaze-ed215e841a41735e483abbcbc6f6e9a4c5cafb77.zip argaze-ed215e841a41735e483abbcbc6f6e9a4c5cafb77.tar.gz argaze-ed215e841a41735e483abbcbc6f6e9a4c5cafb77.tar.bz2 argaze-ed215e841a41735e483abbcbc6f6e9a4c5cafb77.tar.xz |
Don't process gaze positions while no camera image have processed when sync_event is required.
-rw-r--r-- | src/argaze/utils/contexts/TobiiProGlasses2.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/argaze/utils/contexts/TobiiProGlasses2.py b/src/argaze/utils/contexts/TobiiProGlasses2.py index 13dcf4a..b8810ae 100644 --- a/src/argaze/utils/contexts/TobiiProGlasses2.py +++ b/src/argaze/utils/contexts/TobiiProGlasses2.py @@ -1171,6 +1171,7 @@ class SegmentPlayback(ArFeatures.DataPlaybackContext): self.__sync_event_unit = None self.__sync_event_factor = None self.__sync_data_ts = None + self.__sync_video_ts = None self.__sync_ts = None self.__last_sync_data_ts = None self.__last_sync_ts = None @@ -1303,13 +1304,16 @@ class SegmentPlayback(ArFeatures.DataPlaybackContext): logging.debug('> read image at %i timestamp', video_ts) - # Don't process images if sync is required but sync event not happened yet - if self.__sync_event is not None and self.__sync_ts is not None: + # if sync is required + if self.__sync_event is not None: - sync_video_ts = int(self.__sync_ts + video_ts - self.__sync_data_ts) + # Wait for a first sync event + if self.__sync_ts is not None: - # Process camera image - self._process_camera_image(timestamp=sync_video_ts, image=video_image) + self.__sync_video_ts = int(self.__sync_ts + video_ts - self.__sync_data_ts) + + # Process camera image + self._process_camera_image(timestamp=self.__sync_video_ts, image=video_image) # Otherwise, always process images elif self.__sync_event is None: @@ -1360,8 +1364,13 @@ class SegmentPlayback(ArFeatures.DataPlaybackContext): logging.info('Difference between data and sync event timestamps is %i ms', diff_data_ts-diff_sync_ts) + # Don't process gaze positions if sync is required but no image have been processed yet + if self.__sync_event is not None and self.__sync_video_ts is None: + + continue + # Don't process gaze positions if sync is required but sync event not happened yet - if self.__sync_event is not None and self.__sync_ts is None: + elif self.__sync_event is not None and self.__sync_ts is None: continue |