Detect sequence gaps in local audio integration

This commit is contained in:
Brandon McGinty (chatgpt)
2026-08-09 20:31:29 -04:00
committed by Brandon McGinty
parent 0dbe178e7f
commit b324106d3a
+8
View File
@@ -73,15 +73,23 @@ func TestLocalMumbleAudioRoundTrip(t *testing.T) {
} }
// Discard the first few decoder warm-up frames before measuring pitch. // Discard the first few decoder warm-up frames before measuring pitch.
var packet *gumble.AudioPacket var packet *gumble.AudioPacket
var previousSequence int64
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {
select { select {
case packet = <-listener.packets: case packet = <-listener.packets:
if i > 0 && packet.Sequence != previousSequence+1 {
t.Fatalf("choppy relay: sequence gap %d -> %d", previousSequence, packet.Sequence)
}
previousSequence = packet.Sequence
case <-time.After(8 * time.Second): case <-time.After(8 * time.Second):
t.Fatal("timed out waiting for relayed audio") t.Fatal("timed out waiting for relayed audio")
} }
} }
select { select {
case packet = <-listener.packets: case packet = <-listener.packets:
if packet.Sequence != previousSequence+1 {
t.Fatalf("choppy relay: sequence gap %d -> %d", previousSequence, packet.Sequence)
}
frequency, purity, peak := audioQuality(packet.AudioBuffer) frequency, purity, peak := audioQuality(packet.AudioBuffer)
if peak < 500 { if peak < 500 {
t.Fatalf("received silent audio peak=%d", peak) t.Fatalf("received silent audio peak=%d", peak)