aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/utils/contexts/TobiiProGlasses2.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/utils/contexts/TobiiProGlasses2.py')
-rw-r--r--src/argaze/utils/contexts/TobiiProGlasses2.py35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/argaze/utils/contexts/TobiiProGlasses2.py b/src/argaze/utils/contexts/TobiiProGlasses2.py
index 4cf88f0..b46ebd9 100644
--- a/src/argaze/utils/contexts/TobiiProGlasses2.py
+++ b/src/argaze/utils/contexts/TobiiProGlasses2.py
@@ -1259,6 +1259,9 @@ class PostProcessing(ArFeatures.ArContext):
# Create stop event
self.__stop_event = threading.Event()
+ # Create pause event
+ self.__pause_event = threading.Event()
+
# Open reading thread
self.__reading_thread = threading.Thread(target=self.__read)
@@ -1281,15 +1284,24 @@ class PostProcessing(ArFeatures.ArContext):
for video_ts, video_image, data_list in self:
+ # Check pause event (and stop event)
+ while self.__pause_event.is_set() and not self.__stop_event.is_set():
+
+ logging.debug('> reading is paused at %i', video_ts)
+
+ self._process_camera_image(timestamp=video_ts, image=video_image)
+
+ time.sleep(1)
+
+ # Check stop event
if self.__stop_event.is_set():
+
break
logging.debug('> read image at %i timestamp', video_ts)
# Process camera image
- self._process_camera_image(
- timestamp=video_ts,
- image=video_image)
+ self._process_camera_image(timestamp=video_ts, image=video_image)
height, width, _ = video_image.shape
@@ -1457,3 +1469,20 @@ class PostProcessing(ArFeatures.ArContext):
# Return millisecond timestamp, data object and type
return ts * 1e-3, data_object, data_object_type
+
+ @DataFeatures.PipelineStepMethod
+ def pause(self):
+ """Pause pipeline processing."""
+
+ self.__pause_event.set()
+
+ def is_paused(self) -> bool:
+ """Is pipeline processing paused?"""
+
+ return self.__pause_event.is_set()
+
+ @DataFeatures.PipelineStepMethod
+ def resume(self):
+ """Resume pipeline processing."""
+
+ self.__pause_event.clear() \ No newline at end of file