|
|
@@ -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
|