Replace frame_sync with SynchronizedTimestamps, make timestamps.csv optional#957
Merged
Replace frame_sync with SynchronizedTimestamps, make timestamps.csv optional#957
Conversation
SynchronizedTimestamps encapsulates per-camera frame timestamps and the sync mapping in a single immutable object. Factory methods handle both explicit timestamps.csv and inference from video metadata (writing inferred_timestamps.csv as an audit trail). FPS and frame count mismatches produce warnings rather than errors. Fixes #956 — recordings without timestamps.csv now infer timing from video metadata instead of crashing. Docs wording is preliminary and will be refined in a follow-up commit.
Reworked to reflect that timestamps.csv is optional, inference assumes cameras started and stopped at the same moment, and mismatched frame rates or counts produce warnings rather than errors. Addresses the confusion reported in issue #956.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
frame_sync.pywithSynchronizedTimestampsfrozen dataclass that encapsulates per-camera timestamps and the sync mapping in a single immutable objecttimestamps.csvnow infer timing from video metadata (frame count + FPS), saving assumptions asinferred_timestamps.csvfor inspectionFixes #956
Test plan
mkdocs serve