2014-03-08 00:15:39 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2015-01-11 00:46:10 +01:00
|
|
|
#include "Emu/Audio/AudioThread.h"
|
2016-03-18 15:13:52 +01:00
|
|
|
#include "3rdparty/OpenAL/include/alext.h"
|
2014-03-08 00:15:39 +01:00
|
|
|
|
2015-01-11 00:46:10 +01:00
|
|
|
class OpenALThread : public AudioThread
|
2014-03-08 00:15:39 +01:00
|
|
|
{
|
|
|
|
|
private:
|
2016-02-01 22:51:35 +01:00
|
|
|
static const uint g_al_buffers_count = 24;
|
2014-03-13 01:26:53 +01:00
|
|
|
|
2017-04-09 22:43:53 +02:00
|
|
|
ALint m_format;
|
2014-03-13 01:26:53 +01:00
|
|
|
ALuint m_source;
|
|
|
|
|
ALuint m_buffers[g_al_buffers_count];
|
2014-04-28 05:17:22 +02:00
|
|
|
ALsizei m_buffer_size;
|
2014-03-08 00:15:39 +01:00
|
|
|
|
|
|
|
|
public:
|
2016-02-01 22:51:35 +01:00
|
|
|
OpenALThread();
|
|
|
|
|
virtual ~OpenALThread() override;
|
2014-03-09 15:44:12 +01:00
|
|
|
|
2016-02-01 22:51:35 +01: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 18:09:53 +01:00
|
|
|
};
|