From 295bd0f9f9e46c455a0420d80b8742e029870d17 Mon Sep 17 00:00:00 2001 From: burakgizlice Date: Sat, 14 Feb 2026 00:23:52 +0300 Subject: [PATCH] fix: remove frame-stealing read from pipeline loop The pipeline's main select loop was reading from frameCh alongside the SimpleTranscriber's collectAudio goroutine. Since Go channels deliver each value to exactly one reader, the pipeline was randomly consuming ~50% of audio frames and discarding them, causing the transcriber to receive fragmented audio and produce incomplete transcriptions. Remove the `case <-frameCh:` from the pipeline loop so all frames are exclusively consumed by the transcriber. --- internal/pipeline/pipeline.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/internal/pipeline/pipeline.go b/internal/pipeline/pipeline.go index cec847e..cb33482 100644 --- a/internal/pipeline/pipeline.go +++ b/internal/pipeline/pipeline.go @@ -196,8 +196,6 @@ func (p *pipeline) run(ctx context.Context) { for { select { - case <-frameCh: - case action := <-p.actionCh: switch action { case Inject: