[PATCH v1 0/1] Add environment variable to order pipelines match
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Mar 5 07:45:48 CET 2024
Hi Julien,
Quoting Julien Vuillaumier (2024-03-04 18:18:15)
>
> Hello,
>
> There is currently no way to configure the order used by the CameraManager
> to select the pipeline handlers to match devices from the DeviceEnumerator.
> That is a limitation when multiple pipeline are compiled in, capable of
> handling the devices of the platform. In that case, user can not specify
> the pipeline that will bind to the devices and handle the cameras.
>
> This change adds an environment variable, optionnaly initialized with an
> ordered list of candidate pipelines that CameraManager shall use to match
> the devices. When the variable is not set, CameraManager behavior is
> unchanged: every registered pipeline is selected in turn to attempt device
> matching.
>
> Using that variable, user has the option to explicitly select the pipeline
> or the subset of available pipelines that CameraManager shall consider
> for matching.
This indeed is a problem to solve. This looks like a good way to handle
it, I think it's an indication that we need a libcamera configuration
file soon though, which would let these magic environment controls be
set from either a config file or overridden by the environment.
I have also wondered about setting 'prioirities' to pipeline handlers,
such as making the simple pipeline handler a low priority handler, but
that doesn't solve individual cases for instance if that was the
preferred choice, so I think we do need some explicit control from the
users environment.
--
Kieran
> Thanks
>
>
> Julien Vuillaumier (1):
> libcamera: camera_manager: Add environment variable to order pipelines
> match
>
> Documentation/environment_variables.rst | 5 +++
> src/libcamera/camera_manager.cpp | 51 +++++++++++++++++++++----
> 2 files changed, 48 insertions(+), 8 deletions(-)
>
> --
> 2.34.1
>
More information about the libcamera-devel
mailing list