Document audio trace fields and verify diagnostic reads preserve jitter events

This commit is contained in:
evgeny committed 2026-10-15 02:49:01 +02:00
1 parent c5efa56939
commit ac2029c82b
3 files changed
+38 -1

No files matched your search

@@ -29,6 +29,8 @@ internal class CallAudioTrace(private val id: Long, private val emit: (String, S
private var stoppedSince = -1L
private var underrunAt = -10_000_000L
private var faults = 0
private var reportedDeviceUnderruns = 0L
private var reportedJbUnderruns = 0L
@Synchronized fun record(row: LongArray) {
if (!enabled) return
@@ -51,6 +53,8 @@ internal class CallAudioTrace(private val id: Long, private val emit: (String, S
if (!enabled) {
history.clear(); summary.clear(); previous = null; eventAt = -1
faults = 0; highSince = -1; stoppedSince = -1; underrunAt = -10_000_000
lastDump = -10_000_000; suppressed = 0
reportedDeviceUnderruns = 0; reportedJbUnderruns = 0
return
}
if (overflow > 0) emit("WARN", "audio trace call=$id reporter overrun lost=$overflow")
@@ -108,10 +112,12 @@ internal class CallAudioTrace(private val id: Long, private val emit: (String, S
"route=${last[1]}/${last[2]} min/avg/max queueUs=${range(::queued)} " +
"jbMs=${range { it[16] + it[17] }} reserveMs=${range { it[18] }} spreadMs=${range { it[19] }} " +
"pullUs=${range { it[5] }} writeUs=${range { it[6] }} wakeLateUs=${range { it[7] }} " +
"tempo=${last[21]} deviceUnderruns=${last[9]} jbUnderruns=${last[22]} " +
"tempo=${last[21]} deviceUnderruns=${last[9]} deviceUnderDelta=${last[9] - reportedDeviceUnderruns} " +
"jbUnderruns=${last[22]} jbUnderDelta=${last[22] - reportedJbUnderruns} " +
"zeroWrites=${summary.sumOf { it[8] }} missingPcm=${summary.sumOf { (960 - it[20]).coerceAtLeast(0) }} " +
"stamp=${last[12]}@${last[13]} readUs=${last[14]} ok=${last[15]} " +
"buffer=${last[10]} start=${last[11]} fault=$faults suppressed=$suppressed")
reportedDeviceUnderruns = last[9]; reportedJbUnderruns = last[22]
summary.clear()
}