test(player): skip mid-stream silence in BufferedStreamer basic test

TestBufferedStreamer_BasicStream flaked under -race (got 1256/1512 vs
1000 expected). The streamer injects silence frames by design when its
ring buffer momentarily underruns; under the race detector the consumer
outran read-ahead and received mid-stream 256-sample silence frames. The
collection loop only skipped leading silence, so those frames were
counted as data.

Skip all zero frames, matching the test's own drain loop — real samples
always start at 1.0, so any zero is injected silence, never source data.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-24 13:50:08 -04:00
co-authored by Claude Opus 4.8
parent 20c2e74412
commit 91775be2b7
+5 -2
View File
@@ -68,8 +68,11 @@ func TestBufferedStreamer_BasicStream(t *testing.T) {
n, ok := bs.Stream(buf)
for i := range n {
// Skip silence frames (buffer not yet filled).
if buf[i][0] == 0 && buf[i][1] == 0 && len(collected) == 0 {
// Skip silence frames the streamer injects whenever its
// ring buffer momentarily underruns (not just leading
// silence). Real samples always start at 1.0, so any zero
// frame is injected silence, never source data.
if buf[i][0] == 0 && buf[i][1] == 0 {
continue
}