diff --git a/Cargo.lock b/Cargo.lock index eafc616..4082216 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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", diff --git a/client/Cargo.toml b/client/Cargo.toml index bdc5a22..2ebcf84 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -4,7 +4,7 @@ path = "src/main.rs" [package] name = "lesavka_client" -version = "0.19.19" +version = "0.19.20" edition = "2024" [dependencies] diff --git a/client/src/sync_probe/analyze/report.rs b/client/src/sync_probe/analyze/report.rs index ebe28ec..8060b95 100644 --- a/client/src/sync_probe/analyze/report.rs +++ b/client/src/sync_probe/analyze/report.rs @@ -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, diff --git a/common/Cargo.toml b/common/Cargo.toml index 9d68469..9d83ce4 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lesavka_common" -version = "0.19.19" +version = "0.19.20" edition = "2024" build = "build.rs" diff --git a/scripts/manual/run_server_to_rc_mode_matrix.sh b/scripts/manual/run_server_to_rc_mode_matrix.sh index 305c92e..b79d566 100755 --- a/scripts/manual/run_server_to_rc_mode_matrix.sh +++ b/scripts/manual/run_server_to_rc_mode_matrix.sh @@ -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 diff --git a/scripts/manual/run_upstream_av_sync.sh b/scripts/manual/run_upstream_av_sync.sh index 48b06ba..8165cb6 100755 --- a/scripts/manual/run_upstream_av_sync.sh +++ b/scripts/manual/run_upstream_av_sync.sh @@ -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) diff --git a/server/Cargo.toml b/server/Cargo.toml index 81c694f..ca5e751 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -10,7 +10,7 @@ bench = false [package] name = "lesavka_server" -version = "0.19.19" +version = "0.19.20" edition = "2024" autobins = false