@@ -231,13 +231,20 @@ CameraConfiguration::Status VirtualCameraConfiguration::validate()
adjusted = true;
}
+ auto stride = info.stride(cfg.size.width, 0);
+ auto frameSize = info.frameSize(cfg.size);
+ if ((cfg.stride && cfg.stride != stride) ||
+ (cfg.frameSize && cfg.frameSize != frameSize)) {
+ status = Adjusted;
+ adjusted = true;
+ }
+ cfg.stride = stride;
+ cfg.frameSize = frameSize;
+
if (adjusted)
LOG(Virtual, Info)
<< "Stream configuration adjusted to " << cfg.toString();
- cfg.stride = info.stride(cfg.size.width, 0, 1);
- cfg.frameSize = info.frameSize(cfg.size, 1);
-
cfg.bufferCount = VirtualCameraConfiguration::kBufferCount;
}
If a client requested a specific stride that's incompatible with what we'll produce, let the client know. Signed-off-by: Robert Mader <robert.mader@collabora.com> --- src/libcamera/pipeline/virtual/virtual.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)