Attach the processor to a video container.
Reads dimension metadata (TIME, SPATIAL_Y, SPATIAL_X, CHANNEL), caches frame geometry, initialises the temporal cursor, and marks the container ready for processing.
- Parameters
-
Implements MayaFlux::Kakshya::DataProcessor.
Definition at line 13 of file FrameAccessProcessor.cpp.
14{
15 if (!container) {
16 return;
17 }
18
20
21 try {
24
26 container->mark_ready_for_processing(true);
27
30
32 "FrameAccessProcessor attached: {}×{}×{} frames={}, frame_bytes={}, batch={}",
35
36 } catch (const std::exception& e) {
39 std::source_location::current(),
40 "Failed to attach FrameAccessProcessor: {}",
41 e.what());
42 }
43}
#define MF_INFO(comp, ctx,...)
std::chrono::steady_clock::time_point m_last_process_time
uint64_t m_frame_byte_size
std::weak_ptr< SignalSourceContainer > m_source_container_weak
uint64_t m_frames_per_batch
void validate()
Validate that the container is suitable for frame-based processing.
double m_frame_accumulator
Sub-frame accumulator for wall-clock-driven advancement.
void store_metadata(const std::shared_ptr< SignalSourceContainer > &container)
Cache dimension metadata and frame geometry from the container.
@ 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.
References MayaFlux::Journal::ContainerProcessing, MayaFlux::Journal::Kakshya, m_channels, m_frame_accumulator, m_frame_byte_size, m_frames_per_batch, m_height, m_last_process_time, m_prepared, m_source_container_weak, m_total_frames, m_width, MF_INFO, store_metadata(), and validate().