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

◆ on_attach()

void MayaFlux::Kakshya::AudioOutputAccessProcessor::on_attach ( const std::shared_ptr< SignalSourceContainer > &  container)
overridevirtual

Validate container type, cache structure, mark ready for processing.

Exceptions
std::invalid_argumentif container is not an AudioOutputContainer.

Implements MayaFlux::Kakshya::DataProcessor.

Definition at line 25 of file AudioOutputAccessProcessor.cpp.

27{
28 auto ac = std::dynamic_pointer_cast<AudioOutputContainer>(container);
29 if (!ac) {
30 error<std::invalid_argument>(
33 std::source_location::current(),
34 "AudioOutputAccessProcessor requires an AudioOutputContainer");
35 }
36
37 m_channel_count = ac->get_structure().get_channel_count();
38 m_organization = ac->get_structure().organization;
39
40 ac->mark_ready_for_processing(true);
41
43 "AudioOutputAccessProcessor attached: {} channels, {} frames/cycle, {}",
45 m_organization == OrganizationStrategy::PLANAR ? "planar" : "interleaved");
46}
#define MF_INFO(comp, ctx,...)
@ ContainerProcessing
Container operations (Kakshya - file/stream/region processing)
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.
@ PLANAR
Separate DataVariant per logical unit (LLL...RRR for stereo)

References MayaFlux::Journal::ContainerProcessing, MayaFlux::Journal::Kakshya, m_buffer_size, m_channel_count, m_organization, MF_INFO, and MayaFlux::Kakshya::PLANAR.