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

◆ write_to_buffer()

void MayaFlux::Kriya::detail::write_to_buffer ( const std::shared_ptr< Buffers::AudioBuffer > &  buffer,
const Kakshya::DataVariant &  data 
)

Definition at line 25 of file PipelineBufferData.cpp.

26{
27 auto audio_buffer = std::dynamic_pointer_cast<Buffers::AudioBuffer>(buffer);
28 if (audio_buffer) {
29 try {
30 auto audio_data = std::get<std::vector<double>>(data);
31 auto& buffer_data = audio_buffer->get_data();
32
33 if (buffer_data.size() != audio_data.size()) {
34 buffer_data.resize(audio_data.size());
35 }
36
37 std::ranges::copy(audio_data, buffer_data.begin());
38
39 } catch (const std::bad_variant_access& e) {
40 error_rethrow(Journal::Component::Kriya,
41 Journal::Context::CoroutineScheduling,
42 std::source_location::current(),
43 "Data type mismatch when writing to audio buffer: {}",
44 e.what());
45 }
46 }
47}
std::shared_ptr< NetworkGeometryBuffer > buffer

References buffer, MayaFlux::Journal::CoroutineScheduling, and MayaFlux::Journal::Kriya.

Referenced by MayaFlux::Kriya::BufferPipeline::process_fuse(), MayaFlux::Kriya::BufferPipeline::process_load(), and MayaFlux::Kriya::BufferPipeline::process_transform().

+ Here is the caller graph for this function: