For libcamera0.2 configuraiton.stride is already set to some incorrect value and configurations->validate() doesn't update it if it's not 0.
For libcamera0.1 it was set to 0. So set it to 0 manually to make sure configurations->validate() computes the correct value.
This fixes 3DO camera not accepting `--camera-options=focus_absolute=100`
and `--camera-options=focus_automatic_continuous=0`, and not properly
configuring the sensor.
The settings are applied twice (if failed) to ignore ordering problems
related to auto-focus and focus-absolute value command line order.
As discussed on Discord a while ago, adding
Breaks/Conflicts/Replaces entries against
camera-streamer (<< 0.2) allows for a smooth
migration from the camera-streamer package
built for OctoPi to camera-streamer-raspi, through
a transitional camera-streamer version 0.2 on
OctoPi's side.
An upgrade of camera-streamer from OctoPrint's
apt repo will pull in an updated transitional
camera-streamer package version 0.2 that depends
on camera-streamer-raspi. For that to install
flawlessly in all cases, it needs to be installed
*before* the camera-streamer-raspi dependency
(as some files between that and the former
camera-streamer package overlap). By
declaring Breaks/Conflicts/Replaces relationships
on camera-streamer-raspi this is ensured.
- control: add `device_option_is_equal`
- libcamera: provide human readable configurable options
- v4l2: include camera control values
- libcamera: store all applied controls
- libcamera: use `device_option_is_equal`
This adds `buffer_list_alloc_buffers` and `buffer_list_free_buffers`
to delay buffers allocation for `libcamera`.
Doing this allows to setup RAW stream afterwards.