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

◆ on_attach()

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

Attach this processor to a signal source container.

Initializes region organization, caching, and dimension metadata.

Parameters
containerThe SignalSourceContainer to attach to.

Implements MayaFlux::Kakshya::DataProcessor.

Reimplemented in MayaFlux::Kakshya::SpatialRegionProcessor.

Definition at line 8 of file RegionProcessorBase.cpp.

9{
10 if (!container) {
11 error<std::invalid_argument>(Journal::Component::Kakshya, Journal::Context::ContainerProcessing, std::source_location::current(),
12 "Container cannot be null");
13 }
14
15 m_container_weak = container;
16 m_structure = container->get_structure();
17
18 m_cache_manager = std::make_unique<RegionCacheManager>(m_max_cache_size);
19 m_cache_manager->initialize();
20
22
23 organize_container_data(container);
24
25 container->mark_ready_for_processing(true);
26}
virtual void organize_container_data(const std::shared_ptr< SignalSourceContainer > &container)=0
Organize container data into structured regions.
std::unique_ptr< RegionCacheManager > m_cache_manager
std::weak_ptr< SignalSourceContainer > m_container_weak
@ ContainerProcessing
Container operations (Kakshya - file/stream/region processing)
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.
static size_t get_frame_size(const std::vector< DataDimension > &dimensions)
Extract the size of non time dimensions (channel, spatial, frequency)

References MayaFlux::Journal::ContainerProcessing, MayaFlux::Kakshya::ContainerDataStructure::get_frame_size(), MayaFlux::Journal::Kakshya, m_cache_manager, m_container_weak, m_current_position, m_max_cache_size, m_structure, and organize_container_data().

Referenced by MayaFlux::Kakshya::SpatialRegionProcessor::on_attach(), and MayaFlux::Kakshya::RegionOrganizationProcessor::RegionOrganizationProcessor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: