test(sync): require stronger calibration evidence
This commit is contained in:
parent
8bb157891f
commit
bbc70f088f
6
Cargo.lock
generated
6
Cargo.lock
generated
@ -1652,7 +1652,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_client"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-stream",
|
||||
@ -1686,7 +1686,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_common"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
@ -1698,7 +1698,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_server"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
|
||||
@ -4,7 +4,7 @@ path = "src/main.rs"
|
||||
|
||||
[package]
|
||||
name = "lesavka_client"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
|
||||
@ -5,7 +5,7 @@ const DEFAULT_MAX_PAIR_GAP_S: f64 = 0.5;
|
||||
const DEFAULT_PULSE_PERIOD_S: f64 = 1.0;
|
||||
const DEFAULT_PULSE_WIDTH_S: f64 = 0.12;
|
||||
const DEFAULT_MARKER_TICK_PERIOD: u32 = 5;
|
||||
const CALIBRATION_MIN_PAIRED_EVENTS: usize = 8;
|
||||
const CALIBRATION_MIN_PAIRED_EVENTS: usize = 13;
|
||||
const CALIBRATION_MAX_DRIFT_MS: f64 = 40.0;
|
||||
const CALIBRATION_MAX_START_MEDIAN_DISAGREEMENT_MS: f64 = 250.0;
|
||||
const CALIBRATION_SETTLED_SKEW_MS: f64 = 5.0;
|
||||
@ -370,7 +370,7 @@ mod tests {
|
||||
assert!(
|
||||
recommendation
|
||||
.note
|
||||
.contains("need at least 8 paired pulses")
|
||||
.contains("need at least 13 paired pulses")
|
||||
);
|
||||
}
|
||||
|
||||
@ -379,7 +379,7 @@ mod tests {
|
||||
let report = SyncAnalysisReport {
|
||||
video_event_count: 12,
|
||||
audio_event_count: 12,
|
||||
paired_event_count: 12,
|
||||
paired_event_count: 14,
|
||||
coded_events: false,
|
||||
activity_start_delta_ms: 0.0,
|
||||
raw_first_video_activity_s: 0.0,
|
||||
@ -407,7 +407,7 @@ mod tests {
|
||||
let report = SyncAnalysisReport {
|
||||
video_event_count: 14,
|
||||
audio_event_count: 14,
|
||||
paired_event_count: 12,
|
||||
paired_event_count: 14,
|
||||
coded_events: false,
|
||||
activity_start_delta_ms: 0.0,
|
||||
raw_first_video_activity_s: 0.0,
|
||||
@ -492,7 +492,7 @@ mod tests {
|
||||
let report = SyncAnalysisReport {
|
||||
video_event_count: 14,
|
||||
audio_event_count: 14,
|
||||
paired_event_count: 10,
|
||||
paired_event_count: 13,
|
||||
coded_events: true,
|
||||
activity_start_delta_ms: -3_620.7,
|
||||
raw_first_video_activity_s: 9.361,
|
||||
@ -520,7 +520,7 @@ mod tests {
|
||||
let report = SyncAnalysisReport {
|
||||
video_event_count: 14,
|
||||
audio_event_count: 14,
|
||||
paired_event_count: 12,
|
||||
paired_event_count: 14,
|
||||
coded_events: false,
|
||||
activity_start_delta_ms: 0.0,
|
||||
raw_first_video_activity_s: 0.0,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lesavka_common"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
edition = "2024"
|
||||
build = "build.rs"
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@ LESAVKA_SERVER_RC_PROBE_PREBUILD=${LESAVKA_SERVER_RC_PROBE_PREBUILD:-1}
|
||||
LESAVKA_SERVER_RC_CONTINUE_ON_FAIL=${LESAVKA_SERVER_RC_CONTINUE_ON_FAIL:-1}
|
||||
LESAVKA_SERVER_RC_TUNE_DELAYS=${LESAVKA_SERVER_RC_TUNE_DELAYS:-1}
|
||||
LESAVKA_SERVER_RC_TUNE_CONFIRM=${LESAVKA_SERVER_RC_TUNE_CONFIRM:-1}
|
||||
LESAVKA_SERVER_RC_TUNE_MIN_PAIRS=${LESAVKA_SERVER_RC_TUNE_MIN_PAIRS:-8}
|
||||
LESAVKA_SERVER_RC_TUNE_MIN_PAIRS=${LESAVKA_SERVER_RC_TUNE_MIN_PAIRS:-13}
|
||||
LESAVKA_SERVER_RC_TUNE_MAX_ABS_SKEW_MS=${LESAVKA_SERVER_RC_TUNE_MAX_ABS_SKEW_MS:-1000}
|
||||
LESAVKA_SERVER_RC_TUNE_MAX_DRIFT_MS=${LESAVKA_SERVER_RC_TUNE_MAX_DRIFT_MS:-80}
|
||||
LESAVKA_SERVER_RC_TUNE_MAX_STEP_US=${LESAVKA_SERVER_RC_TUNE_MAX_STEP_US:-500000}
|
||||
@ -253,7 +253,7 @@ def as_float(value, default=0.0):
|
||||
result = json.loads(pathlib.Path(result_path).read_text())
|
||||
calibration = result.get("output_delay_calibration") or {}
|
||||
sync = result.get("sync") or {}
|
||||
min_pairs = max(1, as_int(min_pairs_raw, 8))
|
||||
min_pairs = max(1, as_int(min_pairs_raw, 13))
|
||||
max_abs_skew_ms = max(1.0, as_float(max_abs_skew_raw, 1000.0))
|
||||
max_drift_ms = max(0.0, as_float(max_drift_raw, 80.0))
|
||||
max_step_us = max(1, as_int(max_step_raw, 500_000))
|
||||
@ -1109,7 +1109,7 @@ for result in results:
|
||||
continue
|
||||
sync = result.get("sync") or {}
|
||||
calibration = result.get("output_delay_calibration") or {}
|
||||
required_pairs = calibration.get("min_pairs") or 8
|
||||
required_pairs = calibration.get("min_pairs") or 13
|
||||
confirmed = (
|
||||
sync.get("passed") is True
|
||||
and (sync.get("paired_event_count") or 0) >= required_pairs
|
||||
|
||||
@ -68,7 +68,7 @@ LESAVKA_OUTPUT_DELAY_CONFIRM=${LESAVKA_OUTPUT_DELAY_CONFIRM:-1}
|
||||
LESAVKA_OUTPUT_DELAY_SAVE=${LESAVKA_OUTPUT_DELAY_SAVE:-0}
|
||||
LESAVKA_OUTPUT_REQUIRE_SYNC_PASS=${LESAVKA_OUTPUT_REQUIRE_SYNC_PASS:-0}
|
||||
LESAVKA_OUTPUT_DELAY_TARGET=${LESAVKA_OUTPUT_DELAY_TARGET:-video}
|
||||
LESAVKA_OUTPUT_DELAY_MIN_PAIRS=${LESAVKA_OUTPUT_DELAY_MIN_PAIRS:-8}
|
||||
LESAVKA_OUTPUT_DELAY_MIN_PAIRS=${LESAVKA_OUTPUT_DELAY_MIN_PAIRS:-13}
|
||||
LESAVKA_OUTPUT_DELAY_MAX_ABS_SKEW_MS=${LESAVKA_OUTPUT_DELAY_MAX_ABS_SKEW_MS:-5000}
|
||||
LESAVKA_OUTPUT_DELAY_MAX_DRIFT_MS=${LESAVKA_OUTPUT_DELAY_MAX_DRIFT_MS:-80}
|
||||
LESAVKA_OUTPUT_DELAY_GAIN=${LESAVKA_OUTPUT_DELAY_GAIN:-1.0}
|
||||
@ -731,7 +731,7 @@ verdict = report.get("verdict") or {}
|
||||
|
||||
target = target.strip().lower()
|
||||
apply_mode = apply_mode_raw.strip().lower()
|
||||
min_pairs = max(1, as_int(min_pairs_raw, 8))
|
||||
min_pairs = max(1, as_int(min_pairs_raw, 13))
|
||||
max_abs_skew_ms = max(1.0, as_float(max_abs_skew_raw, 5000.0))
|
||||
max_drift_ms = max(0.0, as_float(max_drift_raw, 80.0))
|
||||
gain = min(max(as_float(gain_raw, 1.0), 0.01), 1.0)
|
||||
|
||||
@ -10,7 +10,7 @@ bench = false
|
||||
|
||||
[package]
|
||||
name = "lesavka_server"
|
||||
version = "0.19.19"
|
||||
version = "0.19.20"
|
||||
edition = "2024"
|
||||
autobins = false
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user