Files
codex/codex-rs/voice-host/src
Eric Traut 282d655def Preserve voice playback across pauses and packet bursts (#46880)
## Why

A second audio ring can overwrite late speech with silence, and valid RTP
bursts can exceed the jitter buffer's 60 ms reordering window and be dropped.

## What changed

- Forward decoded PCM directly from a GStreamer `BaseSink` to the bounded
  CPAL queue, letting CPAL pace playback and handling partial writes.
- Disable `drop-on-latency` so valid queued speech survives packet bursts;
  existing ingress permits continue to bound retained packets and bytes.
- Cancel blocked writes on native flushes while preserving speaker epoch
  isolation, and remove the obsolete playback delay accounting.

## Testing

Add regression tests for preserving PCM across a pause, forwarding all admitted
packets in an RTP burst, and cancelling a blocked speaker write on an unexpected
flush.

GitOrigin-RevId: c299c6289563d6b4d943362bc3463dbfce9289e7
2026-09-20 20:16:51 +00:00
..