2014-03-08 02:15:39 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
2015-01-11 03:46:10 +04:00
|
|
|
#include "Emu/Audio/AudioThread.h"
|
2014-05-25 01:38:29 +04:00
|
|
|
#include "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:
|
2014-03-13 02:26:53 +02:00
|
|
|
static const uint g_al_buffers_count = 16;
|
|
|
|
|
|
|
|
|
|
ALuint m_source;
|
|
|
|
|
ALuint m_buffers[g_al_buffers_count];
|
|
|
|
|
ALCdevice* m_device;
|
|
|
|
|
ALCcontext* m_context;
|
2014-04-27 20:17:22 -07:00
|
|
|
ALsizei m_buffer_size;
|
2014-03-08 02:15:39 +03:00
|
|
|
|
|
|
|
|
public:
|
2015-01-11 03:46:10 +04:00
|
|
|
virtual ~OpenALThread();
|
2014-03-10 00:44:12 +10:00
|
|
|
|
2015-01-11 03:46:10 +04:00
|
|
|
virtual void Init();
|
|
|
|
|
virtual void Quit();
|
|
|
|
|
virtual void Play();
|
|
|
|
|
virtual void Open(const void* src, int size);
|
|
|
|
|
virtual void Close();
|
|
|
|
|
virtual void Stop();
|
|
|
|
|
virtual void AddData(const void* src, int size);
|
2015-01-16 20:09:53 +03:00
|
|
|
};
|