瀏覽代碼

Update IAudioDeviceService.cs (#87)

* Update IAudioDeviceService.cs

Stubs:
- QueryAudioDeviceSystemEvent
- GetActiveChannelCount

* Update IAudioDeviceService.cs

* Update IAudioDeviceService.cs
Ac_K 8 年之前
父節點
當前提交
7450b9d68a
共有 1 個文件被更改,包括 32 次插入3 次删除
  1. 32 3
      Ryujinx.Core/OsHle/Services/Aud/IAudioDeviceService.cs

+ 32 - 3
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<int, ServiceProcessRequest> Commands => m_Commands;
 
+        private KEvent SystemEvent;
+
         public IAudioDeviceService()
         {
             m_Commands = new Dictionary<int, ServiceProcessRequest>()
             {
-                { 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;
+        }
     }
-}
+}