MayaFlux 0.3.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 188 of file AudioSubsystem.cpp.

189{
190 for (const auto& [name, hook] : m_handle->pre_process_hooks) {
191 hook(num_frames);
192 }
193
194 process_input(input_buffer, num_frames);
195 process_output(output_buffer, num_frames);
196
197 for (const auto& [name, hook] : m_handle->post_process_hooks) {
198 hook(num_frames);
199 }
200
201 return 0;
202}
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: