forked from eden-emu/eden
		
	service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax()
These two service functions are literally hardcoded to always return these values without any other error checking.
This commit is contained in:
		
							parent
							
								
									26cbd2fc3d
								
							
						
					
					
						commit
						f408606b79
					
				
					 2 changed files with 32 additions and 2 deletions
				
			
		|  | @ -2,6 +2,8 @@ | ||||||
| // Licensed under GPLv2 or any later version
 | // Licensed under GPLv2 or any later version
 | ||||||
| // Refer to the license.txt file included.
 | // 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" | #include "core/hle/service/audio/audctl.h" | ||||||
| 
 | 
 | ||||||
| namespace Service::Audio { | namespace Service::Audio { | ||||||
|  | @ -11,8 +13,8 @@ AudCtl::AudCtl() : ServiceFramework{"audctl"} { | ||||||
|     static const FunctionInfo functions[] = { |     static const FunctionInfo functions[] = { | ||||||
|         {0, nullptr, "GetTargetVolume"}, |         {0, nullptr, "GetTargetVolume"}, | ||||||
|         {1, nullptr, "SetTargetVolume"}, |         {1, nullptr, "SetTargetVolume"}, | ||||||
|         {2, nullptr, "GetTargetVolumeMin"}, |         {2, &AudCtl::GetTargetVolumeMin, "GetTargetVolumeMin"}, | ||||||
|         {3, nullptr, "GetTargetVolumeMax"}, |         {3, &AudCtl::GetTargetVolumeMax, "GetTargetVolumeMax"}, | ||||||
|         {4, nullptr, "IsTargetMute"}, |         {4, nullptr, "IsTargetMute"}, | ||||||
|         {5, nullptr, "SetTargetMute"}, |         {5, nullptr, "SetTargetMute"}, | ||||||
|         {6, nullptr, "IsTargetConnected"}, |         {6, nullptr, "IsTargetConnected"}, | ||||||
|  | @ -44,4 +46,28 @@ AudCtl::AudCtl() : ServiceFramework{"audctl"} { | ||||||
| 
 | 
 | ||||||
| AudCtl::~AudCtl() = default; | 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
 | } // namespace Service::Audio
 | ||||||
|  |  | ||||||
|  | @ -12,6 +12,10 @@ class AudCtl final : public ServiceFramework<AudCtl> { | ||||||
| public: | public: | ||||||
|     explicit AudCtl(); |     explicit AudCtl(); | ||||||
|     ~AudCtl() override; |     ~AudCtl() override; | ||||||
|  | 
 | ||||||
|  | private: | ||||||
|  |     void GetTargetVolumeMin(Kernel::HLERequestContext& ctx); | ||||||
|  |     void GetTargetVolumeMax(Kernel::HLERequestContext& ctx); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| } // namespace Service::Audio
 | } // namespace Service::Audio
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash