#pragma once #include "tools/PsfPlayer/Source/SoundHandler.h" #include #include #include class CSH_LibreAudio : public CSoundHandler { public: CSH_LibreAudio() = default; static CSoundHandler* HandlerFactory(); void Reset() override; void Write(int16*, unsigned int, unsigned int) override; bool HasFreeBuffers() override; void RecycleBuffers() override; void ProcessBuffer(); private: std::vector m_buffer; std::mutex m_buffer_lock; };