From b3e47b571241d8795d6f81c1ddcdc6268fc60f9e Mon Sep 17 00:00:00 2001 From: Ac_K Date: Fri, 16 Feb 2018 03:19:29 +0100 Subject: [PATCH] Update new informations in IAudioOut (#19) * Update new informations in IAudioOut * Update IAudioOut.cs --- Ryujinx/OsHle/Objects/Aud/IAudioOut.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Ryujinx/OsHle/Objects/Aud/IAudioOut.cs b/Ryujinx/OsHle/Objects/Aud/IAudioOut.cs index 5feb67d89e..9e55e30e8f 100644 --- a/Ryujinx/OsHle/Objects/Aud/IAudioOut.cs +++ b/Ryujinx/OsHle/Objects/Aud/IAudioOut.cs @@ -101,17 +101,17 @@ namespace Ryujinx.OsHle.Objects.Aud KeysQueue.Enqueue(BufferId); - byte[] AudioOutBuffer = AMemoryHelper.ReadBytes(Context.Memory, Context.Request.SendBuff[0].Position, 0x28); + byte[] AudioOutBuffer = AMemoryHelper.ReadBytes(Context.Memory, Context.Request.SendBuff[0].Position, sizeof(long) * 5); using (MemoryStream MS = new MemoryStream(AudioOutBuffer)) { BinaryReader Reader = new BinaryReader(MS); - long PointerToSampleDataPointer = Reader.ReadInt64(); - long PointerToSampleData = Reader.ReadInt64(); - long CapacitySampleBuffer = Reader.ReadInt64(); - long SizeDataSampleBuffer = Reader.ReadInt64(); - long Unknown = Reader.ReadInt64(); + long PointerNextBuffer = Reader.ReadInt64(); + long PointerSampleBuffer = Reader.ReadInt64(); + long CapacitySampleBuffer = Reader.ReadInt64(); + long SizeDataInSampleBuffer = Reader.ReadInt64(); + long OffsetDataInSampleBuffer = Reader.ReadInt64(); - byte[] AudioSampleBuffer = AMemoryHelper.ReadBytes(Context.Memory, PointerToSampleData, (int)SizeDataSampleBuffer); + byte[] AudioSampleBuffer = AMemoryHelper.ReadBytes(Context.Memory, PointerSampleBuffer + OffsetDataInSampleBuffer, (int)SizeDataInSampleBuffer); if (OpenALInstalled) { @@ -145,8 +145,9 @@ namespace Ryujinx.OsHle.Objects.Aud if (KeysQueue.Count > 0) TempKey = KeysQueue.Dequeue(); AMemoryHelper.WriteBytes(Context.Memory, Context.Request.ReceiveBuff[0].Position, BitConverter.GetBytes(TempKey)); - - Context.ResponseData.Write((int)TempKey); + + int ReleasedBuffersCount = 1; + Context.ResponseData.Write(ReleasedBuffersCount); if (OpenALInstalled) {