MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ process_audio()

int MayaFlux::Core::AudioSubsystem::process_audio ( double *  input_buffer,
double *  output_buffer,
unsigned int  num_frames 
)

Processes both input and output data in full-duplex mode.

Parameters
input_bufferPointer to input data buffer
output_bufferPointer to output data buffer
num_framesNumber of frames to process
Returns
Status code (0 for success)

Handles full-duplex audio processing, processing input and generating output simultaneously. Used for real-time effects and monitoring scenarios.

Definition at line 133 of file AudioSubsystem.cpp.

134{
135 for (const auto& [name, hook] : m_handle->pre_process_hooks) {
136 hook(num_frames);
137 }
138
139 process_input(input_buffer, num_frames);
140 process_output(output_buffer, num_frames);
141
142 for (const auto& [name, hook] : m_handle->post_process_hooks) {
143 hook(num_frames);
144 }
145
146 return 0;
147}
int process_output(double *output_buffer, unsigned int num_frames)
Processes output data for audio interface.
SubsystemProcessingHandle * m_handle
Reference to processing handle.
int process_input(double *input_buffer, unsigned int num_frames)
Processes input data from audio interface.

References m_handle, MayaFlux::Core::SubsystemProcessingHandle::post_process_hooks, MayaFlux::Core::SubsystemProcessingHandle::pre_process_hooks, process_input(), and process_output().

Referenced by register_callbacks().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: