{"id":19256,"url":"https://patchwork.libcamera.org/api/1.1/covers/19256/?format=json","web_url":"https://patchwork.libcamera.org/cover/19256/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20231130155323.13259-1-jaslo@ziska.de>","date":"2023-11-30T15:43:07","name":"[libcamera-devel,v2,0/3] gstreamer: Implement renegotiation","submitter":{"id":173,"url":"https://patchwork.libcamera.org/api/1.1/people/173/?format=json","name":"Jaslo Ziska","email":"jaslo@ziska.de"},"mbox":"https://patchwork.libcamera.org/cover/19256/mbox/","series":[{"id":4093,"url":"https://patchwork.libcamera.org/api/1.1/series/4093/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4093","date":"2023-11-30T15:43:07","name":"gstreamer: Implement renegotiation","version":2,"mbox":"https://patchwork.libcamera.org/series/4093/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/19256/comments/","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 B6A09BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Nov 2023 15:54:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0EF9B629C2;\n\tThu, 30 Nov 2023 16:54:22 +0100 (CET)","from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de\n\t[81.169.146.162])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E216961DA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Nov 2023 16:54:19 +0100 (CET)","from archlinux.fritz.box by smtp.strato.de (RZmta 49.9.7 AUTH)\n\twith ESMTPSA id n54b84zAUFsJ0S7\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))\n\t(Client did not present a certificate);\n\tThu, 30 Nov 2023 16:54:19 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1701359662;\n\tbh=FdneQa+PqZGilWANlbU/xIaXDx7bKg1mhHY3BrQG+rY=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=wGC0NI2JcHDoHm7l/BrcpHcJfEdalRqIKYJKc5dF5o/IwAbfvtskDMkKQISzgdVxX\n\tLfXM5pd8XNoFSfdwUDnfGgDLnWrkzz55JwuTwdqKYoZ94N7vAWJKnEa6wnYC3BL0QW\n\tPecN+bUbsfQvZtAc+2V4LwmmGX0sWgFHtnnn5JyAkjGRR1hU+mqxonhXP1grzy57OB\n\taZYN9QFrcwsgQQoHzaRyWADsF+QnxI5sPZ8nHoQLqrWazq5aG54H8B7xLc1Ql4WtTE\n\tAE0vD7JEqt0a4F3vU4OPWOl1KJDo91tFFn579gsioiAJOcbTkkTFfMP9GtIvlPxe2m\n\tgtKOzlwf86Evw==","v=1; a=rsa-sha256; c=relaxed/relaxed; t=1701359659;\n\ts=strato-dkim-0002; d=ziska.de;\n\th=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;\n\tbh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=;\n\tb=tGnHlMn61CzVGCajaeGAtvEjB4WPKgOH9MrpeGK/XVMvNPKqWDdwWKKeGILyAwgKb4\n\teM+TIXe0p+Q6XpxNk9jxT4rBHKelBgEttTEAoHo/PRTHIbaQDGYYO1c69pFNGzi1MZa5\n\tkF2KByi6I+8eJFv2jUKo93fhpjFcQ9JcC9j2ajpStQ+p/MroH6uBsmvvQjMnPSwRI7Tl\n\tpYSVLiuSPsWLWN8ucXN7aQOuekMIvDH6wgwm7Fx2HGgtIgpuaWksL2qJfNjzkGfggC+l\n\tvbim93FTDXHK1nLtTJRY/A/kZjWIpicdnvvYv462pmv4bmMzTHwzy+qM0J8vHSUI+WfI\n\tNVNw==","v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1701359659;\n\ts=strato-dkim-0003; d=ziska.de;\n\th=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;\n\tbh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=;\n\tb=gVaW/Zb5eBextG+VxF33+/d792evGrZ/lWSZjU0FFbicnUBwyGL3ZGjxSzHtKViRa6\n\tWHXmX9rysXm6coBrbODQ=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=ziska.de header.i=@ziska.de\n\theader.b=\"tGnHlMn6\"; \n\tdkim=permerror (0-bit key) header.d=ziska.de header.i=@ziska.de\n\theader.b=\"gVaW/Zb5\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1701359659; cv=none;\n\td=strato.com; s=strato-dkim-0002;\n\tb=ogEHt7Ys+i0wQQSEoUb89zusonKPWXFhC71ykDJjorMbHshtKJhapCcSdeHi9lP0hy\n\t1LYpAEvn4/tEJQOmbpdcXu66TliCRts7mnDbuiVWSmIkg7oI3QRUPop4wMkCr1HYZ6t6\n\t194Jcm4CJFRFVFoG0vgBiS7Tc+RkfZX5yHuUwL+NzE4LyjMRED5hP3c5WkgZkYx434/2\n\tCsnHILtsXVNGL7PdJZjtqLue0SeybjLPrx7faYZZ6nUpimxBjIcOAwB7ixxq8wqJ4LVF\n\tQC5HvFybCs7Osge9RMO7mKcEyL5rWjHS7gyTaMNPBJVd1whS597F7lKfXNuNM9R2j7L0\n\tsyEg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; t=1701359659;\n\ts=strato-dkim-0002; d=strato.com;\n\th=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;\n\tbh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=;\n\tb=RO7rE5RXMiQS1Ihzrka2lyLRYMTHWhmLViaDD/Ss2REYGunyegva4T1EGRIwI0hye2\n\tG044qx3BSrbilnPY/Vuev7Kj1Mf2ILIIbovj+FY+4ZX2Wj8xM8ONkOcc3pET9nktE9Ms\n\tuoNyKlKH+SrpSJGKiRWpTn3H2syiosXT1f7dCZ5RTVosqEeHVXNwQ6XXhHuZo+3HQEzv\n\tgK1V4CG6pcoZ2uBYhKGarLpNZKJxc+wnXsCObQpl4asyqb+Vkz/F8+ZEpXIvWdjQytcC\n\tS7yBeSO0XEUjijsXcGY0wlhswQKi2asl6E7VDDx+3KkYhucJeCJVjJtmp5NLaeVtkfkr\n\t2avA==","ARC-Authentication-Results":"i=1; strato.com;\n    arc=none;\n    dkim=none","X-RZG-CLASS-ID":"mo00","X-RZG-AUTH":"\":Jm0XeU+IYfb0x77LHmrjN5Wlb7TBwusDqIM6Hizy8VdfzvKi4yoFC9cH04q6BfJa07bS3ov6I8QOM/V5x+uTrCUtBrk=\"","To":"libcamera-devel@lists.libcamera.org","Date":"Thu, 30 Nov 2023 16:43:07 +0100","Message-ID":"<20231130155323.13259-1-jaslo@ziska.de>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain; charset=\"us-ascii\"","Subject":"[libcamera-devel] [PATCH v2 0/3] gstreamer: Implement renegotiation","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>","From":"Jaslo Ziska via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jaslo Ziska <jaslo@ziska.de>","Cc":"Jaslo Ziska <jaslo@ziska.de>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nin this revision I mostly implemented Nicolas' suggestions namely\nwriting a comment on the locking behaviour for\ngst_libcamera_src_negotiate and using the correct types and putting\nthe addition of the clearRequests function into a seperate commit.\nAlso the gst_libcamera_src_negotiate function now clears the\nreconfigure flag and thus not all pads need to be iterated when\nchecking for this flag in the running task.\n\nAnother thing I changed is that in processRequest in the\nGST_FLOW_NOT_NEGOTIATED case it is now checked whether any pad\nactually requested a renegotiation and if not an error is returned.\n\nRegards,\n\nJaslo\n\nJaslo Ziska (3):\n  gstreamer: Move negotiation logic to separate function\n  gstreamer: Add GstLibcameraSrcState::clearRequests method\n  gstreamer: Implement renegotiation\n\n src/gstreamer/gstlibcamerasrc.cpp | 263 ++++++++++++++++++------------\n 1 file changed, 158 insertions(+), 105 deletions(-)\n\n--\n2.43.0"}