Null audio backend for testing/headless operation. More...
#include <audio_backend.h>


Public Member Functions | |
| NullAudioBackend ()=default | |
| ~NullAudioBackend () override=default | |
| bool | Initialize (const AudioConfig &config) override |
| void | Shutdown () override |
| void | Play () override |
| void | Pause () override |
| void | Stop () override |
| void | Clear () override |
| bool | QueueSamples (const int16_t *samples, int num_samples) override |
| bool | QueueSamples (const float *samples, int num_samples) override |
| bool | QueueSamplesNative (const int16_t *samples, int frames_per_channel, int channels, int native_rate) override |
| AudioStatus | GetStatus () const override |
| bool | IsInitialized () const override |
| AudioConfig | GetConfig () const override |
| void | SetVolume (float volume) override |
| float | GetVolume () const override |
| void | SetAudioStreamResampling (bool enable, int native_rate, int channels) override |
| bool | SupportsAudioStream () const override |
| bool | IsAudioStreamEnabled () const override |
| std::string | GetBackendName () const override |
| uint64_t | GetTotalQueuedSamples () const |
| uint64_t | GetTotalQueuedFrames () const |
| void | ResetCounters () |
Public Member Functions inherited from yaze::emu::audio::IAudioBackend | |
| virtual | ~IAudioBackend ()=default |
Private Attributes | |
| AudioConfig | config_ |
| bool | initialized_ = false |
| bool | playing_ = false |
| float | volume_ = 1.0f |
| bool | audio_stream_enabled_ = false |
| int | stream_native_rate_ = 0 |
| int | stream_channels_ = 2 |
| uint64_t | total_queued_samples_ = 0 |
| uint64_t | total_queued_frames_ = 0 |
| uint64_t | current_queued_bytes_ = 0 |
Null audio backend for testing/headless operation.
This backend accepts audio data but doesn't play it. Useful for unit tests and headless audio timing verification.
Definition at line 152 of file audio_backend.h.
|
default |
|
overridedefault |
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 485 of file audio_backend.cc.
References yaze::emu::audio::AudioConfig::channels, config_, current_queued_bytes_, initialized_, LOG_INFO, playing_, yaze::emu::audio::AudioConfig::sample_rate, total_queued_frames_, and total_queued_samples_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 497 of file audio_backend.cc.
References initialized_, LOG_INFO, and playing_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 503 of file audio_backend.cc.
References initialized_, and playing_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 507 of file audio_backend.cc.
References initialized_, and playing_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 511 of file audio_backend.cc.
References current_queued_bytes_, initialized_, and playing_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 518 of file audio_backend.cc.
References current_queued_bytes_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 522 of file audio_backend.cc.
References current_queued_bytes_, initialized_, and total_queued_samples_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 530 of file audio_backend.cc.
References current_queued_bytes_, initialized_, and total_queued_samples_.
|
overridevirtual |
Reimplemented from yaze::emu::audio::IAudioBackend.
Definition at line 538 of file audio_backend.cc.
References current_queued_bytes_, initialized_, total_queued_frames_, and total_queued_samples_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 551 of file audio_backend.cc.
References yaze::emu::audio::AudioConfig::channels, config_, current_queued_bytes_, yaze::emu::audio::AudioStatus::has_underrun, yaze::emu::audio::AudioStatus::is_playing, playing_, yaze::emu::audio::AudioStatus::queued_bytes, and yaze::emu::audio::AudioStatus::queued_frames.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 561 of file audio_backend.cc.
References initialized_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 565 of file audio_backend.cc.
References config_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 569 of file audio_backend.cc.
References volume_.
|
overridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 573 of file audio_backend.cc.
References volume_.
|
overridevirtual |
Reimplemented from yaze::emu::audio::IAudioBackend.
Definition at line 577 of file audio_backend.cc.
References audio_stream_enabled_, config_, LOG_INFO, yaze::emu::audio::AudioConfig::sample_rate, stream_channels_, and stream_native_rate_.
|
inlineoverridevirtual |
Reimplemented from yaze::emu::audio::IAudioBackend.
Definition at line 179 of file audio_backend.h.
|
overridevirtual |
Reimplemented from yaze::emu::audio::IAudioBackend.
Definition at line 586 of file audio_backend.cc.
References audio_stream_enabled_.
|
inlineoverridevirtual |
Implements yaze::emu::audio::IAudioBackend.
Definition at line 182 of file audio_backend.h.
|
inline |
Definition at line 185 of file audio_backend.h.
References total_queued_samples_.
|
inline |
Definition at line 186 of file audio_backend.h.
References total_queued_frames_.
| void yaze::emu::audio::NullAudioBackend::ResetCounters | ( | ) |
Definition at line 590 of file audio_backend.cc.
References current_queued_bytes_, total_queued_frames_, and total_queued_samples_.
|
private |
Definition at line 190 of file audio_backend.h.
Referenced by GetConfig(), GetStatus(), Initialize(), and SetAudioStreamResampling().
|
private |
Definition at line 191 of file audio_backend.h.
Referenced by Initialize(), IsInitialized(), Pause(), Play(), QueueSamples(), QueueSamples(), QueueSamplesNative(), Shutdown(), and Stop().
|
private |
Definition at line 192 of file audio_backend.h.
Referenced by GetStatus(), Initialize(), Pause(), Play(), Shutdown(), and Stop().
|
private |
Definition at line 193 of file audio_backend.h.
Referenced by GetVolume(), and SetVolume().
|
private |
Definition at line 194 of file audio_backend.h.
Referenced by IsAudioStreamEnabled(), and SetAudioStreamResampling().
|
private |
Definition at line 195 of file audio_backend.h.
Referenced by SetAudioStreamResampling().
|
private |
Definition at line 196 of file audio_backend.h.
Referenced by SetAudioStreamResampling().
|
private |
Definition at line 199 of file audio_backend.h.
Referenced by GetTotalQueuedSamples(), Initialize(), QueueSamples(), QueueSamples(), QueueSamplesNative(), and ResetCounters().
|
private |
Definition at line 200 of file audio_backend.h.
Referenced by GetTotalQueuedFrames(), Initialize(), QueueSamplesNative(), and ResetCounters().
|
private |
Definition at line 201 of file audio_backend.h.
Referenced by Clear(), GetStatus(), Initialize(), QueueSamples(), QueueSamples(), QueueSamplesNative(), ResetCounters(), and Stop().