IAudioIn.cs 872 B

12345678910111213141516171819202122232425262728293031323334
  1. using Ryujinx.Audio.Common;
  2. using Ryujinx.HLE.HOS.Kernel.Threading;
  3. using System;
  4. namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
  5. {
  6. interface IAudioIn : IDisposable
  7. {
  8. AudioDeviceState GetState();
  9. ResultCode Start();
  10. ResultCode Stop();
  11. ResultCode AppendBuffer(ulong bufferTag, ref AudioUserBuffer buffer);
  12. // NOTE: This is broken by design... not quite sure what it's used for (if anything in production).
  13. ResultCode AppendUacBuffer(ulong bufferTag, ref AudioUserBuffer buffer, uint handle);
  14. KEvent RegisterBufferEvent();
  15. ResultCode GetReleasedBuffers(Span<ulong> releasedBuffers, out uint releasedCount);
  16. bool ContainsBuffer(ulong bufferTag);
  17. uint GetBufferCount();
  18. bool FlushBuffers();
  19. void SetVolume(float volume);
  20. float GetVolume();
  21. }
  22. }