aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk/Audio/Detail/IFinalOutputRecorder.cs
blob: be21c38b7e10f1805b9a681f45ec08552e97abb8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Sf;
using System;

namespace Ryujinx.Horizon.Sdk.Audio.Detail
{
    interface IFinalOutputRecorder : IServiceObject
    {
        Result GetFinalOutputRecorderState(out uint state);
        Result Start();
        Result Stop();
        Result AppendFinalOutputRecorderBuffer(ReadOnlySpan<byte> buffer, ulong bufferClientPtr);
        Result RegisterBufferEvent(out int eventHandle);
        Result GetReleasedFinalOutputRecorderBuffers(Span<byte> buffer, out uint count, out ulong released);
        Result ContainsFinalOutputRecorderBuffer(ulong bufferPointer, out bool contains);
        Result GetFinalOutputRecorderBufferEndTime(ulong bufferPointer, out ulong released);
        Result AppendFinalOutputRecorderBufferAuto(ReadOnlySpan<byte> buffer, ulong bufferClientPtr);
        Result GetReleasedFinalOutputRecorderBuffersAuto(Span<byte> buffer, out uint count, out ulong released);
        Result FlushFinalOutputRecorderBuffers(out bool pending);
        Result AttachWorkBuffer(FinalOutputRecorderParameterInternal parameter);
    }
}