diff --git a/gumble/gumbleopenal/stream.go b/gumble/gumbleopenal/stream.go index 88eb976..7112289 100644 --- a/gumble/gumbleopenal/stream.go +++ b/gumble/gumbleopenal/stream.go @@ -464,6 +464,12 @@ func (s *Stream) OnAudioStream(e *gumble.AudioStreamEvent) { for { pkt := popNext() if pkt == nil { + // A locally dropped packet must not permanently stall the + // jitter buffer waiting for a sequence number that cannot arrive. + if len(jitterBuf) > 0 && jitterBuf[0].Sequence > jitterNextSeq { + jitterNextSeq = jitterBuf[0].Sequence + continue + } break } reclaim()