beyond-all-reason / beyond-all-reason/RecoilEngine
Audio channel bugs with stream queue
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
1. Playing a new stream without stopping it first can effect in duplicate stream due to callback to AudioChannel `SoundSourceFinished()` which resets `curStreamSrc`. Further calls to `AudioChannel::StreamPlay` will look for new SoundSource (due to curStreamSrc being set to nullptr) instead stopping previous stream.
2. StreamQueue is bugged. `AudioChannel::FindSourceAndPlay` shouldn't be playing new music from the queue if the class is about to
- destroy itself
- play specific file stream from `StreamPlay(file)` context
3. ~~Minor issue - Very small files won't even play in stream mode because `MusicStream` initially tries to decode stream into two separate buffers. If 2nd is empty (or fails) stream will be abandoned~~ fixed by https://github.com/beyond-all-reason/spring/pull/1576
Contributor guide
Assessment
This issue has not been assessed yet.