Robert Mader
75007ae94f
libcamera: Fix build error
...
This is backward compatible and will be needed for libcamera 0.0.3
2022-11-30 09:53:17 +00:00
Robert Mader
b952d52b59
libcamera: Handle missing control info default values
...
Libcamera does not always provide default values for all control infos, see
https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rkisp1/rkisp1.cpp?h=v0.0.2#n98
Sanitize those values, avoiding crashes.
2022-11-30 09:53:17 +00:00
Wim Taymans
4da154c3a9
libcamera: handle errors better
...
Make sure we disconnect the request complete handler when we failed
to start.
Stop the camera when we failed to queue our requests.
2022-11-14 13:24:07 +01:00
Wim Taymans
cb18c5877b
libcamera: check for item in map correctly
...
Fixes #2817
2022-11-08 10:41:18 +01:00
Wim Taymans
ef4b9745b2
libcamera: handle canceled requests
...
When a request is canceled, recycle it so we don't run out of buffers.
Implement getting and setting controls.
2022-10-31 19:03:55 +01:00
Wim Taymans
7182145435
libcamera: pick better default format
...
Pick the first format in the list of supported as something closest
to 640x480 instead of the lowest possible resolution.
Applications that don't suggest a default size will then get something
more sensible than a poster frame.
2022-10-25 12:10:42 +02:00
Wim Taymans
2086fa5ad2
libcamera: recycle buffers when no io area
2022-10-24 15:40:13 +02:00
Barnabás Pőcze
f9796fc024
spa: libcamera: remove unnecessary typedef
2022-09-15 11:17:47 +00:00
Barnabás Pőcze
02f2d6b48d
spa: libcamera: remove unnecessary have_config member
...
An extra flag is not needed because the `config` pointer can be
checked to determine if a configuration has already been retrieved.
2022-09-15 11:17:47 +00:00
Barnabás Pőcze
9374c15c3d
spa: libcamera: use std::optional intead of separate bool flag + value
...
`std::optional` conveniently encapsulates a value and a bool flag,
so use that instead of manually replicating it.
2022-09-15 11:17:47 +00:00
Barnabás Pőcze
330686d3aa
spa: libcamera: rework construction/destruction of libcamera source impl
...
Move some things into constructors and try not to depend on the
fact that the storage is zero initialized, try to initialize
everything properly.
2022-09-15 11:17:47 +00:00
Barnabás Pőcze
9370fbee3d
spa: libcamera: indent with tabs instead of spaces
2022-09-15 11:17:47 +00:00
Wim Taymans
cad7db9f58
libcamera: close camera in error path
2022-09-05 09:25:42 +02:00
Wim Taymans
96472e259f
libcamera: return empty controls instead of error
2022-05-26 18:11:06 +02:00
Barnabás Pőcze
57dae3e2b3
spa: libcamera: call get() instead of fd()
...
libcamera commit 560f5cf998646ddc54a20dc1c7326012834d3204
renamed the `fd()` method on `SharedFD` to `get()`.
Adjust the libcamera plugin accordingly.
2021-12-14 09:52:05 +00:00
Wim Taymans
abacea5ca0
libcamera: improve debug
2021-11-03 17:49:10 +01:00
Wim Taymans
0fd5e3fdb2
libcamera: implement allocation and dataflow
...
Keep track of the negotiated parameters and use those to construct
the Buffers param.
Use the FrameAllocator to allocate buffer memory. Keep a request for
each buffer and queue them.
In requestComplete, put the request metadata info into the buffer and
header and write the finished buffer id to a ringbuffer. Then wake up
the data thread to pop the finished buffer_id and push it in the
graph.
Remove some old files.
2021-11-03 17:49:10 +01:00
Wim Taymans
b2c38a2b3b
libcamera: work on rewrite
...
Use manager to hotplug devices
Use StreamConfig to enumerate formats
2021-11-03 17:49:10 +01:00