Skip to content

Commit

Permalink
Merge branch 'main' into faster-rtsp-stream-processing
Browse files Browse the repository at this point in the history
  • Loading branch information
denniswittich committed Sep 19, 2024
2 parents 1e41d6f + 4b84805 commit d661745
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
5 changes: 4 additions & 1 deletion rosys/vision/camera_provider.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import abc
import warnings
from typing import Generic, TypeVar

from .. import persistence, rosys
Expand Down Expand Up @@ -57,7 +58,7 @@ def add_camera(self, camera: T) -> None:
self.request_backup()

def remove_camera(self, camera_id: str) -> None:
del self.cameras[camera_id]
del self._cameras[camera_id]
self.CAMERA_REMOVED.emit(camera_id)
self.request_backup()

Expand All @@ -66,6 +67,8 @@ def remove_all_cameras(self) -> None:
self.remove_camera(camera_id)

def prune_images(self, max_age_seconds: float | None = None):
warnings.warn('Pruning images is not required anymore because images is now a deque',
DeprecationWarning, stacklevel=2)
for camera in self.cameras.values():
if max_age_seconds is None:
camera.images.clear()
Expand Down
8 changes: 8 additions & 0 deletions rosys/vision/multi_camera_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,11 @@ def request_backup(self) -> None:
@property
def cameras(self) -> dict[str, Camera]:
return {id: camera for provider in self.providers for id, camera in provider.cameras.items()}

def remove_camera(self, camera_id: str) -> None:
for provider in self.providers:
if camera_id in provider.cameras:
provider.remove_camera(camera_id)

def add_camera(self, camera) -> None:
raise NotImplementedError('Adding cameras to a MultiCameraProvider is not supported')

0 comments on commit d661745

Please sign in to comment.