From patchwork Tue Mar 24 17:56:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kaaira Gupta X-Patchwork-Id: 3308 X-Patchwork-Delegate: kieran.bingham@ideasonboard.com Return-Path: Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id C010760411 for ; Tue, 24 Mar 2020 18:57:03 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=es-iitr-ac-in.20150623.gappssmtp.com header.i=@es-iitr-ac-in.20150623.gappssmtp.com header.b="QqLMExTc"; dkim-atps=neutral Received: by mail-pg1-x532.google.com with SMTP id u12so9399511pgb.10 for ; Tue, 24 Mar 2020 10:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=es-iitr-ac-in.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MWgywxvMYeI+ipWzmZQk0+GkEWZA5PZuWKJ75SGt2mA=; b=QqLMExTcWhbLlUZdPLJuZkZeJZ9J5iRMbt+JmosU5L4SXam2LOk5Sxdn9RDtuR/eBr QLDAd1m0uJ58KZ2o4Hry8wzIFuoqWtf5r4RfwXMh042qrG1RMK/LthaeIuuIWmHWJZub SWRmxNdl23o+wvXxSqFZaT2mLQPiAQdzycFhl8Psbd5Cbdq7LJIflf6p9PV+yjhp/06W qaWDb7fb9KyNSyUTIzXwW4ODoU7eyWNXItMGvFRZtg/kWcTFnLrxBBkgqLta9f1PRZgb xqV220+fN6aBNbSSb6wq0K6hvhegl4ym3Nzmv5qkvOZGFfp6qoEQpiJnOxwtJmG7QAQK biyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MWgywxvMYeI+ipWzmZQk0+GkEWZA5PZuWKJ75SGt2mA=; b=pgZaTEg0XraCn90u7RfsJrTG4TiVtL+PH81kSrYEQ4wuMhbBnPwtLctMzloqGodzeO 1T3ArTWs76KYTIeL5blOtpD/C/AO4XDBAyDM0KY9Bcskqo1m6jA3mxq3vMsu99iI6D0o YAGQFHSm9HjqlahosVDboeB+6nXn9xdU7pCwJ9txlE2sMXy6Cl/mf92bWocD71uUiAzI GrNHmjdB+guUlTr543o1Y37BgM7HKTYBhTTv4NMPHkbKK58a99XOuHJ0Lmi8mr9t7dLQ Zf1n0NczTHOD7uR963t23mJnX1SufEnIqgF2UZ8YGg196FVtsH/psJ3G1gPSUcC/Tz/m i3mA== X-Gm-Message-State: ANhLgQ2b5zL4cVCevmVM7xFffM0UllhCvJVsy1Vs//x0mjGumRY2v19V q9vQGr9fnSeEP9qEMmrf34PmuQ== X-Google-Smtp-Source: ADFU+vtQcTBXstP1pFZiMKUgc0tF7KOWHP5MAjg0Y/fvZ8hecHx4pP3PSnoyd0pfHhXMvxIYz0UPUg== X-Received: by 2002:a63:c50f:: with SMTP id f15mr28778054pgd.88.1585072622123; Tue, 24 Mar 2020 10:57:02 -0700 (PDT) Received: from kaaira-HP-Pavilion-Notebook ([103.113.213.154]) by smtp.gmail.com with ESMTPSA id n22sm2770316pjq.36.2020.03.24.10.57.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2020 10:57:01 -0700 (PDT) From: Kaaira Gupta To: libcamera-devel@lists.libcamera.org, Kieran Bingham , Helen Koike , Vaishali Thakkar Cc: Kaaira Gupta Date: Tue, 24 Mar 2020 23:26:41 +0530 Message-Id: <20200324175643.22382-2-kgupta@es.iitr.ac.in> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200324175643.22382-1-kgupta@es.iitr.ac.in> References: <20200324175643.22382-1-kgupta@es.iitr.ac.in> Subject: [libcamera-devel] [PATCH v2 1/3] libcamera: pipeline: Replace resize() with erase() in validate() X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Mar 2020 17:57:04 -0000 Replace .resize() with .erase() in validate() calls in all pipelines, because resize() calls default constructor StreamConfiguration() when it tries to increase the size. Signed-off-by: Kaaira Gupta Reviewed-by: Jacopo Mondi --- src/libcamera/pipeline/ipu3/ipu3.cpp | 8 ++++++-- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 8 ++++++-- src/libcamera/pipeline/uvcvideo.cpp | 8 ++++++-- src/libcamera/pipeline/vimc.cpp | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 1b44460..36f3990 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -298,9 +298,13 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate() if (config_.empty()) return Invalid; - /* Cap the number of entries to the available streams. */ + /* + * Cap the number of entries to the available streams. + * Use erase() instead of resize() because resize() uses default constructor + * when it increases config_'s size, which we wish to avoid. + */ if (config_.size() > 2) { - config_.resize(2); + config_.erase(config_.begin() + 2, config_.end()); status = Adjusted; } diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index 2f909ce..04b0ed3 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -447,9 +447,13 @@ CameraConfiguration::Status RkISP1CameraConfiguration::validate() if (config_.empty()) return Invalid; - /* Cap the number of entries to the available streams. */ + /* + * Cap the number of entries to the available streams. + * Use erase() instead of resize() because resize() uses default constructor + * when it increases config_'s size, which we wish to avoid. + */ if (config_.size() > 1) { - config_.resize(1); + config_.erase(config_.begin() + 1, config_.end()); status = Adjusted; } diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp index ffbddf2..462eae2 100644 --- a/src/libcamera/pipeline/uvcvideo.cpp +++ b/src/libcamera/pipeline/uvcvideo.cpp @@ -97,9 +97,13 @@ CameraConfiguration::Status UVCCameraConfiguration::validate() if (config_.empty()) return Invalid; - /* Cap the number of entries to the available streams. */ + /* + * Cap the number of entries to the available streams. + * Use erase() instead of resize() because resize() uses default constructor + * when it increases config_'s size, which we wish to avoid. + */ if (config_.size() > 1) { - config_.resize(1); + config_.erase(config_.begin() + 1, config_.end()); status = Adjusted; } diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp index b04a972..4c991ff 100644 --- a/src/libcamera/pipeline/vimc.cpp +++ b/src/libcamera/pipeline/vimc.cpp @@ -123,9 +123,13 @@ CameraConfiguration::Status VimcCameraConfiguration::validate() if (config_.empty()) return Invalid; - /* Cap the number of entries to the available streams. */ + /* + * Cap the number of entries to the available streams. + * Use erase() instead of resize() because resize() uses default constructor + * when it increases config_'s size, which we wish to avoid. + */ if (config_.size() > 1) { - config_.resize(1); + config_.erase(config_.begin() + 1, config_.end()); status = Adjusted; }