diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-09-11 21:38:52 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-09-11 21:38:52 +0200 |
| commit | 8a22f1845b8b7ec19fbb518b696513e36d42b317 (patch) | |
| tree | 2ce54dbc857658d5172eacdc9a6f1291f3b62a22 /src/audio_core/audio_render_manager.cpp | |
| parent | 301da63a15de8cfbe752ac44784db9b58cdd2d87 (diff) | |
[hle] Enforce max_sessions, add bpc:ams service (#4394)
As per switchbrew, as per atmosphere, and some poking around.
bpc:ams stubbed for now.
Signed-off-by: lizzie <lizzie@eden-emu.dev>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.
-------------------
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4394
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/audio_core/audio_render_manager.cpp')
| -rw-r--r-- | src/audio_core/audio_render_manager.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/audio_core/audio_render_manager.cpp b/src/audio_core/audio_render_manager.cpp index 3c53e3afde..8c4e74c4be 100644 --- a/src/audio_core/audio_render_manager.cpp +++ b/src/audio_core/audio_render_manager.cpp @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -9,7 +12,9 @@ namespace AudioCore::Renderer { Manager::Manager(Core::System& system_) - : system{system_}, system_manager{std::make_unique<SystemManager>(system)} { + : system{system_} + , system_manager{std::make_unique<SystemManager>(system)} +{ std::iota(session_ids.begin(), session_ids.end(), 0); } @@ -38,14 +43,12 @@ Result Manager::GetWorkBufferSize(const AudioRendererParameterInternal& params, s32 Manager::GetSessionId() { std::scoped_lock l{session_lock}; - auto session_id{session_ids[session_count]}; - - if (session_id == -1) { - return -1; + ASSERT(session_count <= session_ids.size()); + auto const session_id = session_ids[session_count]; + if (session_id >= 0) { + session_ids[session_count] = -1; + session_count++; } - - session_ids[session_count] = -1; - session_count++; return session_id; } |
