{"id":3504,"url":"https://patchwork.libcamera.org/api/covers/3504/?format=json","web_url":"https://patchwork.libcamera.org/cover/3504/","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":"<20200421203954.15585-1-andrey.konovalov@linaro.org>","date":"2020-04-21T20:39:52","name":"[libcamera-devel,0/2] Simple pipeline: skip broken pipeline configurations","submitter":{"id":25,"url":"https://patchwork.libcamera.org/api/people/25/?format=json","name":"Andrey Konovalov","email":"andrey.konovalov@linaro.org"},"mbox":"https://patchwork.libcamera.org/cover/3504/mbox/","series":[{"id":818,"url":"https://patchwork.libcamera.org/api/series/818/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=818","date":"2020-04-21T20:39:52","name":"Simple pipeline: skip broken pipeline configurations","version":1,"mbox":"https://patchwork.libcamera.org/series/818/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/3504/comments/","headers":{"Return-Path":"<andrey.konovalov@linaro.org>","Received":["from mail-lj1-x244.google.com (mail-lj1-x244.google.com\n\t[IPv6:2a00:1450:4864:20::244])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9008860406\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Apr 2020 22:40:11 +0200 (CEST)","by mail-lj1-x244.google.com with SMTP id f18so9414778lja.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Apr 2020 13:40:11 -0700 (PDT)","from localhost.localdomain (37-144-159-139.broadband.corbina.ru.\n\t[37.144.159.139]) by smtp.googlemail.com with ESMTPSA id\n\tg6sm476176ljj.78.2020.04.21.13.40.09\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 21 Apr 2020 13:40:09 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=linaro.org\n\theader.i=@linaro.org header.b=\"bPazIDSR\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;\n\th=from:to:cc:subject:date:message-id;\n\tbh=QXqWfRYvJW7gxIid/dbDOHWOPkPO4wQML/c57bb8l2A=;\n\tb=bPazIDSRrk5WSylNK+IHuWkhO2u4dZu1fSjbhMf6wiGPIBbz5EbQ7x3p0oWlQvAHKa\n\t6VhKO7n/CTsHR70txG3fRoMbyOC3Tb4avgf4LHJRWLSe4EKlvhjRwPy9/mp8GkudxxDM\n\t/Wp/xP2cgiKpG29994pS+LzCOk/r1C7pjUykHTrzXFTHuyhITprX23+SUW4GaUfrUGXB\n\t5tDfwlgH0wIsM2L9F/krU1wZ9dOZwZk6jz3ZUF3CrfZjvwix8wIDMMMiNmqLDikb9myn\n\tVjQmc65pVzAzH6spjTgH6uO8AlvFg3ryB2zfjE92jbNclw0v/OC94DA1l5j1kXqp/mvX\n\t4/gA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=QXqWfRYvJW7gxIid/dbDOHWOPkPO4wQML/c57bb8l2A=;\n\tb=mzg9PQGpPW/kexxLiz6DCa3na42rLGFTRu1ALA1PKmcTh+Sc+KAEPmkzr8OQAvyOrl\n\tILllQHodYCe1DlThmNe1oUL8eMsxCyI+C+BpkZcx3Uka1Av8p1zqmUxwd18/n7C+X+bP\n\t4hSTryxQOQKpFfmok3uE9uWPVsScQescJ/RDizxpVYV3PgjvO4G631P83xFHSPvuxXuY\n\tVhhPtbxBjCebIFjcVhGC/2scUk9Oodhdpjnu+C99Gu1jNbs4QuLMjE+XVsbPiTayX1sq\n\txoSdTQ/KDGBGiSRsfwnUZxcdm0hpS9G3o9Do5gwYbZDdkKM3wdaaPyuUkbs6suAkYxEv\n\tRSSw==","X-Gm-Message-State":"AGi0PuYa2thYHoMtnWVN8mk7yxnf0VcdfTrR+37ANHpsa0iVU6dfPzCw\n\taZhVPNgoaGBeFpNzcp0aeEHgqEoDixA=","X-Google-Smtp-Source":"APiQypJIcFm5e4xcpRW6YSEqYyebwByOZdfD2rarNnJMQ2Mb5MkO3jaJpUznrVJGvhvMSMx//vp8+Q==","X-Received":"by 2002:a2e:9bc4:: with SMTP id\n\tw4mr14936096ljj.178.1587501610403; \n\tTue, 21 Apr 2020 13:40:10 -0700 (PDT)","From":"Andrey Konovalov <andrey.konovalov@linaro.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 21 Apr 2020 23:39:52 +0300","Message-Id":"<20200421203954.15585-1-andrey.konovalov@linaro.org>","X-Mailer":"git-send-email 2.17.1","Subject":"[libcamera-devel] [PATCH 0/2] Simple pipeline: skip broken pipeline\n\tconfigurations","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>","X-List-Received-Date":"Tue, 21 Apr 2020 20:40:11 -0000"},"content":"When enumerating the possible pipeline configurations, SimpleCameraData::init()\ndoesn't check if the sink pad uses the same format as the source pad of the\nsame link does. This can result in broken pipeline configurations added to\nthe formats_ map, and if such a configuration is selected the issue reveals\nlate as a failure to start streaming.\n\nThe first patch adds the check into SimpleCameraData::setupFormats() - now\nit returns -EINVAL if a link is misconfigured.\n\nThe second patch prevents the enumeration of the possible pipeline\nconfigurations from being aborted on the first broken configuration\nand proceeds with the next media bus code instead.\n\nAndrey Konovalov (2):\n  libcamera: pipeline: simple: make sure the formats at the link's pads\n    match\n  libcamera: pipeline: simple: try next mbus code if setupFormats()\n    fails\n\n src/libcamera/pipeline/simple/simple.cpp | 17 +++++++++++++++--\n 1 file changed, 15 insertions(+), 2 deletions(-)"}