|
MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
|
#include <FrameAccessProcessor.hpp>
Inheritance diagram for MayaFlux::Kakshya::FrameAccessProcessor:
Collaboration diagram for MayaFlux::Kakshya::FrameAccessProcessor:Public Member Functions | |
| FrameAccessProcessor ()=default | |
| ~FrameAccessProcessor () override=default | |
| void | on_attach (const std::shared_ptr< SignalSourceContainer > &container) override |
| Attach the processor to a video container. | |
| void | on_detach (const std::shared_ptr< SignalSourceContainer > &container) override |
| Detach the processor from its container. | |
| void | process (const std::shared_ptr< SignalSourceContainer > &container) override |
| Extract the current frame(s) into the container's processed_data. | |
| bool | is_processing () const override |
| Query if the processor is currently performing processing. | |
| void | set_frames_per_batch (uint64_t count) |
| Set the number of frames extracted per process() call. | |
| void | set_auto_advance (bool enable) |
| Enable or disable automatic frame advancement after each process() call. | |
| bool | get_auto_advance () const |
| Get the current auto-advance state. | |
| void | set_current_frame (uint64_t frame) |
| Set the current frame index (temporal cursor). | |
| uint64_t | get_current_frame () const |
| Get the current frame index. | |
| uint64_t | get_frames_per_batch () const |
| Get the number of frames per batch. | |
| uint64_t | get_frame_byte_size () const |
| Get the cached frame byte size (width × height × channels). | |
| void | set_global_fps (double fps) |
Public Member Functions inherited from MayaFlux::Kakshya::DataProcessor | |
| virtual | ~DataProcessor ()=default |
| Virtual destructor for proper cleanup. | |
Private Member Functions | |
| void | store_metadata (const std::shared_ptr< SignalSourceContainer > &container) |
| Cache dimension metadata and frame geometry from the container. | |
| void | validate () |
| Validate that the container is suitable for frame-based processing. | |
| void | advance_frame (uint64_t frames_to_advance) |
| Advance the frame cursor, respecting loop boundaries. | |
Private Attributes | |
| std::atomic< bool > | m_is_processing { false } |
| bool | m_prepared {} |
| bool | m_auto_advance { true } |
| std::weak_ptr< SignalSourceContainer > | m_source_container_weak |
| ContainerDataStructure | m_structure |
| uint64_t | m_current_frame {} |
| uint64_t | m_frames_per_batch { 1 } |
| uint64_t | m_total_frames {} |
| uint64_t | m_width {} |
| uint64_t | m_height {} |
| uint64_t | m_channels {} |
| uint64_t | m_frame_byte_size {} |
| double | m_global_fps { 60.0 } |
| bool | m_looping_enabled {} |
| Region | m_loop_region |
| std::chrono::steady_clock::time_point | m_last_process_time {} |
| double | m_frame_accumulator {} |
| Sub-frame accumulator for wall-clock-driven advancement. | |
| double | m_frame_rate {} |
| Cached video frame rate in frames per second. | |
Definition at line 40 of file FrameAccessProcessor.hpp.