aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/audio_render_manager.cpp
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-09-11 21:38:52 +0200
committercrueter <crueter@eden-emu.dev>2026-09-11 21:38:52 +0200
commit8a22f1845b8b7ec19fbb518b696513e36d42b317 (patch)
tree2ce54dbc857658d5172eacdc9a6f1291f3b62a22 /src/audio_core/audio_render_manager.cpp
parent301da63a15de8cfbe752ac44784db9b58cdd2d87 (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.cpp19
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;
}