|
|
|
@ -22,13 +22,13 @@ AudCtl::AudCtl(Core::System& system_) : ServiceFramework{system_, "audctl"} { |
|
|
|
{9, nullptr, "GetAudioOutputMode"}, |
|
|
|
{10, nullptr, "SetAudioOutputMode"}, |
|
|
|
{11, nullptr, "SetForceMutePolicy"}, |
|
|
|
{12, nullptr, "GetForceMutePolicy"}, |
|
|
|
{13, nullptr, "GetOutputModeSetting"}, |
|
|
|
{12, &AudCtl::GetForceMutePolicy, "GetForceMutePolicy"}, |
|
|
|
{13, &AudCtl::GetOutputModeSetting, "GetOutputModeSetting"}, |
|
|
|
{14, nullptr, "SetOutputModeSetting"}, |
|
|
|
{15, nullptr, "SetOutputTarget"}, |
|
|
|
{16, nullptr, "SetInputTargetForceEnabled"}, |
|
|
|
{17, nullptr, "SetHeadphoneOutputLevelMode"}, |
|
|
|
{18, nullptr, "GetHeadphoneOutputLevelMode"}, |
|
|
|
{18, &AudCtl::GetHeadphoneOutputLevelMode, "GetHeadphoneOutputLevelMode"}, |
|
|
|
{19, nullptr, "AcquireAudioVolumeUpdateEventForPlayReport"}, |
|
|
|
{20, nullptr, "AcquireAudioOutputDeviceUpdateEventForPlayReport"}, |
|
|
|
{21, nullptr, "GetAudioOutputTargetForPlayReport"}, |
|
|
|
@ -41,7 +41,7 @@ AudCtl::AudCtl(Core::System& system_) : ServiceFramework{system_, "audctl"} { |
|
|
|
{28, nullptr, "GetAudioOutputChannelCountForPlayReport"}, |
|
|
|
{29, nullptr, "BindAudioOutputChannelCountUpdateEventForPlayReport"}, |
|
|
|
{30, nullptr, "SetSpeakerAutoMuteEnabled"}, |
|
|
|
{31, nullptr, "IsSpeakerAutoMuteEnabled"}, |
|
|
|
{31, &AudCtl::IsSpeakerAutoMuteEnabled, "IsSpeakerAutoMuteEnabled"}, |
|
|
|
{32, nullptr, "GetActiveOutputTarget"}, |
|
|
|
{33, nullptr, "GetTargetDeviceInfo"}, |
|
|
|
{34, nullptr, "AcquireTargetNotification"}, |
|
|
|
@ -96,4 +96,42 @@ void AudCtl::GetTargetVolumeMax(HLERequestContext& ctx) { |
|
|
|
rb.Push(target_max_volume); |
|
|
|
} |
|
|
|
|
|
|
|
void AudCtl::GetForceMutePolicy(HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Audio, "(STUBBED) called"); |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 3}; |
|
|
|
rb.Push(ResultSuccess); |
|
|
|
rb.PushEnum(ForceMutePolicy::Disable); |
|
|
|
} |
|
|
|
|
|
|
|
void AudCtl::GetOutputModeSetting(HLERequestContext& ctx) { |
|
|
|
IPC::RequestParser rp{ctx}; |
|
|
|
const auto value = rp.Pop<u32>(); |
|
|
|
|
|
|
|
LOG_WARNING(Audio, "(STUBBED) called, value={}", value); |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 3}; |
|
|
|
rb.Push(ResultSuccess); |
|
|
|
rb.PushEnum(AudioOutputMode::PcmAuto); |
|
|
|
} |
|
|
|
|
|
|
|
void AudCtl::GetHeadphoneOutputLevelMode(HLERequestContext& ctx) { |
|
|
|
LOG_WARNING(Audio, "(STUBBED) called"); |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 3}; |
|
|
|
rb.Push(ResultSuccess); |
|
|
|
rb.PushEnum(HeadphoneOutputLevelMode::Normal); |
|
|
|
} |
|
|
|
|
|
|
|
void AudCtl::IsSpeakerAutoMuteEnabled(HLERequestContext& ctx) { |
|
|
|
const bool is_speaker_auto_mute_enabled = false; |
|
|
|
|
|
|
|
LOG_WARNING(Audio, "(STUBBED) called, is_speaker_auto_mute_enabled={}", |
|
|
|
is_speaker_auto_mute_enabled); |
|
|
|
|
|
|
|
IPC::ResponseBuilder rb{ctx, 3}; |
|
|
|
rb.Push(ResultSuccess); |
|
|
|
rb.Push<u8>(is_speaker_auto_mute_enabled); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Service::Audio
|