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

◆ process_audio_input()

void MayaFlux::Buffers::BufferInputControl::process_audio_input ( double *  input_data,
uint32_t  num_channels,
uint32_t  num_frames 
)

Processes incoming audio input data into input buffers.

Parameters
input_dataPointer to interleaved input data
num_channelsNumber of channels in the input data
num_framesNumber of frames to process

Takes interleaved input data and distributes it to the appropriate input buffers, then triggers default processing on each.

Definition at line 34 of file BufferInputControl.cpp.

35{
36 if (m_audio_input_buffers.empty() || m_audio_input_buffers.size() < num_channels) {
37 setup_audio_input_buffers(num_channels, num_frames);
38 }
39
40 if (!input_data) {
42 "BufferInputControl: Invalid input data pointer");
43 return;
44 }
45
46 for (uint32_t i = 0; i < m_audio_input_buffers.size(); ++i) {
47 auto& data = m_audio_input_buffers[i]->get_data();
48
49 for (uint32_t frame = 0; frame < data.size(); ++frame) {
50 data[frame] = static_cast<double*>(input_data)[frame * num_channels + i];
51 }
52 m_audio_input_buffers[i]->process_default();
53 }
54}
#define MF_ERROR(comp, ctx,...)
void setup_audio_input_buffers(uint32_t num_channels, uint32_t buffer_size)
Sets up audio input buffers.
std::vector< std::shared_ptr< InputAudioBuffer > > m_audio_input_buffers
Input buffers for capturing audio input data.
@ BufferManagement
Buffer Management (Buffers::BufferManager, creating buffers)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::BufferManagement, MayaFlux::Journal::Core, m_audio_input_buffers, MF_ERROR, and setup_audio_input_buffers().

+ Here is the call graph for this function: