summaryrefslogtreecommitdiff
path: root/src/core/hle/service/audio
diff options
context:
space:
mode:
authorGravatar Liam2023-02-19 14:42:12 -0500
committerGravatar Liam2023-03-01 10:39:49 -0500
commit65be230fdda302b25447f2f09b06e3238bd09e79 (patch)
tree68250d7bc8151041b236dcd79483df98938952cd /src/core/hle/service/audio
parentsm:: remove unused member (diff)
downloadyuzu-65be230fdda302b25447f2f09b06e3238bd09e79.tar.gz
yuzu-65be230fdda302b25447f2f09b06e3238bd09e79.tar.xz
yuzu-65be230fdda302b25447f2f09b06e3238bd09e79.zip
service: move hle_ipc from kernel
Diffstat (limited to 'src/core/hle/service/audio')
-rw-r--r--src/core/hle/service/audio/audctl.cpp6
-rw-r--r--src/core/hle/service/audio/audctl.h4
-rw-r--r--src/core/hle/service/audio/audin_u.cpp32
-rw-r--r--src/core/hle/service/audio/audin_u.h14
-rw-r--r--src/core/hle/service/audio/audout_u.cpp30
-rw-r--r--src/core/hle/service/audio/audout_u.h8
-rw-r--r--src/core/hle/service/audio/audren_u.cpp56
-rw-r--r--src/core/hle/service/audio/audren_u.h14
-rw-r--r--src/core/hle/service/audio/hwopus.cpp22
-rw-r--r--src/core/hle/service/audio/hwopus.h10
10 files changed, 92 insertions, 104 deletions
diff --git a/src/core/hle/service/audio/audctl.cpp b/src/core/hle/service/audio/audctl.cpp
index 5abf22ba4..7ad93be6b 100644
--- a/src/core/hle/service/audio/audctl.cpp
+++ b/src/core/hle/service/audio/audctl.cpp
@@ -2,8 +2,8 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "common/logging/log.h" 4#include "common/logging/log.h"
5#include "core/hle/ipc_helpers.h"
6#include "core/hle/service/audio/audctl.h" 5#include "core/hle/service/audio/audctl.h"
6#include "core/hle/service/ipc_helpers.h"
7 7
8namespace Service::Audio { 8namespace Service::Audio {
9 9
@@ -72,7 +72,7 @@ AudCtl::AudCtl(Core::System& system_) : ServiceFramework{system_, "audctl"} {
72 72
73AudCtl::~AudCtl() = default; 73AudCtl::~AudCtl() = default;
74 74
75void AudCtl::GetTargetVolumeMin(Kernel::HLERequestContext& ctx) { 75void AudCtl::GetTargetVolumeMin(HLERequestContext& ctx) {
76 LOG_DEBUG(Audio, "called."); 76 LOG_DEBUG(Audio, "called.");
77 77
78 // This service function is currently hardcoded on the 78 // This service function is currently hardcoded on the
@@ -84,7 +84,7 @@ void AudCtl::GetTargetVolumeMin(Kernel::HLERequestContext& ctx) {
84 rb.Push(target_min_volume); 84 rb.Push(target_min_volume);
85} 85}
86 86
87void AudCtl::GetTargetVolumeMax(Kernel::HLERequestContext& ctx) { 87void AudCtl::GetTargetVolumeMax(HLERequestContext& ctx) {
88 LOG_DEBUG(Audio, "called."); 88 LOG_DEBUG(Audio, "called.");
89 89
90 // This service function is currently hardcoded on the 90 // This service function is currently hardcoded on the
diff --git a/src/core/hle/service/audio/audctl.h b/src/core/hle/service/audio/audctl.h
index a27ff6cfe..8e31ac237 100644
--- a/src/core/hle/service/audio/audctl.h
+++ b/src/core/hle/service/audio/audctl.h
@@ -17,8 +17,8 @@ public:
17 ~AudCtl() override; 17 ~AudCtl() override;
18 18
19private: 19private:
20 void GetTargetVolumeMin(Kernel::HLERequestContext& ctx); 20 void GetTargetVolumeMin(HLERequestContext& ctx);
21 void GetTargetVolumeMax(Kernel::HLERequestContext& ctx); 21 void GetTargetVolumeMax(HLERequestContext& ctx);
22}; 22};
23 23
24} // namespace Service::Audio 24} // namespace Service::Audio
diff --git a/src/core/hle/service/audio/audin_u.cpp b/src/core/hle/service/audio/audin_u.cpp
index 26dec7147..f0640c64f 100644
--- a/src/core/hle/service/audio/audin_u.cpp
+++ b/src/core/hle/service/audio/audin_u.cpp
@@ -7,9 +7,9 @@
7#include "common/logging/log.h" 7#include "common/logging/log.h"
8#include "common/string_util.h" 8#include "common/string_util.h"
9#include "core/core.h" 9#include "core/core.h"
10#include "core/hle/ipc_helpers.h"
11#include "core/hle/kernel/k_event.h" 10#include "core/hle/kernel/k_event.h"
12#include "core/hle/service/audio/audin_u.h" 11#include "core/hle/service/audio/audin_u.h"
12#include "core/hle/service/ipc_helpers.h"
13 13
14namespace Service::Audio { 14namespace Service::Audio {
15using namespace AudioCore::AudioIn; 15using namespace AudioCore::AudioIn;
@@ -61,7 +61,7 @@ public:
61 } 61 }
62 62
63private: 63private:
64 void GetAudioInState(Kernel::HLERequestContext& ctx) { 64 void GetAudioInState(HLERequestContext& ctx) {
65 const auto state = static_cast<u32>(impl->GetState()); 65 const auto state = static_cast<u32>(impl->GetState());
66 66
67 LOG_DEBUG(Service_Audio, "called. State={}", state); 67 LOG_DEBUG(Service_Audio, "called. State={}", state);
@@ -71,7 +71,7 @@ private:
71 rb.Push(state); 71 rb.Push(state);
72 } 72 }
73 73
74 void Start(Kernel::HLERequestContext& ctx) { 74 void Start(HLERequestContext& ctx) {
75 LOG_DEBUG(Service_Audio, "called"); 75 LOG_DEBUG(Service_Audio, "called");
76 76
77 auto result = impl->StartSystem(); 77 auto result = impl->StartSystem();
@@ -80,7 +80,7 @@ private:
80 rb.Push(result); 80 rb.Push(result);
81 } 81 }
82 82
83 void Stop(Kernel::HLERequestContext& ctx) { 83 void Stop(HLERequestContext& ctx) {
84 LOG_DEBUG(Service_Audio, "called"); 84 LOG_DEBUG(Service_Audio, "called");
85 85
86 auto result = impl->StopSystem(); 86 auto result = impl->StopSystem();
@@ -89,7 +89,7 @@ private:
89 rb.Push(result); 89 rb.Push(result);
90 } 90 }
91 91
92 void AppendAudioInBuffer(Kernel::HLERequestContext& ctx) { 92 void AppendAudioInBuffer(HLERequestContext& ctx) {
93 IPC::RequestParser rp{ctx}; 93 IPC::RequestParser rp{ctx};
94 u64 tag = rp.PopRaw<u64>(); 94 u64 tag = rp.PopRaw<u64>();
95 95
@@ -111,7 +111,7 @@ private:
111 rb.Push(result); 111 rb.Push(result);
112 } 112 }
113 113
114 void RegisterBufferEvent(Kernel::HLERequestContext& ctx) { 114 void RegisterBufferEvent(HLERequestContext& ctx) {
115 LOG_DEBUG(Service_Audio, "called"); 115 LOG_DEBUG(Service_Audio, "called");
116 116
117 auto& buffer_event = impl->GetBufferEvent(); 117 auto& buffer_event = impl->GetBufferEvent();
@@ -121,7 +121,7 @@ private:
121 rb.PushCopyObjects(buffer_event); 121 rb.PushCopyObjects(buffer_event);
122 } 122 }
123 123
124 void GetReleasedAudioInBuffer(Kernel::HLERequestContext& ctx) { 124 void GetReleasedAudioInBuffer(HLERequestContext& ctx) {
125 const auto write_buffer_size = ctx.GetWriteBufferNumElements<u64>(); 125 const auto write_buffer_size = ctx.GetWriteBufferNumElements<u64>();
126 std::vector<u64> released_buffers(write_buffer_size); 126 std::vector<u64> released_buffers(write_buffer_size);
127 127
@@ -141,7 +141,7 @@ private:
141 rb.Push(count); 141 rb.Push(count);
142 } 142 }
143 143
144 void ContainsAudioInBuffer(Kernel::HLERequestContext& ctx) { 144 void ContainsAudioInBuffer(HLERequestContext& ctx) {
145 IPC::RequestParser rp{ctx}; 145 IPC::RequestParser rp{ctx};
146 146
147 const u64 tag{rp.Pop<u64>()}; 147 const u64 tag{rp.Pop<u64>()};
@@ -154,7 +154,7 @@ private:
154 rb.Push(buffer_queued); 154 rb.Push(buffer_queued);
155 } 155 }
156 156
157 void GetAudioInBufferCount(Kernel::HLERequestContext& ctx) { 157 void GetAudioInBufferCount(HLERequestContext& ctx) {
158 const auto buffer_count = impl->GetBufferCount(); 158 const auto buffer_count = impl->GetBufferCount();
159 159
160 LOG_DEBUG(Service_Audio, "called. Buffer count={}", buffer_count); 160 LOG_DEBUG(Service_Audio, "called. Buffer count={}", buffer_count);
@@ -165,7 +165,7 @@ private:
165 rb.Push(buffer_count); 165 rb.Push(buffer_count);
166 } 166 }
167 167
168 void SetDeviceGain(Kernel::HLERequestContext& ctx) { 168 void SetDeviceGain(HLERequestContext& ctx) {
169 IPC::RequestParser rp{ctx}; 169 IPC::RequestParser rp{ctx};
170 170
171 const auto volume{rp.Pop<f32>()}; 171 const auto volume{rp.Pop<f32>()};
@@ -177,7 +177,7 @@ private:
177 rb.Push(ResultSuccess); 177 rb.Push(ResultSuccess);
178 } 178 }
179 179
180 void GetDeviceGain(Kernel::HLERequestContext& ctx) { 180 void GetDeviceGain(HLERequestContext& ctx) {
181 auto volume{impl->GetVolume()}; 181 auto volume{impl->GetVolume()};
182 182
183 LOG_DEBUG(Service_Audio, "called. Gain {}", volume); 183 LOG_DEBUG(Service_Audio, "called. Gain {}", volume);
@@ -187,7 +187,7 @@ private:
187 rb.Push(volume); 187 rb.Push(volume);
188 } 188 }
189 189
190 void FlushAudioInBuffers(Kernel::HLERequestContext& ctx) { 190 void FlushAudioInBuffers(HLERequestContext& ctx) {
191 bool flushed{impl->FlushAudioInBuffers()}; 191 bool flushed{impl->FlushAudioInBuffers()};
192 192
193 LOG_DEBUG(Service_Audio, "called. Were any buffers flushed? {}", flushed); 193 LOG_DEBUG(Service_Audio, "called. Were any buffers flushed? {}", flushed);
@@ -221,7 +221,7 @@ AudInU::AudInU(Core::System& system_)
221 221
222AudInU::~AudInU() = default; 222AudInU::~AudInU() = default;
223 223
224void AudInU::ListAudioIns(Kernel::HLERequestContext& ctx) { 224void AudInU::ListAudioIns(HLERequestContext& ctx) {
225 using namespace AudioCore::AudioRenderer; 225 using namespace AudioCore::AudioRenderer;
226 226
227 LOG_DEBUG(Service_Audio, "called"); 227 LOG_DEBUG(Service_Audio, "called");
@@ -241,7 +241,7 @@ void AudInU::ListAudioIns(Kernel::HLERequestContext& ctx) {
241 rb.Push(out_count); 241 rb.Push(out_count);
242} 242}
243 243
244void AudInU::ListAudioInsAutoFiltered(Kernel::HLERequestContext& ctx) { 244void AudInU::ListAudioInsAutoFiltered(HLERequestContext& ctx) {
245 using namespace AudioCore::AudioRenderer; 245 using namespace AudioCore::AudioRenderer;
246 246
247 LOG_DEBUG(Service_Audio, "called"); 247 LOG_DEBUG(Service_Audio, "called");
@@ -261,7 +261,7 @@ void AudInU::ListAudioInsAutoFiltered(Kernel::HLERequestContext& ctx) {
261 rb.Push(out_count); 261 rb.Push(out_count);
262} 262}
263 263
264void AudInU::OpenAudioIn(Kernel::HLERequestContext& ctx) { 264void AudInU::OpenAudioIn(HLERequestContext& ctx) {
265 IPC::RequestParser rp{ctx}; 265 IPC::RequestParser rp{ctx};
266 auto in_params{rp.PopRaw<AudioInParameter>()}; 266 auto in_params{rp.PopRaw<AudioInParameter>()};
267 auto applet_resource_user_id{rp.PopRaw<u64>()}; 267 auto applet_resource_user_id{rp.PopRaw<u64>()};
@@ -311,7 +311,7 @@ void AudInU::OpenAudioIn(Kernel::HLERequestContext& ctx) {
311 rb.PushIpcInterface<IAudioIn>(audio_in); 311 rb.PushIpcInterface<IAudioIn>(audio_in);
312} 312}
313 313
314void AudInU::OpenAudioInProtocolSpecified(Kernel::HLERequestContext& ctx) { 314void AudInU::OpenAudioInProtocolSpecified(HLERequestContext& ctx) {
315 IPC::RequestParser rp{ctx}; 315 IPC::RequestParser rp{ctx};
316 auto protocol_specified{rp.PopRaw<u64>()}; 316 auto protocol_specified{rp.PopRaw<u64>()};
317 auto in_params{rp.PopRaw<AudioInParameter>()}; 317 auto in_params{rp.PopRaw<AudioInParameter>()};
diff --git a/src/core/hle/service/audio/audin_u.h b/src/core/hle/service/audio/audin_u.h
index b45fda78a..51e770ff9 100644
--- a/src/core/hle/service/audio/audin_u.h
+++ b/src/core/hle/service/audio/audin_u.h
@@ -12,10 +12,6 @@ namespace Core {
12class System; 12class System;
13} 13}
14 14
15namespace Kernel {
16class HLERequestContext;
17}
18
19namespace AudioCore::AudioOut { 15namespace AudioCore::AudioOut {
20class Manager; 16class Manager;
21class In; 17class In;
@@ -29,11 +25,11 @@ public:
29 ~AudInU() override; 25 ~AudInU() override;
30 26
31private: 27private:
32 void ListAudioIns(Kernel::HLERequestContext& ctx); 28 void ListAudioIns(HLERequestContext& ctx);
33 void ListAudioInsAutoFiltered(Kernel::HLERequestContext& ctx); 29 void ListAudioInsAutoFiltered(HLERequestContext& ctx);
34 void OpenInOutImpl(Kernel::HLERequestContext& ctx); 30 void OpenInOutImpl(HLERequestContext& ctx);
35 void OpenAudioIn(Kernel::HLERequestContext& ctx); 31 void OpenAudioIn(HLERequestContext& ctx);
36 void OpenAudioInProtocolSpecified(Kernel::HLERequestContext& ctx); 32 void OpenAudioInProtocolSpecified(HLERequestContext& ctx);
37 33
38 KernelHelpers::ServiceContext service_context; 34 KernelHelpers::ServiceContext service_context;
39 std::unique_ptr<AudioCore::AudioIn::Manager> impl; 35 std::unique_ptr<AudioCore::AudioIn::Manager> impl;
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
index 991e30ba1..23b8be993 100644
--- a/src/core/hle/service/audio/audout_u.cpp
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -12,10 +12,10 @@
12#include "common/string_util.h" 12#include "common/string_util.h"
13#include "common/swap.h" 13#include "common/swap.h"
14#include "core/core.h" 14#include "core/core.h"
15#include "core/hle/ipc_helpers.h"
16#include "core/hle/kernel/k_event.h" 15#include "core/hle/kernel/k_event.h"
17#include "core/hle/service/audio/audout_u.h" 16#include "core/hle/service/audio/audout_u.h"
18#include "core/hle/service/audio/errors.h" 17#include "core/hle/service/audio/errors.h"
18#include "core/hle/service/ipc_helpers.h"
19#include "core/memory.h" 19#include "core/memory.h"
20 20
21namespace Service::Audio { 21namespace Service::Audio {
@@ -67,7 +67,7 @@ public:
67 } 67 }
68 68
69private: 69private:
70 void GetAudioOutState(Kernel::HLERequestContext& ctx) { 70 void GetAudioOutState(HLERequestContext& ctx) {
71 const auto state = static_cast<u32>(impl->GetState()); 71 const auto state = static_cast<u32>(impl->GetState());
72 72
73 LOG_DEBUG(Service_Audio, "called. State={}", state); 73 LOG_DEBUG(Service_Audio, "called. State={}", state);
@@ -77,7 +77,7 @@ private:
77 rb.Push(state); 77 rb.Push(state);
78 } 78 }
79 79
80 void Start(Kernel::HLERequestContext& ctx) { 80 void Start(HLERequestContext& ctx) {
81 LOG_DEBUG(Service_Audio, "called"); 81 LOG_DEBUG(Service_Audio, "called");
82 82
83 auto result = impl->StartSystem(); 83 auto result = impl->StartSystem();
@@ -86,7 +86,7 @@ private:
86 rb.Push(result); 86 rb.Push(result);
87 } 87 }
88 88
89 void Stop(Kernel::HLERequestContext& ctx) { 89 void Stop(HLERequestContext& ctx) {
90 LOG_DEBUG(Service_Audio, "called"); 90 LOG_DEBUG(Service_Audio, "called");
91 91
92 auto result = impl->StopSystem(); 92 auto result = impl->StopSystem();
@@ -95,7 +95,7 @@ private:
95 rb.Push(result); 95 rb.Push(result);
96 } 96 }
97 97
98 void AppendAudioOutBuffer(Kernel::HLERequestContext& ctx) { 98 void AppendAudioOutBuffer(HLERequestContext& ctx) {
99 IPC::RequestParser rp{ctx}; 99 IPC::RequestParser rp{ctx};
100 u64 tag = rp.PopRaw<u64>(); 100 u64 tag = rp.PopRaw<u64>();
101 101
@@ -117,7 +117,7 @@ private:
117 rb.Push(result); 117 rb.Push(result);
118 } 118 }
119 119
120 void RegisterBufferEvent(Kernel::HLERequestContext& ctx) { 120 void RegisterBufferEvent(HLERequestContext& ctx) {
121 LOG_DEBUG(Service_Audio, "called"); 121 LOG_DEBUG(Service_Audio, "called");
122 122
123 auto& buffer_event = impl->GetBufferEvent(); 123 auto& buffer_event = impl->GetBufferEvent();
@@ -127,7 +127,7 @@ private:
127 rb.PushCopyObjects(buffer_event); 127 rb.PushCopyObjects(buffer_event);
128 } 128 }
129 129
130 void GetReleasedAudioOutBuffers(Kernel::HLERequestContext& ctx) { 130 void GetReleasedAudioOutBuffers(HLERequestContext& ctx) {
131 const auto write_buffer_size = ctx.GetWriteBufferNumElements<u64>(); 131 const auto write_buffer_size = ctx.GetWriteBufferNumElements<u64>();
132 std::vector<u64> released_buffers(write_buffer_size); 132 std::vector<u64> released_buffers(write_buffer_size);
133 133
@@ -147,7 +147,7 @@ private:
147 rb.Push(count); 147 rb.Push(count);
148 } 148 }
149 149
150 void ContainsAudioOutBuffer(Kernel::HLERequestContext& ctx) { 150 void ContainsAudioOutBuffer(HLERequestContext& ctx) {
151 IPC::RequestParser rp{ctx}; 151 IPC::RequestParser rp{ctx};
152 152
153 const u64 tag{rp.Pop<u64>()}; 153 const u64 tag{rp.Pop<u64>()};
@@ -160,7 +160,7 @@ private:
160 rb.Push(buffer_queued); 160 rb.Push(buffer_queued);
161 } 161 }
162 162
163 void GetAudioOutBufferCount(Kernel::HLERequestContext& ctx) { 163 void GetAudioOutBufferCount(HLERequestContext& ctx) {
164 const auto buffer_count = impl->GetBufferCount(); 164 const auto buffer_count = impl->GetBufferCount();
165 165
166 LOG_DEBUG(Service_Audio, "called. Buffer count={}", buffer_count); 166 LOG_DEBUG(Service_Audio, "called. Buffer count={}", buffer_count);
@@ -171,7 +171,7 @@ private:
171 rb.Push(buffer_count); 171 rb.Push(buffer_count);
172 } 172 }
173 173
174 void GetAudioOutPlayedSampleCount(Kernel::HLERequestContext& ctx) { 174 void GetAudioOutPlayedSampleCount(HLERequestContext& ctx) {
175 const auto samples_played = impl->GetPlayedSampleCount(); 175 const auto samples_played = impl->GetPlayedSampleCount();
176 176
177 LOG_DEBUG(Service_Audio, "called. Played samples={}", samples_played); 177 LOG_DEBUG(Service_Audio, "called. Played samples={}", samples_played);
@@ -182,7 +182,7 @@ private:
182 rb.Push(samples_played); 182 rb.Push(samples_played);
183 } 183 }
184 184
185 void FlushAudioOutBuffers(Kernel::HLERequestContext& ctx) { 185 void FlushAudioOutBuffers(HLERequestContext& ctx) {
186 bool flushed{impl->FlushAudioOutBuffers()}; 186 bool flushed{impl->FlushAudioOutBuffers()};
187 187
188 LOG_DEBUG(Service_Audio, "called. Were any buffers flushed? {}", flushed); 188 LOG_DEBUG(Service_Audio, "called. Were any buffers flushed? {}", flushed);
@@ -192,7 +192,7 @@ private:
192 rb.Push(flushed); 192 rb.Push(flushed);
193 } 193 }
194 194
195 void SetAudioOutVolume(Kernel::HLERequestContext& ctx) { 195 void SetAudioOutVolume(HLERequestContext& ctx) {
196 IPC::RequestParser rp{ctx}; 196 IPC::RequestParser rp{ctx};
197 const auto volume = rp.Pop<f32>(); 197 const auto volume = rp.Pop<f32>();
198 198
@@ -204,7 +204,7 @@ private:
204 rb.Push(ResultSuccess); 204 rb.Push(ResultSuccess);
205 } 205 }
206 206
207 void GetAudioOutVolume(Kernel::HLERequestContext& ctx) { 207 void GetAudioOutVolume(HLERequestContext& ctx) {
208 const auto volume = impl->GetVolume(); 208 const auto volume = impl->GetVolume();
209 209
210 LOG_DEBUG(Service_Audio, "called. Volume={}", volume); 210 LOG_DEBUG(Service_Audio, "called. Volume={}", volume);
@@ -236,7 +236,7 @@ AudOutU::AudOutU(Core::System& system_)
236 236
237AudOutU::~AudOutU() = default; 237AudOutU::~AudOutU() = default;
238 238
239void AudOutU::ListAudioOuts(Kernel::HLERequestContext& ctx) { 239void AudOutU::ListAudioOuts(HLERequestContext& ctx) {
240 using namespace AudioCore::AudioRenderer; 240 using namespace AudioCore::AudioRenderer;
241 241
242 std::scoped_lock l{impl->mutex}; 242 std::scoped_lock l{impl->mutex};
@@ -258,7 +258,7 @@ void AudOutU::ListAudioOuts(Kernel::HLERequestContext& ctx) {
258 rb.Push<u32>(static_cast<u32>(device_names.size())); 258 rb.Push<u32>(static_cast<u32>(device_names.size()));
259} 259}
260 260
261void AudOutU::OpenAudioOut(Kernel::HLERequestContext& ctx) { 261void AudOutU::OpenAudioOut(HLERequestContext& ctx) {
262 IPC::RequestParser rp{ctx}; 262 IPC::RequestParser rp{ctx};
263 auto in_params{rp.PopRaw<AudioOutParameter>()}; 263 auto in_params{rp.PopRaw<AudioOutParameter>()};
264 auto applet_resource_user_id{rp.PopRaw<u64>()}; 264 auto applet_resource_user_id{rp.PopRaw<u64>()};
diff --git a/src/core/hle/service/audio/audout_u.h b/src/core/hle/service/audio/audout_u.h
index fdc0ee754..8f288c6e0 100644
--- a/src/core/hle/service/audio/audout_u.h
+++ b/src/core/hle/service/audio/audout_u.h
@@ -12,10 +12,6 @@ namespace Core {
12class System; 12class System;
13} 13}
14 14
15namespace Kernel {
16class HLERequestContext;
17}
18
19namespace AudioCore::AudioOut { 15namespace AudioCore::AudioOut {
20class Manager; 16class Manager;
21class Out; 17class Out;
@@ -31,8 +27,8 @@ public:
31 ~AudOutU() override; 27 ~AudOutU() override;
32 28
33private: 29private:
34 void ListAudioOuts(Kernel::HLERequestContext& ctx); 30 void ListAudioOuts(HLERequestContext& ctx);
35 void OpenAudioOut(Kernel::HLERequestContext& ctx); 31 void OpenAudioOut(HLERequestContext& ctx);
36 32
37 KernelHelpers::ServiceContext service_context; 33 KernelHelpers::ServiceContext service_context;
38 std::unique_ptr<AudioCore::AudioOut::Manager> impl; 34 std::unique_ptr<AudioCore::AudioOut::Manager> impl;
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp
index 6c12f00a1..0a6830ffa 100644
--- a/src/core/hle/service/audio/audren_u.cpp
+++ b/src/core/hle/service/audio/audren_u.cpp
@@ -17,12 +17,12 @@
17#include "common/polyfill_ranges.h" 17#include "common/polyfill_ranges.h"
18#include "common/string_util.h" 18#include "common/string_util.h"
19#include "core/core.h" 19#include "core/core.h"
20#include "core/hle/ipc_helpers.h"
21#include "core/hle/kernel/k_event.h" 20#include "core/hle/kernel/k_event.h"
22#include "core/hle/kernel/k_process.h" 21#include "core/hle/kernel/k_process.h"
23#include "core/hle/kernel/k_transfer_memory.h" 22#include "core/hle/kernel/k_transfer_memory.h"
24#include "core/hle/service/audio/audren_u.h" 23#include "core/hle/service/audio/audren_u.h"
25#include "core/hle/service/audio/errors.h" 24#include "core/hle/service/audio/errors.h"
25#include "core/hle/service/ipc_helpers.h"
26#include "core/memory.h" 26#include "core/memory.h"
27 27
28using namespace AudioCore::AudioRenderer; 28using namespace AudioCore::AudioRenderer;
@@ -68,7 +68,7 @@ public:
68 } 68 }
69 69
70private: 70private:
71 void GetSampleRate(Kernel::HLERequestContext& ctx) { 71 void GetSampleRate(HLERequestContext& ctx) {
72 const auto sample_rate{impl->GetSystem().GetSampleRate()}; 72 const auto sample_rate{impl->GetSystem().GetSampleRate()};
73 73
74 LOG_DEBUG(Service_Audio, "called. Sample rate {}", sample_rate); 74 LOG_DEBUG(Service_Audio, "called. Sample rate {}", sample_rate);
@@ -78,7 +78,7 @@ private:
78 rb.Push(sample_rate); 78 rb.Push(sample_rate);
79 } 79 }
80 80
81 void GetSampleCount(Kernel::HLERequestContext& ctx) { 81 void GetSampleCount(HLERequestContext& ctx) {
82 const auto sample_count{impl->GetSystem().GetSampleCount()}; 82 const auto sample_count{impl->GetSystem().GetSampleCount()};
83 83
84 LOG_DEBUG(Service_Audio, "called. Sample count {}", sample_count); 84 LOG_DEBUG(Service_Audio, "called. Sample count {}", sample_count);
@@ -88,7 +88,7 @@ private:
88 rb.Push(sample_count); 88 rb.Push(sample_count);
89 } 89 }
90 90
91 void GetState(Kernel::HLERequestContext& ctx) { 91 void GetState(HLERequestContext& ctx) {
92 const u32 state{!impl->GetSystem().IsActive()}; 92 const u32 state{!impl->GetSystem().IsActive()};
93 93
94 LOG_DEBUG(Service_Audio, "called, state {}", state); 94 LOG_DEBUG(Service_Audio, "called, state {}", state);
@@ -98,7 +98,7 @@ private:
98 rb.Push(state); 98 rb.Push(state);
99 } 99 }
100 100
101 void GetMixBufferCount(Kernel::HLERequestContext& ctx) { 101 void GetMixBufferCount(HLERequestContext& ctx) {
102 LOG_DEBUG(Service_Audio, "called"); 102 LOG_DEBUG(Service_Audio, "called");
103 103
104 const auto buffer_count{impl->GetSystem().GetMixBufferCount()}; 104 const auto buffer_count{impl->GetSystem().GetMixBufferCount()};
@@ -108,7 +108,7 @@ private:
108 rb.Push(buffer_count); 108 rb.Push(buffer_count);
109 } 109 }
110 110
111 void RequestUpdate(Kernel::HLERequestContext& ctx) { 111 void RequestUpdate(HLERequestContext& ctx) {
112 LOG_TRACE(Service_Audio, "called"); 112 LOG_TRACE(Service_Audio, "called");
113 113
114 const auto input{ctx.ReadBuffer(0)}; 114 const auto input{ctx.ReadBuffer(0)};
@@ -147,7 +147,7 @@ private:
147 rb.Push(result); 147 rb.Push(result);
148 } 148 }
149 149
150 void Start(Kernel::HLERequestContext& ctx) { 150 void Start(HLERequestContext& ctx) {
151 LOG_DEBUG(Service_Audio, "called"); 151 LOG_DEBUG(Service_Audio, "called");
152 152
153 impl->Start(); 153 impl->Start();
@@ -156,7 +156,7 @@ private:
156 rb.Push(ResultSuccess); 156 rb.Push(ResultSuccess);
157 } 157 }
158 158
159 void Stop(Kernel::HLERequestContext& ctx) { 159 void Stop(HLERequestContext& ctx) {
160 LOG_DEBUG(Service_Audio, "called"); 160 LOG_DEBUG(Service_Audio, "called");
161 161
162 impl->Stop(); 162 impl->Stop();
@@ -165,7 +165,7 @@ private:
165 rb.Push(ResultSuccess); 165 rb.Push(ResultSuccess);
166 } 166 }
167 167
168 void QuerySystemEvent(Kernel::HLERequestContext& ctx) { 168 void QuerySystemEvent(HLERequestContext& ctx) {
169 LOG_DEBUG(Service_Audio, "called"); 169 LOG_DEBUG(Service_Audio, "called");
170 170
171 if (impl->GetSystem().GetExecutionMode() == AudioCore::ExecutionMode::Manual) { 171 if (impl->GetSystem().GetExecutionMode() == AudioCore::ExecutionMode::Manual) {
@@ -179,7 +179,7 @@ private:
179 rb.PushCopyObjects(rendered_event->GetReadableEvent()); 179 rb.PushCopyObjects(rendered_event->GetReadableEvent());
180 } 180 }
181 181
182 void SetRenderingTimeLimit(Kernel::HLERequestContext& ctx) { 182 void SetRenderingTimeLimit(HLERequestContext& ctx) {
183 LOG_DEBUG(Service_Audio, "called"); 183 LOG_DEBUG(Service_Audio, "called");
184 184
185 IPC::RequestParser rp{ctx}; 185 IPC::RequestParser rp{ctx};
@@ -192,7 +192,7 @@ private:
192 rb.Push(ResultSuccess); 192 rb.Push(ResultSuccess);
193 } 193 }
194 194
195 void GetRenderingTimeLimit(Kernel::HLERequestContext& ctx) { 195 void GetRenderingTimeLimit(HLERequestContext& ctx) {
196 LOG_DEBUG(Service_Audio, "called"); 196 LOG_DEBUG(Service_Audio, "called");
197 197
198 auto& system_ = impl->GetSystem(); 198 auto& system_ = impl->GetSystem();
@@ -203,11 +203,11 @@ private:
203 rb.Push(time); 203 rb.Push(time);
204 } 204 }
205 205
206 void ExecuteAudioRendererRendering(Kernel::HLERequestContext& ctx) { 206 void ExecuteAudioRendererRendering(HLERequestContext& ctx) {
207 LOG_DEBUG(Service_Audio, "called"); 207 LOG_DEBUG(Service_Audio, "called");
208 } 208 }
209 209
210 void SetVoiceDropParameter(Kernel::HLERequestContext& ctx) { 210 void SetVoiceDropParameter(HLERequestContext& ctx) {
211 LOG_DEBUG(Service_Audio, "called"); 211 LOG_DEBUG(Service_Audio, "called");
212 212
213 IPC::RequestParser rp{ctx}; 213 IPC::RequestParser rp{ctx};
@@ -220,7 +220,7 @@ private:
220 rb.Push(ResultSuccess); 220 rb.Push(ResultSuccess);
221 } 221 }
222 222
223 void GetVoiceDropParameter(Kernel::HLERequestContext& ctx) { 223 void GetVoiceDropParameter(HLERequestContext& ctx) {
224 LOG_DEBUG(Service_Audio, "called"); 224 LOG_DEBUG(Service_Audio, "called");
225 225
226 auto& system_ = impl->GetSystem(); 226 auto& system_ = impl->GetSystem();
@@ -271,7 +271,7 @@ public:
271 } 271 }
272 272
273private: 273private:
274 void ListAudioDeviceName(Kernel::HLERequestContext& ctx) { 274 void ListAudioDeviceName(HLERequestContext& ctx) {
275 const size_t in_count = ctx.GetWriteBufferNumElements<AudioDevice::AudioDeviceName>(); 275 const size_t in_count = ctx.GetWriteBufferNumElements<AudioDevice::AudioDeviceName>();
276 276
277 std::vector<AudioDevice::AudioDeviceName> out_names{}; 277 std::vector<AudioDevice::AudioDeviceName> out_names{};
@@ -299,7 +299,7 @@ private:
299 rb.Push(out_count); 299 rb.Push(out_count);
300 } 300 }
301 301
302 void SetAudioDeviceOutputVolume(Kernel::HLERequestContext& ctx) { 302 void SetAudioDeviceOutputVolume(HLERequestContext& ctx) {
303 IPC::RequestParser rp{ctx}; 303 IPC::RequestParser rp{ctx};
304 const f32 volume = rp.Pop<f32>(); 304 const f32 volume = rp.Pop<f32>();
305 305
@@ -316,7 +316,7 @@ private:
316 rb.Push(ResultSuccess); 316 rb.Push(ResultSuccess);
317 } 317 }
318 318
319 void GetAudioDeviceOutputVolume(Kernel::HLERequestContext& ctx) { 319 void GetAudioDeviceOutputVolume(HLERequestContext& ctx) {
320 const auto device_name_buffer = ctx.ReadBuffer(); 320 const auto device_name_buffer = ctx.ReadBuffer();
321 const std::string name = Common::StringFromBuffer(device_name_buffer); 321 const std::string name = Common::StringFromBuffer(device_name_buffer);
322 322
@@ -332,7 +332,7 @@ private:
332 rb.Push(volume); 332 rb.Push(volume);
333 } 333 }
334 334
335 void GetActiveAudioDeviceName(Kernel::HLERequestContext& ctx) { 335 void GetActiveAudioDeviceName(HLERequestContext& ctx) {
336 const auto write_size = ctx.GetWriteBufferSize(); 336 const auto write_size = ctx.GetWriteBufferSize();
337 std::string out_name{"AudioTvOutput"}; 337 std::string out_name{"AudioTvOutput"};
338 338
@@ -346,7 +346,7 @@ private:
346 rb.Push(ResultSuccess); 346 rb.Push(ResultSuccess);
347 } 347 }
348 348
349 void QueryAudioDeviceSystemEvent(Kernel::HLERequestContext& ctx) { 349 void QueryAudioDeviceSystemEvent(HLERequestContext& ctx) {
350 LOG_DEBUG(Service_Audio, "(STUBBED) called"); 350 LOG_DEBUG(Service_Audio, "(STUBBED) called");
351 351
352 event->Signal(); 352 event->Signal();
@@ -356,7 +356,7 @@ private:
356 rb.PushCopyObjects(event->GetReadableEvent()); 356 rb.PushCopyObjects(event->GetReadableEvent());
357 } 357 }
358 358
359 void GetActiveChannelCount(Kernel::HLERequestContext& ctx) { 359 void GetActiveChannelCount(HLERequestContext& ctx) {
360 const auto& sink{system.AudioCore().GetOutputSink()}; 360 const auto& sink{system.AudioCore().GetOutputSink()};
361 u32 channel_count{sink.GetDeviceChannels()}; 361 u32 channel_count{sink.GetDeviceChannels()};
362 362
@@ -368,7 +368,7 @@ private:
368 rb.Push<u32>(channel_count); 368 rb.Push<u32>(channel_count);
369 } 369 }
370 370
371 void QueryAudioDeviceInputEvent(Kernel::HLERequestContext& ctx) { 371 void QueryAudioDeviceInputEvent(HLERequestContext& ctx) {
372 LOG_DEBUG(Service_Audio, "(STUBBED) called"); 372 LOG_DEBUG(Service_Audio, "(STUBBED) called");
373 373
374 IPC::ResponseBuilder rb{ctx, 2, 1}; 374 IPC::ResponseBuilder rb{ctx, 2, 1};
@@ -376,7 +376,7 @@ private:
376 rb.PushCopyObjects(event->GetReadableEvent()); 376 rb.PushCopyObjects(event->GetReadableEvent());
377 } 377 }
378 378
379 void QueryAudioDeviceOutputEvent(Kernel::HLERequestContext& ctx) { 379 void QueryAudioDeviceOutputEvent(HLERequestContext& ctx) {
380 LOG_DEBUG(Service_Audio, "called"); 380 LOG_DEBUG(Service_Audio, "called");
381 381
382 IPC::ResponseBuilder rb{ctx, 2, 1}; 382 IPC::ResponseBuilder rb{ctx, 2, 1};
@@ -384,7 +384,7 @@ private:
384 rb.PushCopyObjects(event->GetReadableEvent()); 384 rb.PushCopyObjects(event->GetReadableEvent());
385 } 385 }
386 386
387 void ListAudioOutputDeviceName(Kernel::HLERequestContext& ctx) { 387 void ListAudioOutputDeviceName(HLERequestContext& ctx) {
388 const size_t in_count = ctx.GetWriteBufferNumElements<AudioDevice::AudioDeviceName>(); 388 const size_t in_count = ctx.GetWriteBufferNumElements<AudioDevice::AudioDeviceName>();
389 389
390 std::vector<AudioDevice::AudioDeviceName> out_names{}; 390 std::vector<AudioDevice::AudioDeviceName> out_names{};
@@ -435,7 +435,7 @@ AudRenU::AudRenU(Core::System& system_)
435 435
436AudRenU::~AudRenU() = default; 436AudRenU::~AudRenU() = default;
437 437
438void AudRenU::OpenAudioRenderer(Kernel::HLERequestContext& ctx) { 438void AudRenU::OpenAudioRenderer(HLERequestContext& ctx) {
439 IPC::RequestParser rp{ctx}; 439 IPC::RequestParser rp{ctx};
440 440
441 AudioCore::AudioRendererParameterInternal params; 441 AudioCore::AudioRendererParameterInternal params;
@@ -475,7 +475,7 @@ void AudRenU::OpenAudioRenderer(Kernel::HLERequestContext& ctx) {
475 applet_resource_user_id, session_id); 475 applet_resource_user_id, session_id);
476} 476}
477 477
478void AudRenU::GetWorkBufferSize(Kernel::HLERequestContext& ctx) { 478void AudRenU::GetWorkBufferSize(HLERequestContext& ctx) {
479 AudioCore::AudioRendererParameterInternal params; 479 AudioCore::AudioRendererParameterInternal params;
480 480
481 IPC::RequestParser rp{ctx}; 481 IPC::RequestParser rp{ctx};
@@ -506,7 +506,7 @@ void AudRenU::GetWorkBufferSize(Kernel::HLERequestContext& ctx) {
506 rb.Push<u64>(size); 506 rb.Push<u64>(size);
507} 507}
508 508
509void AudRenU::GetAudioDeviceService(Kernel::HLERequestContext& ctx) { 509void AudRenU::GetAudioDeviceService(HLERequestContext& ctx) {
510 IPC::RequestParser rp{ctx}; 510 IPC::RequestParser rp{ctx};
511 511
512 const auto applet_resource_user_id = rp.Pop<u64>(); 512 const auto applet_resource_user_id = rp.Pop<u64>();
@@ -520,11 +520,11 @@ void AudRenU::GetAudioDeviceService(Kernel::HLERequestContext& ctx) {
520 ::Common::MakeMagic('R', 'E', 'V', '1'), num_audio_devices++); 520 ::Common::MakeMagic('R', 'E', 'V', '1'), num_audio_devices++);
521} 521}
522 522
523void AudRenU::OpenAudioRendererForManualExecution(Kernel::HLERequestContext& ctx) { 523void AudRenU::OpenAudioRendererForManualExecution(HLERequestContext& ctx) {
524 LOG_DEBUG(Service_Audio, "called"); 524 LOG_DEBUG(Service_Audio, "called");
525} 525}
526 526
527void AudRenU::GetAudioDeviceServiceWithRevisionInfo(Kernel::HLERequestContext& ctx) { 527void AudRenU::GetAudioDeviceServiceWithRevisionInfo(HLERequestContext& ctx) {
528 struct Parameters { 528 struct Parameters {
529 u32 revision; 529 u32 revision;
530 u64 applet_resource_user_id; 530 u64 applet_resource_user_id;
diff --git a/src/core/hle/service/audio/audren_u.h b/src/core/hle/service/audio/audren_u.h
index 4384a9b3c..24ce37e87 100644
--- a/src/core/hle/service/audio/audren_u.h
+++ b/src/core/hle/service/audio/audren_u.h
@@ -11,10 +11,6 @@ namespace Core {
11class System; 11class System;
12} 12}
13 13
14namespace Kernel {
15class HLERequestContext;
16}
17
18namespace Service::Audio { 14namespace Service::Audio {
19class IAudioRenderer; 15class IAudioRenderer;
20 16
@@ -24,11 +20,11 @@ public:
24 ~AudRenU() override; 20 ~AudRenU() override;
25 21
26private: 22private:
27 void OpenAudioRenderer(Kernel::HLERequestContext& ctx); 23 void OpenAudioRenderer(HLERequestContext& ctx);
28 void GetWorkBufferSize(Kernel::HLERequestContext& ctx); 24 void GetWorkBufferSize(HLERequestContext& ctx);
29 void GetAudioDeviceService(Kernel::HLERequestContext& ctx); 25 void GetAudioDeviceService(HLERequestContext& ctx);
30 void OpenAudioRendererForManualExecution(Kernel::HLERequestContext& ctx); 26 void OpenAudioRendererForManualExecution(HLERequestContext& ctx);
31 void GetAudioDeviceServiceWithRevisionInfo(Kernel::HLERequestContext& ctx); 27 void GetAudioDeviceServiceWithRevisionInfo(HLERequestContext& ctx);
32 28
33 KernelHelpers::ServiceContext service_context; 29 KernelHelpers::ServiceContext service_context;
34 std::unique_ptr<AudioCore::AudioRenderer::Manager> impl; 30 std::unique_ptr<AudioCore::AudioRenderer::Manager> impl;
diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp
index 3db3fe188..451ac224a 100644
--- a/src/core/hle/service/audio/hwopus.cpp
+++ b/src/core/hle/service/audio/hwopus.cpp
@@ -11,8 +11,8 @@
11 11
12#include "common/assert.h" 12#include "common/assert.h"
13#include "common/logging/log.h" 13#include "common/logging/log.h"
14#include "core/hle/ipc_helpers.h"
15#include "core/hle/service/audio/hwopus.h" 14#include "core/hle/service/audio/hwopus.h"
15#include "core/hle/service/ipc_helpers.h"
16 16
17namespace Service::Audio { 17namespace Service::Audio {
18namespace { 18namespace {
@@ -53,7 +53,7 @@ public:
53 53
54 // Decodes interleaved Opus packets. Optionally allows reporting time taken to 54 // Decodes interleaved Opus packets. Optionally allows reporting time taken to
55 // perform the decoding, as well as any relevant extra behavior. 55 // perform the decoding, as well as any relevant extra behavior.
56 void DecodeInterleaved(Kernel::HLERequestContext& ctx, PerfTime perf_time, 56 void DecodeInterleaved(HLERequestContext& ctx, PerfTime perf_time,
57 ExtraBehavior extra_behavior) { 57 ExtraBehavior extra_behavior) {
58 if (perf_time == PerfTime::Disabled) { 58 if (perf_time == PerfTime::Disabled) {
59 DecodeInterleavedHelper(ctx, nullptr, extra_behavior); 59 DecodeInterleavedHelper(ctx, nullptr, extra_behavior);
@@ -64,7 +64,7 @@ public:
64 } 64 }
65 65
66private: 66private:
67 void DecodeInterleavedHelper(Kernel::HLERequestContext& ctx, u64* performance, 67 void DecodeInterleavedHelper(HLERequestContext& ctx, u64* performance,
68 ExtraBehavior extra_behavior) { 68 ExtraBehavior extra_behavior) {
69 u32 consumed = 0; 69 u32 consumed = 0;
70 u32 sample_count = 0; 70 u32 sample_count = 0;
@@ -180,21 +180,21 @@ public:
180 } 180 }
181 181
182private: 182private:
183 void DecodeInterleavedOld(Kernel::HLERequestContext& ctx) { 183 void DecodeInterleavedOld(HLERequestContext& ctx) {
184 LOG_DEBUG(Audio, "called"); 184 LOG_DEBUG(Audio, "called");
185 185
186 decoder_state.DecodeInterleaved(ctx, OpusDecoderState::PerfTime::Disabled, 186 decoder_state.DecodeInterleaved(ctx, OpusDecoderState::PerfTime::Disabled,
187 OpusDecoderState::ExtraBehavior::None); 187 OpusDecoderState::ExtraBehavior::None);
188 } 188 }
189 189
190 void DecodeInterleavedWithPerfOld(Kernel::HLERequestContext& ctx) { 190 void DecodeInterleavedWithPerfOld(HLERequestContext& ctx) {
191 LOG_DEBUG(Audio, "called"); 191 LOG_DEBUG(Audio, "called");
192 192
193 decoder_state.DecodeInterleaved(ctx, OpusDecoderState::PerfTime::Enabled, 193 decoder_state.DecodeInterleaved(ctx, OpusDecoderState::PerfTime::Enabled,
194 OpusDecoderState::ExtraBehavior::None); 194 OpusDecoderState::ExtraBehavior::None);
195 } 195 }
196 196
197 void DecodeInterleaved(Kernel::HLERequestContext& ctx) { 197 void DecodeInterleaved(HLERequestContext& ctx) {
198 LOG_DEBUG(Audio, "called"); 198 LOG_DEBUG(Audio, "called");
199 199
200 IPC::RequestParser rp{ctx}; 200 IPC::RequestParser rp{ctx};
@@ -231,7 +231,7 @@ std::array<u8, 2> CreateMappingTable(u32 channel_count) {
231} 231}
232} // Anonymous namespace 232} // Anonymous namespace
233 233
234void HwOpus::GetWorkBufferSize(Kernel::HLERequestContext& ctx) { 234void HwOpus::GetWorkBufferSize(HLERequestContext& ctx) {
235 IPC::RequestParser rp{ctx}; 235 IPC::RequestParser rp{ctx};
236 const auto sample_rate = rp.Pop<u32>(); 236 const auto sample_rate = rp.Pop<u32>();
237 const auto channel_count = rp.Pop<u32>(); 237 const auto channel_count = rp.Pop<u32>();
@@ -251,11 +251,11 @@ void HwOpus::GetWorkBufferSize(Kernel::HLERequestContext& ctx) {
251 rb.Push<u32>(worker_buffer_sz); 251 rb.Push<u32>(worker_buffer_sz);
252} 252}
253 253
254void HwOpus::GetWorkBufferSizeEx(Kernel::HLERequestContext& ctx) { 254void HwOpus::GetWorkBufferSizeEx(HLERequestContext& ctx) {
255 GetWorkBufferSize(ctx); 255 GetWorkBufferSize(ctx);
256} 256}
257 257
258void HwOpus::GetWorkBufferSizeForMultiStreamEx(Kernel::HLERequestContext& ctx) { 258void HwOpus::GetWorkBufferSizeForMultiStreamEx(HLERequestContext& ctx) {
259 OpusMultiStreamParametersEx param; 259 OpusMultiStreamParametersEx param;
260 std::memcpy(&param, ctx.ReadBuffer().data(), ctx.GetReadBufferSize()); 260 std::memcpy(&param, ctx.ReadBuffer().data(), ctx.GetReadBufferSize());
261 261
@@ -281,7 +281,7 @@ void HwOpus::GetWorkBufferSizeForMultiStreamEx(Kernel::HLERequestContext& ctx) {
281 rb.Push<u32>(worker_buffer_sz); 281 rb.Push<u32>(worker_buffer_sz);
282} 282}
283 283
284void HwOpus::OpenHardwareOpusDecoder(Kernel::HLERequestContext& ctx) { 284void HwOpus::OpenHardwareOpusDecoder(HLERequestContext& ctx) {
285 IPC::RequestParser rp{ctx}; 285 IPC::RequestParser rp{ctx};
286 const auto sample_rate = rp.Pop<u32>(); 286 const auto sample_rate = rp.Pop<u32>();
287 const auto channel_count = rp.Pop<u32>(); 287 const auto channel_count = rp.Pop<u32>();
@@ -319,7 +319,7 @@ void HwOpus::OpenHardwareOpusDecoder(Kernel::HLERequestContext& ctx) {
319 system, OpusDecoderState{std::move(decoder), sample_rate, channel_count}); 319 system, OpusDecoderState{std::move(decoder), sample_rate, channel_count});
320} 320}
321 321
322void HwOpus::OpenHardwareOpusDecoderEx(Kernel::HLERequestContext& ctx) { 322void HwOpus::OpenHardwareOpusDecoderEx(HLERequestContext& ctx) {
323 IPC::RequestParser rp{ctx}; 323 IPC::RequestParser rp{ctx};
324 const auto sample_rate = rp.Pop<u32>(); 324 const auto sample_rate = rp.Pop<u32>();
325 const auto channel_count = rp.Pop<u32>(); 325 const auto channel_count = rp.Pop<u32>();
diff --git a/src/core/hle/service/audio/hwopus.h b/src/core/hle/service/audio/hwopus.h
index e6092e290..ece65c02c 100644
--- a/src/core/hle/service/audio/hwopus.h
+++ b/src/core/hle/service/audio/hwopus.h
@@ -27,11 +27,11 @@ public:
27 ~HwOpus() override; 27 ~HwOpus() override;
28 28
29private: 29private:
30 void OpenHardwareOpusDecoder(Kernel::HLERequestContext& ctx); 30 void OpenHardwareOpusDecoder(HLERequestContext& ctx);
31 void OpenHardwareOpusDecoderEx(Kernel::HLERequestContext& ctx); 31 void OpenHardwareOpusDecoderEx(HLERequestContext& ctx);
32 void GetWorkBufferSize(Kernel::HLERequestContext& ctx); 32 void GetWorkBufferSize(HLERequestContext& ctx);
33 void GetWorkBufferSizeEx(Kernel::HLERequestContext& ctx); 33 void GetWorkBufferSizeEx(HLERequestContext& ctx);
34 void GetWorkBufferSizeForMultiStreamEx(Kernel::HLERequestContext& ctx); 34 void GetWorkBufferSizeForMultiStreamEx(HLERequestContext& ctx);
35}; 35};
36 36
37} // namespace Service::Audio 37} // namespace Service::Audio