Camera Plugin [WIP]
This plugin is used with the pub.dev package camera
https://pub.dev/packages/camera
This file contains the development plan for the Camera Plugin project.
Current Progress
The Camera Plugin can currently handle availableCameras, create, and initialize.
Future Development
The following aspects are still under development:
Session and FrameSink classes: These classes need to be created to handle different parts of the camera’s operation.
Build libcamera
Clang
git clone https://git.libcamera.org/libcamera/libcamera.git
cd libcamera
CC=/usr/bin/clang CXX=/usr/bin/clang++ CXX_FLAGS=-stdlib=libc++ LDFLAGS=-stdlib=libc++ meson build -D lc-compliance=false
ninja -C build install -j `nproc`
GCC
git clone https://git.libcamera.org/libcamera/libcamera.git
cd libcamera
meson build
ninja -C build install -j `nproc`
libcamera logging output
To minimize libcamera logs to only errors use
export LIBCAMERA_LOG_LEVELS=*:ERROR
Functional Test Case
https://github.com/flutter/packages/tree/main/packages/camera/camera/example
Error enumerating cameras
If you see errors in homescreen log similar to:
/dev/media0[]: Failed to open media device at /dev/media0: Permission denied
Likely the user needs to be added to the video group:
sudo usermod -a -G video $LOGNAME
Reboot after. Logout/login will not always work.