Register audio backend callbacks for real-time processing.
33{
35 error<std::runtime_error>(
38 std::source_location::current(),
39 "AudioSubsystem not initialized");
40 }
41
43 [this](void* output_buffer, void* input_buffer, unsigned int num_frames) -> int {
44 auto input_ptr = static_cast<double*>(input_buffer);
45 auto output_ptr = static_cast<double*>(output_buffer);
46
47 if (input_ptr && output_ptr) {
48 return this->
process_audio(input_ptr, output_ptr, num_frames);
49 }
50
51 if (output_ptr) {
53 }
54
55 if (input_ptr) {
57 }
58 return 0;
59 });
60}
bool m_is_ready
Subsystem ready state.
int process_output(double *output_buffer, unsigned int num_frames)
Processes output data for audio interface.
int process_audio(double *input_buffer, double *output_buffer, unsigned int num_frames)
Processes both input and output data in full-duplex mode.
int process_input(double *input_buffer, unsigned int num_frames)
Processes input data from audio interface.
std::unique_ptr< AudioStream > m_audio_stream
Audio stream manager.
@ AudioSubsystem
Audio subsystem operations (backend, device, stream management)
@ Core
Core engine, backend, subsystems.