|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| std::shared_ptr< Kakshya::CameraContainer > MayaFlux::IO::IOManager::open_camera | ( | const CameraConfig & | config | ) |
Open an FFmpeg camera device and create a CameraContainer.
Convenience wrapper over the backend-agnostic hosting path: constructs an FFmpegCameraReader, opens the device, creates the container, configures its FrameAccessProcessor (auto_advance disabled), then calls register_camera_source() to assign a reader_id and wire the container's IOService callback via CameraContainer::setup_io().
A non-FFmpeg backend does not go through this call at all — it opens itself however its own backend requires, then calls register_camera_source() directly with the resulting CameraSource.
After this call, the normal processing pipeline drives frame pulls: CameraContainer::process_default() → IOService::request_frame(reader_id) → dispatch_frame_request() → CameraSource::pull_frame_all() → decode thread → pull_frame() → mutable_frame_ptr() write → READY.
| config | Device and resolution configuration. |
Definition at line 719 of file IOManager.cpp.
References MayaFlux::Journal::API, MayaFlux::IO::Detail::configure_camera_container(), MayaFlux::IO::CameraConfig::device_name, MayaFlux::Journal::FileIO, MF_ERROR, MF_INFO, and register_camera_source().
Here is the call graph for this function: