From 7450b9d68adbabc48bc59efec9df45f029781658 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Wed, 18 Apr 2018 01:52:20 +0000 Subject: [PATCH] Update IAudioDeviceService.cs (#87) * Update IAudioDeviceService.cs Stubs: - QueryAudioDeviceSystemEvent - GetActiveChannelCount * Update IAudioDeviceService.cs * Update IAudioDeviceService.cs --- .../OsHle/Services/Aud/IAudioDeviceService.cs | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Core/OsHle/Services/Aud/IAudioDeviceService.cs b/Ryujinx.Core/OsHle/Services/Aud/IAudioDeviceService.cs index 59fc4dd0..c89bd2d2 100644 --- a/Ryujinx.Core/OsHle/Services/Aud/IAudioDeviceService.cs +++ b/Ryujinx.Core/OsHle/Services/Aud/IAudioDeviceService.cs @@ -1,4 +1,5 @@ using ChocolArm64.Memory; +using Ryujinx.Core.OsHle.Handles; using Ryujinx.Core.OsHle.Ipc; using System.Collections.Generic; using System.Text; @@ -11,13 +12,21 @@ namespace Ryujinx.Core.OsHle.Services.Aud public override IReadOnlyDictionary Commands => m_Commands; + private KEvent SystemEvent; + public IAudioDeviceService() { m_Commands = new Dictionary() { - { 0, ListAudioDeviceName }, - { 1, SetAudioDeviceOutputVolume }, + { 0, ListAudioDeviceName }, + { 1, SetAudioDeviceOutputVolume }, + { 4, QueryAudioDeviceSystemEvent }, + { 5, GetActiveChannelCount } }; + + SystemEvent = new KEvent(); + //TODO: We shouldn't be signaling this here. + SystemEvent.Handle.Set(); } public long ListAudioDeviceName(ServiceCtx Context) @@ -61,5 +70,25 @@ namespace Ryujinx.Core.OsHle.Services.Aud return 0; } + + public long QueryAudioDeviceSystemEvent(ServiceCtx Context) + { + int Handle = Context.Process.HandleTable.OpenHandle(SystemEvent); + + Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle); + + Logging.Stub(LogClass.ServiceAudio, "Stubbed"); + + return 0; + } + + public long GetActiveChannelCount(ServiceCtx Context) + { + Context.ResponseData.Write(2); + + Logging.Stub(LogClass.ServiceAudio, "Stubbed"); + + return 0; + } } -} \ No newline at end of file +}