1
1
mirror of https://github.com/ryujinx-mirror/ryujinx.git synced 2025-09-08 18:46:26 -05:00
Files
ryujinx/src/Ryujinx.Horizon/Sdk/Audio/Detail/IAudioOut.cs
gdkchan d4d0a48bfe Migrate Audio service to new IPC (#6285)
* Migrate audren to new IPC

* Migrate audout

* Migrate audin

* Migrate hwopus

* Bye bye old audio service

* Switch volume control to IHardwareDeviceDriver

* Somewhat unrelated changes

* Remove Concentus reference from HLE

* Implement OpenAudioRendererForManualExecution

* Remove SetVolume/GetVolume methods that are not necessary

* Remove SetVolume/GetVolume methods that are not necessary (2)

* Fix incorrect volume update

* PR feedback

* PR feedback

* Stub audrec

* Init outParameter

* Make FinalOutputRecorderParameter/Internal readonly

* Make FinalOutputRecorder IDisposable

* Fix HardwareOpusDecoderManager parameter buffers

* Opus work buffer size and error handling improvements

* Add AudioInProtocolName enum

* Fix potential divisions by zero
2024-02-22 16:58:33 -03:00

26 lines
1.1 KiB
C#

using Ryujinx.Audio.Common;
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Sf;
using System;
namespace Ryujinx.Horizon.Sdk.Audio.Detail
{
interface IAudioOut : IServiceObject
{
Result GetAudioOutState(out AudioDeviceState state);
Result Start();
Result Stop();
Result AppendAudioOutBuffer(ulong bufferTag, ReadOnlySpan<AudioUserBuffer> buffer);
Result RegisterBufferEvent(out int eventHandle);
Result GetReleasedAudioOutBuffers(out uint count, Span<ulong> bufferTags);
Result ContainsAudioOutBuffer(out bool contains, ulong bufferTag);
Result AppendAudioOutBufferAuto(ulong bufferTag, ReadOnlySpan<AudioUserBuffer> buffer);
Result GetReleasedAudioOutBuffersAuto(out uint count, Span<ulong> bufferTags);
Result GetAudioOutBufferCount(out uint bufferCount);
Result GetAudioOutPlayedSampleCount(out ulong sampleCount);
Result FlushAudioOutBuffers(out bool pending);
Result SetAudioOutVolume(float volume);
Result GetAudioOutVolume(out float volume);
}
}