diff options
| author | emmauss <emmausssss@gmail.com> | 2018-10-07 18:12:11 +0300 |
|---|---|---|
| committer | Thomas Guillemard <thog@protonmail.com> | 2018-10-07 17:12:11 +0200 |
| commit | 625fc8c0e0f7a10bbdabe86f9cc86b16d1a62be3 (patch) | |
| tree | a0f8d488a0b918226460a738689ca7c005cbfbba /Ryujinx.HLE/HOS/Services/Aud/AudioRenderer | |
| parent | caa181edf2c956a1433d3c2f8678231af52f9dad (diff) | |
Stubs Again (#439)
* stub/implement audren commands
* stub ISelfController get/set IdleTimeDetectonExtension
* stub irs
* add irs logclass, stub mmu:u irequest 1
* style fixes, addressed comments
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Aud/AudioRenderer')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs index 85f82622..13225951 100644 --- a/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs +++ b/Ryujinx.HLE/HOS/Services/Aud/AudioRenderer/IAudioRenderer.cs @@ -38,6 +38,8 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer private int Track; + private PlayState PlayState; + public IAudioRenderer( Horizon System, AMemory Memory, @@ -46,6 +48,10 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer { m_Commands = new Dictionary<int, ServiceProcessRequest>() { + { 0, GetSampleRate }, + { 1, GetSampleCount }, + { 2, GetMixBufferCount }, + { 3, GetState }, { 4, RequestUpdateAudioRenderer }, { 5, StartAudioRenderer }, { 6, StopAudioRenderer }, @@ -68,6 +74,42 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer Voices = CreateArray<VoiceContext>(Params.VoiceCount); InitializeAudioOut(); + + PlayState = PlayState.Stopped; + } + + // GetSampleRate() -> u32 + public long GetSampleRate(ServiceCtx Context) + { + Context.ResponseData.Write(Params.SampleRate); + + return 0; + } + + // GetSampleCount() -> u32 + public long GetSampleCount(ServiceCtx Context) + { + Context.ResponseData.Write(Params.SampleCount); + + return 0; + } + + // GetMixBufferCount() -> u32 + public long GetMixBufferCount(ServiceCtx Context) + { + Context.ResponseData.Write(Params.MixCount); + + return 0; + } + + // GetState() -> u32 + private long GetState(ServiceCtx Context) + { + Context.ResponseData.Write((int)PlayState); + + Context.Device.Log.PrintStub(LogClass.ServiceAudio, $"Stubbed. Renderer State: {Enum.GetName(typeof(PlayState), PlayState)}"); + + return 0; } private void AudioCallback() @@ -206,6 +248,8 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer { Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); + PlayState = PlayState.Playing; + return 0; } @@ -213,6 +257,8 @@ namespace Ryujinx.HLE.HOS.Services.Aud.AudioRenderer { Context.Device.Log.PrintStub(LogClass.ServiceAudio, "Stubbed."); + PlayState = PlayState.Stopped; + return 0; } |
