diff options
| author | 2023-12-24 19:20:43 -0500 | |
|---|---|---|
| committer | 2023-12-24 19:20:43 -0500 | |
| commit | 5165ed9efd6e6593b969ce560c952e074f4d9e06 (patch) | |
| tree | 59966aa2ac0bd9186f7358af41f3888cbf89ec16 /src/core/hle/service/audio | |
| parent | Merge pull request #12394 from liamwhite/per-process-memory (diff) | |
| download | yuzu-5165ed9efd6e6593b969ce560c952e074f4d9e06.tar.gz yuzu-5165ed9efd6e6593b969ce560c952e074f4d9e06.tar.xz yuzu-5165ed9efd6e6593b969ce560c952e074f4d9e06.zip | |
service: fetch objects from the client handle table
Diffstat (limited to 'src/core/hle/service/audio')
| -rw-r--r-- | src/core/hle/service/audio/audren_u.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/service/audio/hwopus.cpp | 16 |
2 files changed, 6 insertions, 16 deletions
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp index 23e56c77a..bd4ca753b 100644 --- a/src/core/hle/service/audio/audren_u.cpp +++ b/src/core/hle/service/audio/audren_u.cpp | |||
| @@ -454,10 +454,8 @@ void AudRenU::OpenAudioRenderer(HLERequestContext& ctx) { | |||
| 454 | return; | 454 | return; |
| 455 | } | 455 | } |
| 456 | 456 | ||
| 457 | const auto& handle_table{system.ApplicationProcess()->GetHandleTable()}; | 457 | auto process{ctx.GetObjectFromHandle<Kernel::KProcess>(process_handle)}; |
| 458 | auto process{handle_table.GetObject<Kernel::KProcess>(process_handle)}; | 458 | auto transfer_memory{ctx.GetObjectFromHandle<Kernel::KTransferMemory>(transfer_memory_handle)}; |
| 459 | auto transfer_memory{ | ||
| 460 | process->GetHandleTable().GetObject<Kernel::KTransferMemory>(transfer_memory_handle)}; | ||
| 461 | 459 | ||
| 462 | const auto session_id{impl->GetSessionId()}; | 460 | const auto session_id{impl->GetSessionId()}; |
| 463 | if (session_id == -1) { | 461 | if (session_id == -1) { |
diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp index 6a7bf9416..91f33aabd 100644 --- a/src/core/hle/service/audio/hwopus.cpp +++ b/src/core/hle/service/audio/hwopus.cpp | |||
| @@ -278,9 +278,7 @@ void HwOpus::OpenHardwareOpusDecoder(HLERequestContext& ctx) { | |||
| 278 | auto params = rp.PopRaw<OpusParameters>(); | 278 | auto params = rp.PopRaw<OpusParameters>(); |
| 279 | auto transfer_memory_size{rp.Pop<u32>()}; | 279 | auto transfer_memory_size{rp.Pop<u32>()}; |
| 280 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; | 280 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; |
| 281 | auto transfer_memory{ | 281 | auto transfer_memory{ctx.GetObjectFromHandle<Kernel::KTransferMemory>(transfer_memory_handle)}; |
| 282 | system.ApplicationProcess()->GetHandleTable().GetObject<Kernel::KTransferMemory>( | ||
| 283 | transfer_memory_handle)}; | ||
| 284 | 282 | ||
| 285 | LOG_DEBUG(Service_Audio, "sample_rate {} channel_count {} transfer_memory_size 0x{:X}", | 283 | LOG_DEBUG(Service_Audio, "sample_rate {} channel_count {} transfer_memory_size 0x{:X}", |
| 286 | params.sample_rate, params.channel_count, transfer_memory_size); | 284 | params.sample_rate, params.channel_count, transfer_memory_size); |
| @@ -323,9 +321,7 @@ void HwOpus::OpenHardwareOpusDecoderForMultiStream(HLERequestContext& ctx) { | |||
| 323 | 321 | ||
| 324 | auto transfer_memory_size{rp.Pop<u32>()}; | 322 | auto transfer_memory_size{rp.Pop<u32>()}; |
| 325 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; | 323 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; |
| 326 | auto transfer_memory{ | 324 | auto transfer_memory{ctx.GetObjectFromHandle<Kernel::KTransferMemory>(transfer_memory_handle)}; |
| 327 | system.ApplicationProcess()->GetHandleTable().GetObject<Kernel::KTransferMemory>( | ||
| 328 | transfer_memory_handle)}; | ||
| 329 | 325 | ||
| 330 | LOG_DEBUG(Service_Audio, | 326 | LOG_DEBUG(Service_Audio, |
| 331 | "sample_rate {} channel_count {} total_stream_count {} stereo_stream_count {} " | 327 | "sample_rate {} channel_count {} total_stream_count {} stereo_stream_count {} " |
| @@ -374,9 +370,7 @@ void HwOpus::OpenHardwareOpusDecoderEx(HLERequestContext& ctx) { | |||
| 374 | auto params = rp.PopRaw<OpusParametersEx>(); | 370 | auto params = rp.PopRaw<OpusParametersEx>(); |
| 375 | auto transfer_memory_size{rp.Pop<u32>()}; | 371 | auto transfer_memory_size{rp.Pop<u32>()}; |
| 376 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; | 372 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; |
| 377 | auto transfer_memory{ | 373 | auto transfer_memory{ctx.GetObjectFromHandle<Kernel::KTransferMemory>(transfer_memory_handle)}; |
| 378 | system.ApplicationProcess()->GetHandleTable().GetObject<Kernel::KTransferMemory>( | ||
| 379 | transfer_memory_handle)}; | ||
| 380 | 374 | ||
| 381 | LOG_DEBUG(Service_Audio, "sample_rate {} channel_count {} transfer_memory_size 0x{:X}", | 375 | LOG_DEBUG(Service_Audio, "sample_rate {} channel_count {} transfer_memory_size 0x{:X}", |
| 382 | params.sample_rate, params.channel_count, transfer_memory_size); | 376 | params.sample_rate, params.channel_count, transfer_memory_size); |
| @@ -414,9 +408,7 @@ void HwOpus::OpenHardwareOpusDecoderForMultiStreamEx(HLERequestContext& ctx) { | |||
| 414 | 408 | ||
| 415 | auto transfer_memory_size{rp.Pop<u32>()}; | 409 | auto transfer_memory_size{rp.Pop<u32>()}; |
| 416 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; | 410 | auto transfer_memory_handle{ctx.GetCopyHandle(0)}; |
| 417 | auto transfer_memory{ | 411 | auto transfer_memory{ctx.GetObjectFromHandle<Kernel::KTransferMemory>(transfer_memory_handle)}; |
| 418 | system.ApplicationProcess()->GetHandleTable().GetObject<Kernel::KTransferMemory>( | ||
| 419 | transfer_memory_handle)}; | ||
| 420 | 412 | ||
| 421 | LOG_DEBUG(Service_Audio, | 413 | LOG_DEBUG(Service_Audio, |
| 422 | "sample_rate {} channel_count {} total_stream_count {} stereo_stream_count {} " | 414 | "sample_rate {} channel_count {} total_stream_count {} stereo_stream_count {} " |