2014-03-08 02:15:39 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
2015-01-11 03:46:10 +04:00
|
|
|
#include "Emu/Audio/AudioThread.h"
|
2016-03-18 14:13:52 +00:00
|
|
|
#include "3rdparty/OpenAL/include/alext.h"
|
2014-03-08 02:15:39 +03:00
|
|
|
|
2015-01-11 03:46:10 +04:00
|
|
|
class OpenALThread : public AudioThread
|
2014-03-08 02:15:39 +03:00
|
|
|
{
|
|
|
|
|
private:
|
2016-02-02 00:51:35 +03:00
|
|
|
static const uint g_al_buffers_count = 24;
|
2014-03-13 02:26:53 +02:00
|
|
|
|
2017-04-09 23:43:53 +03:00
|
|
|
ALint m_format;
|
2014-03-13 02:26:53 +02:00
|
|
|
ALuint m_source;
|
|
|
|
|
ALuint m_buffers[g_al_buffers_count];
|
2014-04-27 20:17:22 -07:00
|
|
|
ALsizei m_buffer_size;
|
2014-03-08 02:15:39 +03:00
|
|
|
|
|
|
|
|
public:
|
2016-02-02 00:51:35 +03:00
|
|
|
OpenALThread();
|
|
|
|
|
virtual ~OpenALThread() override;
|
2014-03-10 00:44:12 +10:00
|
|
|
|
2016-02-02 00:51:35 +03:00
|
|
|
virtual void Play() override;
|
|
|
|
|
virtual void Open(const void* src, int size) override;
|
|
|
|
|
virtual void Close() override;
|
|
|
|
|
virtual void Stop() override;
|
|
|
|
|
virtual void AddData(const void* src, int size) override;
|
2015-01-16 20:09:53 +03:00
|
|
|
};
|