Skip to content

fix(audio): correct sample limit tracking and source leaks#182

Open
fbraz3 wants to merge 1 commit into
mainfrom
fix/missing-vo-audio
Open

fix(audio): correct sample limit tracking and source leaks#182
fbraz3 wants to merge 1 commit into
mainfrom
fix/missing-vo-audio

Conversation

@fbraz3

@fbraz3 fbraz3 commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Description

Fixes an issue where Voiceovers (like "You are victorious" or General Challenge taunts) were not playing, especially during late-game or heavy combat scenarios.

Changes

  • OpenAL & MiniAudio priority leaks: Uncommented event->setHandleToKill in isPlayingLowerPriority() for both audio managers. Previously, when the maximum sample limits were hit (e.g., 64 2D sounds), the engines continuously generated new hardware sources without freeing older lower-priority ones. This eventually exhausted all physical sources (usually 256) and silently dropped new sounds.
  • MiniAudio incorrect limits: Updated MiniAudioManager::getNumAvailable2DSamples and getNumAvailable3DSamples to calculate available samples by only counting PAT_Sample and PAT_3DSample respectively. Previously, it counted the entire m_playingSounds list (which includes Music/Streams), keeping available samples at 0 and triggering continuous lower-priority replacements.
  • Documentation: Updated the Dev Blog.

Fixed a bug in OpenALAudioManager and MiniAudioManager where the engines
would continuously allocate new hardware sources without terminating
lower priority sounds, eventually exhausting all available physical sources.
Also corrected the sample count logic in MiniAudioManager to only evaluate
2D and 3D sample types rather than all playing sounds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant