fix: use current frame for timecode sync check

Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
This commit is contained in:
Chaos Rogers 2025-07-21 11:58:47 +01:00
parent 2b1481264e
commit abc5d6af4b

View file

@ -91,6 +91,18 @@ impl LtcState {
match frame.status.as_str() {
"LOCK" => {
self.lock_count += 1;
// Recompute timecode-match every 5 seconds
let now_secs = Utc::now().timestamp();
if now_secs - self.last_match_check >= 5 {
self.last_match_status = if frame.matches_system_time() {
"IN SYNC"
} else {
"OUT OF SYNC"
}
.into();
self.last_match_check = now_secs;
}
}
"FREE" => {
self.free_count += 1;
@ -101,18 +113,6 @@ impl LtcState {
_ => {}
}
// Recompute timecode-match every 5 seconds
let now_secs = Utc::now().timestamp();
if now_secs - self.last_match_check >= 5 {
self.last_match_status = if let Some(frame) = &self.latest {
if frame.matches_system_time() { "IN SYNC" } else { "OUT OF SYNC" }
} else {
"UNKNOWN"
}
.into();
self.last_match_check = now_secs;
}
self.latest = Some(frame);
}