audio-sync: учитывать латентность линка очки→телефон

Очки штампуют sentTs в PlaybackPosition; телефон мерит one-way
латентность (receivedTs - sentTs, EWMA) и добавляет её к мастер-позиции
в sync(), снимая системный перекос, из-за которого аудио недокручивало
на величину транспортной задержки. Плюс правки тестов под
HARD_SEEK_THRESHOLD_MS=5000 (остались незакомиченными с прошлого фикса).
This commit is contained in:
2026-08-30 05:08:37 +03:00
parent b11879520e
commit e18b82642f
6 changed files with 41 additions and 15 deletions
@@ -101,6 +101,7 @@ class HostConnection(
playing = snapshot.playing,
itemId = snapshot.itemId,
audioIndex = snapshot.audioIndex,
sentTs = System.currentTimeMillis(),
),
)
}
@@ -248,7 +249,7 @@ class HostConnection(
scope.launch {
val (positionMs, playing, itemId, audioIndex) =
withContext(Dispatchers.Main) { movieController.playbackPosition() }
sendToHost(PlaybackPosition(positionMs, playing, itemId, audioIndex))
sendToHost(PlaybackPosition(positionMs, playing, itemId, audioIndex, sentTs = System.currentTimeMillis()))
}
}