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

◆ on_attach()

void ContiguousAccessProcessor::on_attach ( const std::shared_ptr< SignalSourceContainer > &  container)
overridevirtual

Attach the processor to a signal source container.

Initializes dimension metadata, memory layout, and prepares for processing.

Parameters
containerThe SignalSourceContainer to attach to.

Implements MayaFlux::Kakshya::DataProcessor.

Definition at line 10 of file ContiguousAccessProcessor.cpp.

11{
12 if (!container) {
13 return;
14 }
15
16 m_source_container_weak = container;
17
18 try {
19 store_metadata(container);
20 validate();
21
22 m_prepared = true;
23 container->mark_ready_for_processing(true);
24
26 "ContiguousAccessProcessor attached: {} layout, {} total elements, {} channels",
27 (m_structure.organization == OrganizationStrategy::INTERLEAVED ? "interleaved" : "planar"),
29 m_structure.get_channel_count());
30
31 } catch (const std::exception& e) {
32 m_prepared = false;
34 std::source_location::current(),
35 "Failed to attach ContiguousAccessProcessor: {}",
36 e.what());
37 }
38}
#define MF_INFO(comp, ctx,...)
void validate()
Validate the container's structure and output configuration.
void store_metadata(const std::shared_ptr< SignalSourceContainer > &container)
Store dimension and layout metadata from the container.
std::weak_ptr< SignalSourceContainer > m_source_container_weak
@ ContainerProcessing
Container operations (Kakshya - file/stream/region processing)
void error_rethrow(Component component, Context context, std::source_location location=std::source_location::current(), std::string_view additional_context="")
Catch and log an exception, then rethrow it.
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.
@ INTERLEAVED
Single DataVariant with interleaved data (LRLRLR for stereo)

References MayaFlux::Journal::ContainerProcessing, MayaFlux::Kakshya::ContainerDataStructure::get_channel_count(), MayaFlux::Kakshya::INTERLEAVED, MayaFlux::Journal::Kakshya, m_prepared, m_source_container_weak, m_structure, m_total_elements, MF_INFO, MayaFlux::Kakshya::ContainerDataStructure::organization, store_metadata(), and validate().

+ Here is the call graph for this function: