IAudioOut.cs 710 B

123456789101112131415161718192021222324252627282930313233
  1. using Ryujinx.Audio.Common;
  2. using Ryujinx.HLE.HOS.Kernel.Threading;
  3. using System;
  4. namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
  5. {
  6. interface IAudioOut : IDisposable
  7. {
  8. AudioDeviceState GetState();
  9. ResultCode Start();
  10. ResultCode Stop();
  11. ResultCode AppendBuffer(ulong bufferTag, ref AudioUserBuffer buffer);
  12. KEvent RegisterBufferEvent();
  13. ResultCode GetReleasedBuffers(Span<ulong> releasedBuffers, out uint releasedCount);
  14. bool ContainsBuffer(ulong bufferTag);
  15. uint GetBufferCount();
  16. ulong GetPlayedSampleCount();
  17. bool FlushBuffers();
  18. void SetVolume(float volume);
  19. float GetVolume();
  20. }
  21. }