28 void register_callbacks()
override;
31 void start()
override;
34 void pause()
override;
37 void resume()
override;
43 void shutdown()
override;
49 inline bool is_ready()
const override {
return m_is_ready; }
52 inline bool is_running()
const override {
return m_is_running; }
75 int process_input(
double* input_buffer,
unsigned int num_frames);
87 int process_output(
double* output_buffer,
unsigned int num_frames);
99 int process_audio(
double* input_buffer,
double* output_buffer,
unsigned int num_frames);
126 bool m_is_running {};
Manages audio endpoint discovery and enumeration.
Manages digital audio data flow between the engine and hardware.
SubsystemProcessingHandle * get_processing_context_handle() override
Get the processing context handle for this subsystem.
SubsystemType get_type() const override
Get the type of this subsystem.
std::unique_ptr< IAudioBackend > m_audiobackend
Audio backend implementation.
bool is_ready() const override
Check if audio subsystem is ready for operation.
bool is_running() const override
Check if audio subsystem is currently running.
const AudioDevice * get_device_manager() const
Get read-only access to device manager.
GlobalStreamInfo m_stream_info
Audio stream configuration.
SubsystemProcessingHandle * m_handle
Reference to processing handle.
const AudioStream * get_stream_manager() const
Get read-only access to stream manager.
IAudioBackend * get_audio_backend()
Get access to the underlying audio backend.
SubsystemTokens get_tokens() const override
Get audio subsystem token configuration.
const GlobalStreamInfo & get_stream_info() const
Get global stream configuration.
SubsystemTokens m_subsystem_tokens
Processing token configuration.
std::unique_ptr< AudioDevice > m_audio_device
Audio device manager.
std::unique_ptr< AudioStream > m_audio_stream
Audio stream manager.
virtual ~AudioSubsystem()=default
Audio processing subsystem managing real-time audio I/O and processing.
Interface for audio system abstraction layer.
Base interface for all subsystems in the MayaFlux processing architecture.
Unified interface combining buffer and node processing for subsystems.
Comprehensive configuration for digital audio stream processing.
Processing token configuration for subsystem operation.