From a94d9f119c663b5c3c7ce537d86a3f9f0f7955f4 Mon Sep 17 00:00:00 2001 From: CarolinePascal Date: Fri, 22 May 2026 02:48:30 +0200 Subject: [PATCH] fix(info): fixing info metadata update when is_depth_map was set --- src/lerobot/datasets/dataset_metadata.py | 10 +++++++--- src/lerobot/datasets/video_utils.py | 1 - 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lerobot/datasets/dataset_metadata.py b/src/lerobot/datasets/dataset_metadata.py index 9072f70d3..0b3713af2 100644 --- a/src/lerobot/datasets/dataset_metadata.py +++ b/src/lerobot/datasets/dataset_metadata.py @@ -577,9 +577,13 @@ class LeRobotDatasetMetadata: video_keys = [video_key] if video_key is not None else self.video_keys for key in video_keys: - if not self.features[key].get("info", None): - video_path = self.root / self.video_path.format(video_key=key, chunk_index=0, file_index=0) - self.info.features[key]["info"] = get_video_info(video_path, video_encoder=video_encoder) + existing = self.features[key].get("info") or {} + # Skip only if real video info has already been written. The ``is_depth_map`` entry (created at feature creation) is not blocking. + if set(existing.keys()) - {"is_depth_map"}: + continue + video_path = self.root / self.video_path.format(video_key=key, chunk_index=0, file_index=0) + new_info = get_video_info(video_path, video_encoder=video_encoder) + self.info.features[key]["info"] = {**existing, **new_info} def update_chunk_settings( self, diff --git a/src/lerobot/datasets/video_utils.py b/src/lerobot/datasets/video_utils.py index 415841009..d8eb72665 100644 --- a/src/lerobot/datasets/video_utils.py +++ b/src/lerobot/datasets/video_utils.py @@ -969,7 +969,6 @@ def get_video_info( # Calculate fps from r_frame_rate video_info["video.fps"] = int(video_stream.base_rate) - video_info["video.channels"] = get_pix_fmt_channels(video_stream.pix_fmt) # Reset logging level