Play-/Source/ui_libretro/SH_LibreAudio.h

27 lines
485 B
C
Raw Permalink Normal View History

2019-12-31 21:02:35 +01:00
#pragma once
2019-06-27 18:39:42 +01:00
#include "tools/PsfPlayer/Source/SoundHandler.h"
2019-12-31 21:02:35 +01:00
#include <deque>
#include <vector>
2019-07-08 20:06:21 +01:00
#include <mutex>
2019-06-27 18:39:42 +01:00
class CSH_LibreAudio : public CSoundHandler
2019-12-31 21:02:35 +01:00
{
public:
CSH_LibreAudio() = default;
2019-06-27 18:39:42 +01:00
static CSoundHandler* HandlerFactory();
2019-12-31 21:02:35 +01:00
2019-06-27 18:39:42 +01:00
void Reset() override;
void Write(int16*, unsigned int, unsigned int) override;
bool HasFreeBuffers() override;
void RecycleBuffers() override;
void ProcessBuffer();
private:
std::vector<int16> m_buffer;
2019-07-08 20:06:21 +01:00
std::mutex m_buffer_lock;
2019-12-31 21:02:35 +01:00
};