aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/IAalOutput.cs
blob: 489f90028e6ea91cd964a72b8d4665694414488e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;

namespace Ryujinx.Audio
{
    public interface IAalOutput : IDisposable
    {
        int OpenTrack(int sampleRate, int channels, ReleaseCallback callback);

        void CloseTrack(int trackId);

        bool ContainsBuffer(int trackId, long bufferTag);

        long[] GetReleasedBuffers(int trackId, int maxCount);

        void AppendBuffer<T>(int trackId, long bufferTag, T[] buffer)  where T : struct;

        void Start(int trackId);

        void Stop(int trackId);

        float GetVolume();

        void SetVolume(float volume);

        PlaybackState GetState(int trackId);
    }
}