Mesen-SX/Core/IAudioDevice.h

29 lines
567 B
C
Raw Normal View History

#pragma once
#include "stdafx.h"
struct AudioStatistics
{
double AverageLatency = 0;
uint32_t BufferUnderrunEventCount = 0;
uint32_t BufferSize = 0;
};
class IAudioDevice
{
public:
2020-12-19 23:30:09 +03:00
virtual ~IAudioDevice()
{
}
virtual void PlayBuffer(int16_t* soundBuffer, uint32_t bufferSize, uint32_t sampleRate, bool isStereo) = 0;
virtual void Stop() = 0;
virtual void Pause() = 0;
virtual void ProcessEndOfFrame() = 0;
virtual string GetAvailableDevices() = 0;
virtual void SetAudioDevice(string deviceName) = 0;
virtual AudioStatistics GetStatistics() = 0;
2020-12-19 23:30:09 +03:00
};