device: allow to use dummy as a way to test streamer

This adds loopback tests via `tests/`
This commit is contained in:
Kamil Trzcinski
2023-02-21 22:13:42 +01:00
parent 2e9718fea7
commit c9600d1253
15 changed files with 182 additions and 13 deletions

View File

@ -73,6 +73,28 @@ static int camera_configure_input_libcamera(camera_t *camera)
return camera_configure_pipeline(camera, camera_capture);
}
static int camera_configure_input_dummy(camera_t *camera)
{
camera->camera = device_dummy_open(camera->name, camera->options.path);
if (!camera->camera) {
return -1;
}
buffer_format_t fmt = {
.width = camera->options.width,
.height = camera->options.height,
.format = camera->options.format,
.nbufs = camera->options.nbufs
};
buffer_list_t *camera_capture = device_open_buffer_list(camera->camera, true, fmt, true);
if (!camera_capture) {
return -1;
}
return camera_configure_pipeline(camera, camera_capture);
}
int camera_configure_input(camera_t *camera)
{
switch (camera->options.type) {
@ -82,6 +104,9 @@ int camera_configure_input(camera_t *camera)
case CAMERA_LIBCAMERA:
return camera_configure_input_libcamera(camera);
case CAMERA_DUMMY:
return camera_configure_input_dummy(camera);
default:
LOG_INFO(camera, "Unsupported camera type");
return -1;