beyond-all-reason / beyond-all-reason/RecoilEngine

Audio channel bugs with stream queue

Open
#951 0 comments 0 reactions 1 assignee Claimed by @dzosz View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.