From 7283eff090f801ba97a198e4929e64d0d158e063 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 28 Jun 2020 12:50:02 +0300 Subject: libcamera: pipeline: simple: Setup links outside for format try loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SimpleCameraData::init() function needs to setup links along the pipeline, but doesn't need to repeat that operation for each media bus code it tries. Move the link setup before the loop. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/pipeline/simple/simple.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp index 5221ff33..b1814b08 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp @@ -250,6 +250,14 @@ int SimpleCameraData::init() SimpleConverter *converter = pipe->converter(); int ret; + /* + * Setup links first as some subdev drivers take active links into + * account to propagate TRY formats. Such is life :-( + */ + ret = setupLinks(); + if (ret < 0) + return ret; + /* * Enumerate the possible pipeline configurations. For each media bus * format supported by the sensor, propagate the formats through the @@ -259,14 +267,6 @@ int SimpleCameraData::init() for (unsigned int code : sensor_->mbusCodes()) { V4L2SubdeviceFormat format{ code, sensor_->resolution() }; - /* - * Setup links first as some subdev drivers take active links - * into account to propagate TRY formats. Such is life :-( - */ - ret = setupLinks(); - if (ret < 0) - return ret; - ret = setupFormats(&format, V4L2Subdevice::TryFormat); if (ret < 0) { LOG(SimplePipeline, Error) -- cgit v1.2.1