diff options
author | bunnei <bunneidev@gmail.com> | 2019-04-23 04:12:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-23 04:12:48 +0200 |
commit | 9cab042674369c7a410e93a243a9b8ceea575252 (patch) | |
tree | e635e5f4248226b8c1e6087fb10fbf4ec17ba987 | |
parent | Merge pull request #2403 from FernandoS27/compressed-linear (diff) | |
parent | service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax() (diff) | |
download | yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar.gz yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar.bz2 yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar.lz yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar.xz yuzu-9cab042674369c7a410e93a243a9b8ceea575252.tar.zst yuzu-9cab042674369c7a410e93a243a9b8ceea575252.zip |
-rw-r--r-- | src/core/hle/service/audio/audctl.cpp | 30 | ||||
-rw-r--r-- | src/core/hle/service/audio/audctl.h | 4 |
2 files changed, 32 insertions, 2 deletions
diff --git a/src/core/hle/service/audio/audctl.cpp b/src/core/hle/service/audio/audctl.cpp index b6b71f966..f43e512e9 100644 --- a/src/core/hle/service/audio/audctl.cpp +++ b/src/core/hle/service/audio/audctl.cpp @@ -2,6 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include "common/logging/log.h" +#include "core/hle/ipc_helpers.h" #include "core/hle/service/audio/audctl.h" namespace Service::Audio { @@ -11,8 +13,8 @@ AudCtl::AudCtl() : ServiceFramework{"audctl"} { static const FunctionInfo functions[] = { {0, nullptr, "GetTargetVolume"}, {1, nullptr, "SetTargetVolume"}, - {2, nullptr, "GetTargetVolumeMin"}, - {3, nullptr, "GetTargetVolumeMax"}, + {2, &AudCtl::GetTargetVolumeMin, "GetTargetVolumeMin"}, + {3, &AudCtl::GetTargetVolumeMax, "GetTargetVolumeMax"}, {4, nullptr, "IsTargetMute"}, {5, nullptr, "SetTargetMute"}, {6, nullptr, "IsTargetConnected"}, @@ -44,4 +46,28 @@ AudCtl::AudCtl() : ServiceFramework{"audctl"} { AudCtl::~AudCtl() = default; +void AudCtl::GetTargetVolumeMin(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Audio, "called."); + + // This service function is currently hardcoded on the + // actual console to this value (as of 6.0.0). + constexpr s32 target_min_volume = 0; + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(target_min_volume); +} + +void AudCtl::GetTargetVolumeMax(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Audio, "called."); + + // This service function is currently hardcoded on the + // actual console to this value (as of 6.0.0). + constexpr s32 target_max_volume = 15; + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(target_max_volume); +} + } // namespace Service::Audio diff --git a/src/core/hle/service/audio/audctl.h b/src/core/hle/service/audio/audctl.h index 9d2d9e83b..c7fafc02e 100644 --- a/src/core/hle/service/audio/audctl.h +++ b/src/core/hle/service/audio/audctl.h @@ -12,6 +12,10 @@ class AudCtl final : public ServiceFramework<AudCtl> { public: explicit AudCtl(); ~AudCtl() override; + +private: + void GetTargetVolumeMin(Kernel::HLERequestContext& ctx); + void GetTargetVolumeMax(Kernel::HLERequestContext& ctx); }; } // namespace Service::Audio |