Adding cameras
The camera support API has not been the focus yet.
This is quickly changing, with Librem 5 support being an upcoming target.
Status
For now, there is a pair of traits matching the needs of the UVC cameras: the minimal UnacquiredCameraImpl and the actually interesting AcquiredCameraImpl.
Every pipeline handler must place a CheckFn in the PIPELINES array. That function scans for cameras supported by your handler. Best see how the UVC one works.
Limitations
Currently only V4L2-based cameras are even considered. So no IP cameras and no generated streams. Those may be better handled with something like PipeWire.
Even if there is another kind of cameras worthy supporting, we're focusing on this API first.
Goals
The hope is that there will be no need to add any code to support a new camera: either the pipeline will be defined in the config files, or the automatic solver can connect all the stages.
But that idea might be wrong. If you can think of corner cases, let's have a chat!