4#ifndef YAZE_APP_EMU_AUDIO_AUDIO_BACKEND_H
5#define YAZE_APP_EMU_AUDIO_AUDIO_BACKEND_H
58 virtual bool QueueSamples(
const int16_t* samples,
int num_samples) = 0;
59 virtual bool QueueSamples(
const float* samples,
int num_samples) = 0;
86 void Pause()
override;
88 void Clear()
override;
90 bool QueueSamples(
const int16_t* samples,
int num_samples)
override;
91 bool QueueSamples(
const float* samples,
int num_samples)
override;
Factory for creating audio backends.
static std::unique_ptr< IAudioBackend > Create(BackendType type)
Abstract audio backend interface.
virtual std::string GetBackendName() const =0
virtual bool QueueSamples(const float *samples, int num_samples)=0
virtual void SetVolume(float volume)=0
virtual bool Initialize(const AudioConfig &config)=0
virtual AudioStatus GetStatus() const =0
virtual bool IsInitialized() const =0
virtual void Shutdown()=0
virtual ~IAudioBackend()=default
virtual AudioConfig GetConfig() const =0
virtual float GetVolume() const =0
virtual bool QueueSamples(const int16_t *samples, int num_samples)=0
SDL2 audio backend implementation.
AudioConfig GetConfig() const override
void SetVolume(float volume) override
bool Initialize(const AudioConfig &config) override
~SDL2AudioBackend() override
bool IsInitialized() const override
std::string GetBackendName() const override
SDL2AudioBackend()=default
AudioStatus GetStatus() const override
float GetVolume() const override
bool QueueSamples(const int16_t *samples, int num_samples) override
Main namespace for the application.