1#ifndef AUDIOOUTPUTOPENSLES
2#define AUDIOOUTPUTOPENSLES
6#include <SLES/OpenSLES.h>
7#include <SLES/OpenSLES_Android.h>
14 SLObjectItf*, SLuint32,
const SLEngineOption*, SLuint32,
15 const SLInterfaceID*,
const SLboolean*);
31 void WriteAudio(
unsigned char *aubuf,
int size)
override;
41 static void SPlayedCallback(SLAndroidSimpleBufferQueueItf caller,
void *pContext);
SLresult(*)(SLObjectItf *, SLuint32, const SLEngineOption *, SLuint32, const SLInterfaceID *, const SLboolean *) slCreateEngine_t
static void SPlayedCallback(SLAndroidSimpleBufferQueueItf caller, void *pContext)
SLObjectItf m_engineObject
SLObjectItf m_outputMixObject
void SetVolumeChannel(int channel, int volume) override
friend class AudioOutputOpenSLESPrivate
void WriteAudio(unsigned char *aubuf, int size) override
SLInterfaceID m_SL_IID_PLAY
slCreateEngine_t m_slCreateEnginePtr
SLInterfaceID m_SL_IID_VOLUME
void PlayedCallback(SLAndroidSimpleBufferQueueItf caller)
SLEngineItf m_engineEngine
AudioOutputSettings * GetOutputSettings(bool digital) override
AudioOutputOpenSLES(const AudioSettings &settings)
SLInterfaceID m_SL_IID_ANDROIDSIMPLEBUFFERQUEUE
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
int GetNumberOfBuffersQueued() const
virtual ~AudioOutputOpenSLES()
int m_nativeOutputSampleRate
SLAndroidSimpleBufferQueueItf m_playerBufferQueue
SLInterfaceID m_SL_IID_ENGINE
int GetVolumeChannel(int channel) const override
bool OpenDevice(void) override
SLObjectItf m_playerObject
void CloseDevice(void) override