From 5c6f71c602c1bdec441cedffa74acc73ba733a43 Mon Sep 17 00:00:00 2001 From: evgeny Date: Thu, 15 Oct 2026 00:49:52 +0200 Subject: [PATCH] Keep Camera2 frames when timestamp jitter crosses nominal frame duration --- .../app/src/main/java/com/utun/chat/data/CallVideoEngine.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/CallVideoEngine.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/CallVideoEngine.kt index e7cb2b41..4df904b2 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/CallVideoEngine.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/CallVideoEngine.kt @@ -224,7 +224,8 @@ class CallVideoEngine(private val context: Context, private val id: Long) { sensorOffset = it; LogManager.addLog("WARN", "call", "camera timestamp calibrated from arrival id=$id offset=$it") } val pts = (image.timestamp + offset) / 1000 - if (pts <= lastPts || (lastPts >= 0 && pts - lastPts < 33333)) return@setOnImageAvailableListener + // Camera2 уже ограничена 30 fps. Порог 33333 мкс отбрасывал каждый второй кадр при дрожании часов. + if (pts <= lastPts) return@setOnImageAvailableListener val key = needKey || lastKey < 0 || pts - lastKey >= 1_000_000 if (key && pendingRequest != 0L) { val requestId = pendingRequest; pendingRequest = 0