fix(gameaudio): Remove the has3DSensitiveStreamsPlaying volume hack - #3252
Conversation
PR Summary by QodoRemove 3D stream volume workaround and avoid redundant updates
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. Alt-tab recovery no longer works
|
|
| Filename | Overview |
|---|---|
| Core/GameEngine/Include/Common/GameAudio.h | Removes the stream-sensitivity query from the shared audio-manager contract. |
| Core/GameEngine/Source/Common/Audio/GameAudio.cpp | Adds effective-volume change detection and removes stream-sensitive suppression from 3D-volume adjustment. |
| Core/GameEngineDevice/Include/MilesAudioDevice/MilesAudioManager.h | Removes the obsolete query overrides from the normal and dummy Miles managers. |
| Core/GameEngineDevice/Source/MilesAudioDevice/MilesAudioManager.cpp | Removes the implementation that classified active streams as sensitive to 3D-volume updates. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
Input[Volume or camera adjustment] --> Compute[Compute effective category volume]
Compute --> Changed{Effective volume changed?}
Changed -- Yes --> Store[Store new volume]
Store --> Dirty[Mark volume state dirty]
Dirty --> Update[Miles update reapplies playing-audio volumes]
Changed -- No --> Skip[Skip provider volume refresh]
Reviews (2): Last reviewed commit: "tweak(gameaudio): Only update sound volu..." | Re-trigger Greptile
6e6c347 to
d3c7ed9
Compare
Merge with Rebase
This change has 2 commits.
The first is removing the has3DSensitiveStreamsPlaying hack. It existed to workaround a hang on volume change. We aim to fix application hanging and not rely on the hack from here on.
The second is committing to sound volume change only if the volume has really changed, not merely calling the volume change function. This may or may not avoid unnecessary sound volume updates.
TODO