Updated RouteFrameReader to work on routes with missing segments (#20971)

pull/20994/head
Mitchell Goff 4 years ago committed by GitHub
parent 4f4cb56de9
commit 0dc27e3d6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      tools/lib/route_framereader.py

@ -16,7 +16,7 @@ class _FrameReaderDict(dict):
self._framereader_kwargs = framereader_kwargs
def __missing__(self, key):
if key < len(self._camera_paths) and self._camera_paths[key] is not None:
if self._camera_paths.get(key) is not None:
frame_reader = FrameReader(self._camera_paths[key],
self._cache_paths.get(key), **self._framereader_kwargs)
self[key] = frame_reader
@ -36,7 +36,10 @@ class RouteFrameReader(object):
kwargs: Forwarded to the FrameReader function. If cache_prefix is included, that path
will also be used for frame position indices.
"""
self._first_camera_idx = next(i for i in range(len(camera_paths)) if camera_paths[i] is not None)
if not isinstance(camera_paths, dict):
camera_paths = {int(k.split('/')[-2]):k for k in camera_paths}
self._first_camera_idx = min(key for key, value in camera_paths.items() if value is not None)
self._frame_readers = _FrameReaderDict(camera_paths, cache_paths, kwargs)
self._frame_id_lookup = frame_id_lookup

Loading…
Cancel
Save