Fix dynamic setting of auto-focus

This commit is contained in:
Kamil Trzcinski 2022-07-07 11:37:36 +02:00
parent 07a46ee7cc
commit 4e8e74c716
2 changed files with 4 additions and 0 deletions

View File

@ -77,10 +77,12 @@ int libcamera_buffer_enqueue(buffer_t *buf, const char *who)
auto const &camera = buf->buf_list->dev->libcamera->camera;
request->reuse(libcamera::Request::ReuseBuffers);
request->controls() = std::move(buf->buf_list->dev->libcamera->controls);
if (camera->queueRequest(buf->libcamera->request.get()) < 0) {
LOG_ERROR(buf, "Can't queue buffer.");
}
buf->buf_list->dev->libcamera->controls.clear();
return 0;
error:

View File

@ -127,6 +127,8 @@ int libcamera_buffer_list_set_stream(buffer_list_t *buf_list, bool do_on)
if (buf_list->dev->libcamera->camera->start(&buf_list->dev->libcamera->controls) < 0) {
LOG_ERROR(buf_list, "Failed to start camera.");
}
buf_list->dev->libcamera->controls.clear();
} else {
buf_list->dev->libcamera->camera->requestCompleted.disconnect(
buf_list->libcamera, &buffer_list_libcamera_t::libcamera_buffer_list_dequeued);