MayaFlux 0.2.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 12 of file ContiguousAccessProcessor.cpp.

13{
14 if (!container) {
15 return;
16 }
17
18 m_source_container_weak = container;
19
20 try {
21 store_metadata(container);
22 validate();
23
24 m_prepared = true;
25 container->mark_ready_for_processing(true);
26
28 "ContiguousAccessProcessor attached: {} layout, {} total elements, {} channels",
29 (m_structure.organization == OrganizationStrategy::INTERLEAVED ? "interleaved" : "planar"),
31 m_structure.get_channel_count());
32
33 } catch (const std::exception& e) {
34 m_prepared = false;
36 std::source_location::current(),
37 "Failed to attach ContiguousAccessProcessor: {}",
38 e.what());
39 }
40}
#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: