Browse Source

Keep Camera2 frames when timestamp jitter crosses nominal frame duration

master
evgeny 5 days ago
parent
commit
5c6f71c602
  1. 3
      tools/chatgui-android/app/src/main/java/com/utun/chat/data/CallVideoEngine.kt

3
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

Loading…
Cancel
Save