yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::emu::audio::NullAudioBackend Class Reference

Null audio backend for testing/headless operation. More...

#include <audio_backend.h>

Inheritance diagram for yaze::emu::audio::NullAudioBackend:
Collaboration diagram for yaze::emu::audio::NullAudioBackend:

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ NullAudioBackend()

yaze::emu::audio::NullAudioBackend::NullAudioBackend ( )
default

◆ ~NullAudioBackend()

yaze::emu::audio::NullAudioBackend::~NullAudioBackend ( )
overridedefault

Member Function Documentation

◆ Initialize()

bool yaze::emu::audio::NullAudioBackend::Initialize ( const AudioConfig & config)
overridevirtual

◆ Shutdown()

void yaze::emu::audio::NullAudioBackend::Shutdown ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 497 of file audio_backend.cc.

References initialized_, LOG_INFO, and playing_.

◆ Play()

void yaze::emu::audio::NullAudioBackend::Play ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 503 of file audio_backend.cc.

References initialized_, and playing_.

◆ Pause()

void yaze::emu::audio::NullAudioBackend::Pause ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 507 of file audio_backend.cc.

References initialized_, and playing_.

◆ Stop()

void yaze::emu::audio::NullAudioBackend::Stop ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 511 of file audio_backend.cc.

References current_queued_bytes_, initialized_, and playing_.

◆ Clear()

void yaze::emu::audio::NullAudioBackend::Clear ( )
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 518 of file audio_backend.cc.

References current_queued_bytes_.

◆ QueueSamples() [1/2]

bool yaze::emu::audio::NullAudioBackend::QueueSamples ( const int16_t * samples,
int num_samples )
overridevirtual

◆ QueueSamples() [2/2]

bool yaze::emu::audio::NullAudioBackend::QueueSamples ( const float * samples,
int num_samples )
overridevirtual

◆ QueueSamplesNative()

bool yaze::emu::audio::NullAudioBackend::QueueSamplesNative ( const int16_t * samples,
int frames_per_channel,
int channels,
int native_rate )
overridevirtual

◆ GetStatus()

◆ IsInitialized()

bool yaze::emu::audio::NullAudioBackend::IsInitialized ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 561 of file audio_backend.cc.

References initialized_.

◆ GetConfig()

AudioConfig yaze::emu::audio::NullAudioBackend::GetConfig ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 565 of file audio_backend.cc.

References config_.

◆ SetVolume()

void yaze::emu::audio::NullAudioBackend::SetVolume ( float volume)
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 569 of file audio_backend.cc.

References volume_.

◆ GetVolume()

float yaze::emu::audio::NullAudioBackend::GetVolume ( ) const
overridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 573 of file audio_backend.cc.

References volume_.

◆ SetAudioStreamResampling()

void yaze::emu::audio::NullAudioBackend::SetAudioStreamResampling ( bool enable,
int native_rate,
int channels )
overridevirtual

◆ SupportsAudioStream()

bool yaze::emu::audio::NullAudioBackend::SupportsAudioStream ( ) const
inlineoverridevirtual

Reimplemented from yaze::emu::audio::IAudioBackend.

Definition at line 179 of file audio_backend.h.

◆ IsAudioStreamEnabled()

bool yaze::emu::audio::NullAudioBackend::IsAudioStreamEnabled ( ) const
overridevirtual

Reimplemented from yaze::emu::audio::IAudioBackend.

Definition at line 586 of file audio_backend.cc.

References audio_stream_enabled_.

◆ GetBackendName()

std::string yaze::emu::audio::NullAudioBackend::GetBackendName ( ) const
inlineoverridevirtual

Implements yaze::emu::audio::IAudioBackend.

Definition at line 182 of file audio_backend.h.

◆ GetTotalQueuedSamples()

uint64_t yaze::emu::audio::NullAudioBackend::GetTotalQueuedSamples ( ) const
inline

Definition at line 185 of file audio_backend.h.

References total_queued_samples_.

◆ GetTotalQueuedFrames()

uint64_t yaze::emu::audio::NullAudioBackend::GetTotalQueuedFrames ( ) const
inline

Definition at line 186 of file audio_backend.h.

References total_queued_frames_.

◆ ResetCounters()

void yaze::emu::audio::NullAudioBackend::ResetCounters ( )

Member Data Documentation

◆ config_

AudioConfig yaze::emu::audio::NullAudioBackend::config_
private

Definition at line 190 of file audio_backend.h.

Referenced by GetConfig(), GetStatus(), Initialize(), and SetAudioStreamResampling().

◆ initialized_

bool yaze::emu::audio::NullAudioBackend::initialized_ = false
private

◆ playing_

bool yaze::emu::audio::NullAudioBackend::playing_ = false
private

Definition at line 192 of file audio_backend.h.

Referenced by GetStatus(), Initialize(), Pause(), Play(), Shutdown(), and Stop().

◆ volume_

float yaze::emu::audio::NullAudioBackend::volume_ = 1.0f
private

Definition at line 193 of file audio_backend.h.

Referenced by GetVolume(), and SetVolume().

◆ audio_stream_enabled_

bool yaze::emu::audio::NullAudioBackend::audio_stream_enabled_ = false
private

Definition at line 194 of file audio_backend.h.

Referenced by IsAudioStreamEnabled(), and SetAudioStreamResampling().

◆ stream_native_rate_

int yaze::emu::audio::NullAudioBackend::stream_native_rate_ = 0
private

Definition at line 195 of file audio_backend.h.

Referenced by SetAudioStreamResampling().

◆ stream_channels_

int yaze::emu::audio::NullAudioBackend::stream_channels_ = 2
private

Definition at line 196 of file audio_backend.h.

Referenced by SetAudioStreamResampling().

◆ total_queued_samples_

uint64_t yaze::emu::audio::NullAudioBackend::total_queued_samples_ = 0
private

◆ total_queued_frames_

uint64_t yaze::emu::audio::NullAudioBackend::total_queued_frames_ = 0
private

◆ current_queued_bytes_

uint64_t yaze::emu::audio::NullAudioBackend::current_queued_bytes_ = 0
private

The documentation for this class was generated from the following files: