IAudioRendererManager.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Ryujinx.Core.OsHle.Ipc;
  2. using System.Collections.Generic;
  3. namespace Ryujinx.Core.OsHle.Services.Aud
  4. {
  5. class IAudioRendererManager : IpcService
  6. {
  7. private Dictionary<int, ServiceProcessRequest> m_Commands;
  8. public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands;
  9. public IAudioRendererManager()
  10. {
  11. m_Commands = new Dictionary<int, ServiceProcessRequest>()
  12. {
  13. { 0, OpenAudioRenderer },
  14. { 1, GetAudioRendererWorkBufferSize },
  15. { 2, GetAudioDevice }
  16. };
  17. }
  18. public long OpenAudioRenderer(ServiceCtx Context)
  19. {
  20. MakeObject(Context, new IAudioRenderer());
  21. return 0;
  22. }
  23. public long GetAudioRendererWorkBufferSize(ServiceCtx Context)
  24. {
  25. int SampleRate = Context.RequestData.ReadInt32();
  26. int Unknown4 = Context.RequestData.ReadInt32();
  27. int Unknown8 = Context.RequestData.ReadInt32();
  28. int UnknownC = Context.RequestData.ReadInt32();
  29. int Unknown10 = Context.RequestData.ReadInt32();
  30. int Unknown14 = Context.RequestData.ReadInt32();
  31. int Unknown18 = Context.RequestData.ReadInt32();
  32. int Unknown1c = Context.RequestData.ReadInt32();
  33. int Unknown20 = Context.RequestData.ReadInt32();
  34. int Unknown24 = Context.RequestData.ReadInt32();
  35. int Unknown28 = Context.RequestData.ReadInt32();
  36. int Unknown2c = Context.RequestData.ReadInt32();
  37. int Rev1Magic = Context.RequestData.ReadInt32();
  38. Context.ResponseData.Write(0x400L);
  39. return 0;
  40. }
  41. public long GetAudioDevice(ServiceCtx Context)
  42. {
  43. long UserId = Context.RequestData.ReadInt64();
  44. MakeObject(Context, new IAudioDevice());
  45. return 0;
  46. }
  47. }
  48. }