Commit graph

4 commits

Author SHA1 Message Date
Barnabás Pőcze
151ebb8663 spa: libcamera: device: expose libcamera camera properties
A libcamera camera has a set of static properties found in `Camera::properties()`.
Some of the properties are already available for pipewire clients
(Model, Rotation, Location), most of them are not.

So serialize all properties into a strings and make them available on the
pipewire device. The keys have the form "api.libcamera.property.<vendor>.<name>"
and the values are intended to be valid json values, parsable by
python's `json.loads()` or qt's `QJsonValue::fromJson()`.

Controls of type "rectangle", "size", or "point" are not supported for now since
their json forms are not self-evident. They can be added when the need arises.
2026-07-04 00:03:45 +02:00
Barnabás Pőcze
44176d4118 spa: libcamera: expose libcamera version
Expose the libcamera header and library versions in the device properties
similarly to `api.v4l2.cap.version` used by the v4l2 plugin.

The keys are not yet promoted into the public `keys.h` header file.
2026-06-23 15:00:15 +00:00
Barnabás Pőcze
6dc55d2cb4 spa: libcamera: move CameraManager acquisition
Now that there is a "libcamera.cpp", move `libcamera_manager_acquire()` into
that file since it is a common function used by all three factories.
2026-06-23 15:00:15 +00:00
Barnabás Pőcze
390a4ce432 spa: libcamera: compile fully as C++
There was one file "libcamera.c" that was a C source file, which
prevents the addition of C++ functions, includes, etc. to "libcamera.h".
So compile that file as C++ as well.
2026-06-23 15:00:15 +00:00
Renamed from spa/plugins/libcamera/libcamera.h (Browse further)