LCamDev: implement configureSessionModeCReq

We can, theoretically, now change the v4l camera's mode.
This commit is contained in:
2026-06-13 20:56:33 -04:00
parent 25d7b9c013
commit 3e85b920fb
20 changed files with 1926 additions and 11 deletions
@@ -0,0 +1,34 @@
#ifndef LCAMERA_DEV_SESSION_MODE_CONFIGURE_H
#define LCAMERA_DEV_SESSION_MODE_CONFIGURE_H
#include <cameraModeRequest.h>
#include <cameraSession.h>
#include <memory>
namespace libcamera {
class CameraConfiguration;
}
namespace lcamera_dev {
enum class ConfigureSessionModeStatus
{
Configured,
NoOpAlreadyConfigured,
RejectedConflictingRequest,
};
ConfigureSessionModeStatus applyModeRequestToSessionState(
CameraSessionResources& resources,
const LcameraDevCameraModeRequest& request,
const LcameraDevConfiguredCameraMode& resolvedMode,
std::shared_ptr<libcamera::CameraConfiguration> heldConfiguration);
LcameraDevConfiguredCameraMode configureLibcameraSessionMode(
const std::shared_ptr<libcamera::Camera>& camera,
const LcameraDevCameraModeRequest& request,
std::shared_ptr<libcamera::CameraConfiguration>& heldConfiguration);
} // namespace lcamera_dev
#endif // LCAMERA_DEV_SESSION_MODE_CONFIGURE_H