Detect sequence gaps in local audio integration
This commit is contained in:
committed by
Brandon McGinty
parent
0dbe178e7f
commit
b324106d3a
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user