quintodrome/core/stream
Deluan 833c50adc7 test(stream): fix data race in MediaStreamer transcoding cap tests
The three It blocks that build a tight-cap streamer each spawned a fresh
transcoding cache without waiting for its background initialization. The
init goroutine reads conf.Server.CacheFolder, which races against
SnapshotConfig's pointer-swap restore (Server = &restored) fired by
DeferCleanup at the end of the spec. CI tripped the race under
-shuffle=on -race; locally it reproduced about 10% of the time.

Wait for tightCache.Available() before constructing the streamer, mirroring
the outer BeforeEach. For the slot-saturation spec, swap in a blocking
io.Pipe-backed mock ffmpeg so the cache's background copyAndClose can't
drain the source and release the slot — the previous behavior happened to
work only because the cache wasn't yet available and the no-cache path was
exercised.
2026-05-28 00:07:49 -03:00
..
aliases.go fix: use ADTS for AAC transcoding, temporarily exclude AAC from transcode decisions (#5167) 2026-03-11 09:26:32 -04:00
aliases_test.go fix: use ADTS for AAC transcoding, temporarily exclude AAC from transcode decisions (#5167) 2026-03-11 09:26:32 -04:00
codec.go fix(transcoding): clamp target channels to codec limit (#5336) (#5345) 2026-04-11 23:15:07 -04:00
codec_test.go fix(transcoding): clamp target channels to codec limit (#5336) (#5345) 2026-04-11 23:15:07 -04:00
decider.go fix(transcoding): don't apply server-side override on getTranscodeDecision (#5473) 2026-05-06 10:03:24 -04:00
decider_test.go fix(transcoding): don't apply server-side override on getTranscodeDecision (#5473) 2026-05-06 10:03:24 -04:00
legacy_client.go fix(transcoding): don't apply server-side override on getTranscodeDecision (#5473) 2026-05-06 10:03:24 -04:00
legacy_client_test.go fix(transcoding): don't apply server-side override on getTranscodeDecision (#5473) 2026-05-06 10:03:24 -04:00
limitations.go refactor: rename core/transcode to core/stream, simplify MediaStreamer (#5166) 2026-03-09 22:22:58 -04:00
limiter.go fix(transcoding): cap concurrent transcodes to prevent ffmpeg DoS (#5522) 2026-05-24 00:24:30 -03:00
limiter_test.go fix(transcoding): cap concurrent transcodes to prevent ffmpeg DoS (#5522) 2026-05-24 00:24:30 -03:00
media_streamer.go refactor(transcoding): rename EnableTranscodingCancellation to Transcoding.EnableCancellation (#5523) 2026-05-24 00:51:58 -03:00
media_streamer_test.go test(stream): fix data race in MediaStreamer transcoding cap tests 2026-05-28 00:07:49 -03:00
stream_suite_test.go refactor: rename core/transcode to core/stream, simplify MediaStreamer (#5166) 2026-03-09 22:22:58 -04:00
token.go refactor: rename core/transcode to core/stream, simplify MediaStreamer (#5166) 2026-03-09 22:22:58 -04:00
token_test.go refactor: rename core/transcode to core/stream, simplify MediaStreamer (#5166) 2026-03-09 22:22:58 -04:00
types.go fix(transcoding): play WAV files directly in browsers instead of transcoding (#5309) 2026-04-05 20:37:26 -04:00