From patchwork Thu Nov 30 15:43:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaslo Ziska X-Patchwork-Id: 19256 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id B6A09BDE6B for ; Thu, 30 Nov 2023 15:54:22 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0EF9B629C2; Thu, 30 Nov 2023 16:54:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1701359662; bh=FdneQa+PqZGilWANlbU/xIaXDx7bKg1mhHY3BrQG+rY=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=wGC0NI2JcHDoHm7l/BrcpHcJfEdalRqIKYJKc5dF5o/IwAbfvtskDMkKQISzgdVxX LfXM5pd8XNoFSfdwUDnfGgDLnWrkzz55JwuTwdqKYoZ94N7vAWJKnEa6wnYC3BL0QW PecN+bUbsfQvZtAc+2V4LwmmGX0sWgFHtnnn5JyAkjGRR1hU+mqxonhXP1grzy57OB aZYN9QFrcwsgQQoHzaRyWADsF+QnxI5sPZ8nHoQLqrWazq5aG54H8B7xLc1Ql4WtTE AE0vD7JEqt0a4F3vU4OPWOl1KJDo91tFFn579gsioiAJOcbTkkTFfMP9GtIvlPxe2m gtKOzlwf86Evw== Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.162]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E216961DA0 for ; Thu, 30 Nov 2023 16:54:19 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=ziska.de header.i=@ziska.de header.b="tGnHlMn6"; dkim=permerror (0-bit key) header.d=ziska.de header.i=@ziska.de header.b="gVaW/Zb5"; dkim-atps=neutral ARC-Seal: i=1; a=rsa-sha256; t=1701359659; cv=none; d=strato.com; s=strato-dkim-0002; b=ogEHt7Ys+i0wQQSEoUb89zusonKPWXFhC71ykDJjorMbHshtKJhapCcSdeHi9lP0hy 1LYpAEvn4/tEJQOmbpdcXu66TliCRts7mnDbuiVWSmIkg7oI3QRUPop4wMkCr1HYZ6t6 194Jcm4CJFRFVFoG0vgBiS7Tc+RkfZX5yHuUwL+NzE4LyjMRED5hP3c5WkgZkYx434/2 CsnHILtsXVNGL7PdJZjtqLue0SeybjLPrx7faYZZ6nUpimxBjIcOAwB7ixxq8wqJ4LVF QC5HvFybCs7Osge9RMO7mKcEyL5rWjHS7gyTaMNPBJVd1whS597F7lKfXNuNM9R2j7L0 syEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1701359659; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=; b=RO7rE5RXMiQS1Ihzrka2lyLRYMTHWhmLViaDD/Ss2REYGunyegva4T1EGRIwI0hye2 G044qx3BSrbilnPY/Vuev7Kj1Mf2ILIIbovj+FY+4ZX2Wj8xM8ONkOcc3pET9nktE9Ms uoNyKlKH+SrpSJGKiRWpTn3H2syiosXT1f7dCZ5RTVosqEeHVXNwQ6XXhHuZo+3HQEzv gK1V4CG6pcoZ2uBYhKGarLpNZKJxc+wnXsCObQpl4asyqb+Vkz/F8+ZEpXIvWdjQytcC S7yBeSO0XEUjijsXcGY0wlhswQKi2asl6E7VDDx+3KkYhucJeCJVjJtmp5NLaeVtkfkr 2avA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1701359659; s=strato-dkim-0002; d=ziska.de; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=; b=tGnHlMn61CzVGCajaeGAtvEjB4WPKgOH9MrpeGK/XVMvNPKqWDdwWKKeGILyAwgKb4 eM+TIXe0p+Q6XpxNk9jxT4rBHKelBgEttTEAoHo/PRTHIbaQDGYYO1c69pFNGzi1MZa5 kF2KByi6I+8eJFv2jUKo93fhpjFcQ9JcC9j2ajpStQ+p/MroH6uBsmvvQjMnPSwRI7Tl pYSVLiuSPsWLWN8ucXN7aQOuekMIvDH6wgwm7Fx2HGgtIgpuaWksL2qJfNjzkGfggC+l vbim93FTDXHK1nLtTJRY/A/kZjWIpicdnvvYv462pmv4bmMzTHwzy+qM0J8vHSUI+WfI NVNw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1701359659; s=strato-dkim-0003; d=ziska.de; h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=r1tAcDqYtMvT0wnSvQaGQKssgQqlPhnUCUx5iarx4LU=; b=gVaW/Zb5eBextG+VxF33+/d792evGrZ/lWSZjU0FFbicnUBwyGL3ZGjxSzHtKViRa6 WHXmX9rysXm6coBrbODQ== X-RZG-AUTH: ":Jm0XeU+IYfb0x77LHmrjN5Wlb7TBwusDqIM6Hizy8VdfzvKi4yoFC9cH04q6BfJa07bS3ov6I8QOM/V5x+uTrCUtBrk=" Received: from archlinux.fritz.box by smtp.strato.de (RZmta 49.9.7 AUTH) with ESMTPSA id n54b84zAUFsJ0S7 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Thu, 30 Nov 2023 16:54:19 +0100 (CET) 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 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jaslo Ziska via libcamera-devel From: Jaslo Ziska Reply-To: Jaslo Ziska Cc: Jaslo Ziska Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, in this revision I mostly implemented Nicolas' suggestions namely writing a comment on the locking behaviour for gst_libcamera_src_negotiate and using the correct types and putting the addition of the clearRequests function into a seperate commit. Also the gst_libcamera_src_negotiate function now clears the reconfigure flag and thus not all pads need to be iterated when checking for this flag in the running task. Another thing I changed is that in processRequest in the GST_FLOW_NOT_NEGOTIATED case it is now checked whether any pad actually requested a renegotiation and if not an error is returned. Regards, Jaslo Jaslo Ziska (3): gstreamer: Move negotiation logic to separate function gstreamer: Add GstLibcameraSrcState::clearRequests method gstreamer: Implement renegotiation src/gstreamer/gstlibcamerasrc.cpp | 263 ++++++++++++++++++------------ 1 file changed, 158 insertions(+), 105 deletions(-) Tested-by: Nicolas Dufresne --- 2.43.0