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

◆ on_attach()

void ContiguousAccessProcessor::on_attach ( 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
25 std::cout << "ContiguousAccessProcessor attached: "
26 << (m_structure.organization == OrganizationStrategy::INTERLEAVED ? "interleaved" : "planar")
27 << " layout, " << m_total_elements << " total elements, "
28 << m_structure.get_channel_count() << " channels\n";
29
30 } catch (const std::exception& e) {
31 std::cerr << "Failed to attach processor: " << e.what() << '\n';
32 m_prepared = false;
33 throw;
34 }
35}
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
@ INTERLEAVED
Single DataVariant with interleaved data (LRLRLR for stereo)
static uint64_t get_channel_count(const std::vector< DataDimension > &dimensions)
Extract channel count from dimensions.

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

+ Here is the call graph for this function: