{"id":24245,"url":"https://patchwork.libcamera.org/api/patches/24245/?format=json","web_url":"https://patchwork.libcamera.org/patch/24245/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250827090739.86955-10-david.plowman@raspberrypi.com>","date":"2025-08-27T09:07:36","name":"[RFC,09/12] libcamera: Don't wait for input streams to complete","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"4b7fcf920a1902bfc8de991c29104c18ac0fd8f9","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/24245/mbox/","series":[{"id":5407,"url":"https://patchwork.libcamera.org/api/series/5407/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5407","date":"2025-08-27T09:07:27","name":"Bayer Re-Processing","version":1,"mbox":"https://patchwork.libcamera.org/series/5407/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24245/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24245/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 49CF2C332C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Aug 2025 09:08:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B4C3E692FB;\n\tWed, 27 Aug 2025 11:08:06 +0200 (CEST)","from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com\n\t[IPv6:2a00:1450:4864:20::32b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 01D90692F9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Aug 2025 11:07:51 +0200 (CEST)","by mail-wm1-x32b.google.com with SMTP id\n\t5b1f17b1804b1-45b4e5c3d0fso15953315e9.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Aug 2025 02:07:51 -0700 (PDT)","from raspberrypi.pitowers.org\n\t([2a00:1098:3142:1f:ffc9:aff6:7f7f:893b])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-45b6f30fe02sm21498675e9.18.2025.08.27.02.07.49\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 27 Aug 2025 02:07:49 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"Aj80iUXg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1756285670; x=1756890470;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=/8DD2bSs3QnQLjUdI5vBu7DuexdVhZjBW7O248brbbE=;\n\tb=Aj80iUXghkfdxygyRA61xJuCo/O7Ph6PfHM9ms57YMJrkUvo/JjiLLRobuMyzzkNiD\n\tql+hgZ2LLujzufAfUZZOdl1fBKkbWVQ7vbklzPeogE7JANwv5TxsTO5i/r7ZdaWyiSbh\n\t94eSfhQydxLLWP+dmQ5hn2vm/vHgLWHc+pa2AuTeXmuBFWYaSEu3vhoHUF52TzBNc1OD\n\tNWJvJoQwApL41Rm/KY2gMHbKi4xQr+wssuzhiWEqmeoZTZI1YVfQTQ7kOwee03xNv8lg\n\tx5XZwpH4uOHBpwEjRG08wB5SbFFB6OtI+a7d9KOKv3JNDJTa4oOsHpyIMeqx8zMUFJOr\n\tEIOQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1756285670; x=1756890470;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=/8DD2bSs3QnQLjUdI5vBu7DuexdVhZjBW7O248brbbE=;\n\tb=cJkAMs+SShcX0q0I1dYWMQ4D//5msNZXWvKrNRvx+x/J+rCGM6SBKBc3mBaCAAcv2K\n\tJj4ayYKiX0F787v6+MScbMhKNyNbAfNNAN6wgazIQDxZivZcMgvR8WLfxxWK6lC1teJN\n\t2ay4Y/9XowthFEvklOWjnuAt7wCwvEtQKfv1q8dQtezOzoTJUUedqogDs22/o/bMlLrT\n\tZMXcodUXg1TSvBIt04auLjsyuj0KNupFT7LKps2RHOpKUEIM6csB2ohGdH4jGwFMUvQn\n\tD2W09V6Yvnc8FoZJ4QVau0RD9RSR0VkiuyN4pjoqx+DmZ5zWF4MkE23TX6+3CxAwAvnV\n\twwcQ==","X-Gm-Message-State":"AOJu0Yz4tqNBLEKBGOIjghM0CdJvrRj1PryuIsh1B+Ob4GkqKqCRUaNH\n\tIL6aWPt6GZlJApZAHYsZtoz4jmYemvtVkUZBcWmMPPC7rWP6R6xef8c5mvKKB2FcsL/P/8660rD\n\tqU5L5","X-Gm-Gg":"ASbGnct82n0DejXhkNuMzSsmHWXH979XAv0CLURrReOCyc2DAyBWECh31iPUdhGmSwP\n\tHr4+W3jLgx9qtyIIotsL4gdk1MqEaje3QkOF1ZQlGcGku+YuhjN7jZ7U4kk7UqpyQRDAUBGwmEt\n\tJnqNX1g+ycfCEBEnDYPcsldnCSbbPkvG2nLn4iFTKQ4v8R9BeTe4iMbVYNaMW7XV7BYf3x99AGx\n\t02e8bibqR4q6pbcS4c4Xfx7pqI3AKX2FZ639VLdOpiVwemW2wMZrPqIVK5S8FG5ap+sGA7j8orG\n\tYlev9j1+Hb4KPyJvGdurS3bWOawnPaWf88YflLPY0b+z8myezaZ4GJjjkrOjkKOypJiJfWRTIzP\n\tEafNvhe3DoIRbRTNM2qM6C8jdQ3DtY6c45FyR3Dlgy1kV7fYNxG4wfeMblk9VlkmTFh/66LvXkT\n\tuWVdrcjBUPQnEro5JBl5QHSqn7fEkXWBWqYpTb4VY=","X-Google-Smtp-Source":"AGHT+IFGLMLtWpyI3x678rb7MLNBvH1tcYA3tf3Fqd+ysFpsR3zRnW8J7R3sBx3159DRC195IuYxng==","X-Received":"by 2002:a05:600c:3596:b0:458:bd31:2c35 with SMTP id\n\t5b1f17b1804b1-45b517cca56mr171400475e9.25.1756285669923; \n\tWed, 27 Aug 2025 02:07:49 -0700 (PDT)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"David Plowman <david.plowman@raspberrypi.com>","Subject":"[RFC PATCH 09/12] libcamera: Don't wait for input streams to\n\tcomplete","Date":"Wed, 27 Aug 2025 10:07:36 +0100","Message-Id":"<20250827090739.86955-10-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.39.5","In-Reply-To":"<20250827090739.86955-1-david.plowman@raspberrypi.com>","References":"<20250827090739.86955-1-david.plowman@raspberrypi.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Don't add buffers corresponding to input streams to the \"pending\"\nlist. These buffers don't \"complete\" in the normal way, which would\nstop a request from ever completing.\n\nSigned-off-by: David Plowman <david.plowman@raspberrypi.com>\n---\n src/libcamera/request.cpp | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)","diff":"diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\nindex 7f1e11e8..11de57d6 100644\n--- a/src/libcamera/request.cpp\n+++ b/src/libcamera/request.cpp\n@@ -491,7 +491,9 @@ int Request::addBuffer(const Stream *stream, FrameBuffer *buffer,\n \t}\n \n \tbuffer->_d()->setRequest(this);\n-\t_d()->pending_.insert(buffer);\n+\t/* Don't want to wait for input buffers as they don't \"complete\". */\n+\tif (!stream->configuration().isInput())\n+\t\t_d()->pending_.insert(buffer);\n \n \tif (fence && fence->isValid())\n \t\tbuffer->_d()->setFence(std::move(fence));\n","prefixes":["RFC","09/12"]}