Register audio backend callbacks for real-time processing.
44{
46 error<std::runtime_error>(
49 std::source_location::current(),
50 "AudioSubsystem not initialized");
51 }
52
54 [this](void* output_buffer, void* input_buffer, unsigned int num_frames) -> int {
55 auto input_ptr = static_cast<double*>(input_buffer);
56 auto output_ptr = static_cast<double*>(output_buffer);
57
58 if (input_ptr && output_ptr) {
59 return this->
process_audio(input_ptr, output_ptr, num_frames);
60 }
61
62 if (output_ptr) {
64 }
65
66 if (input_ptr) {
68 }
69 return 0;
70 });
71}
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.