2014-03-08 00:15:39 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2015-01-11 00:46:10 +01:00
|
|
|
#include "Emu/Audio/AudioThread.h"
|
2014-05-24 23:38:29 +02:00
|
|
|
#include "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:
|
2014-03-13 01:26:53 +01: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-28 05:17:22 +02:00
|
|
|
ALsizei m_buffer_size;
|
2014-03-08 00:15:39 +01:00
|
|
|
|
|
|
|
|
public:
|
2015-01-11 00:46:10 +01:00
|
|
|
virtual ~OpenALThread();
|
2014-03-09 15:44:12 +01:00
|
|
|
|
2015-01-11 00:46:10 +01: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 18:09:53 +01:00
|
|
|
};
|