[{"id":3876,"web_url":"https://patchwork.libcamera.org/comment/3876/","msgid":"<20200229150223.GW18738@pendragon.ideasonboard.com>","date":"2020-02-29T15:02:23","subject":"Re: [libcamera-devel] [PATCH v2 25/27] gst: utils: Factor-out the\n\ttask resume helper","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Nicolas and Jakub,\n\nThank you for the patch.\n\nOn Thu, Feb 27, 2020 at 03:04:05PM -0500, Nicolas Dufresne wrote:\n> From: Jakub Adam <jakub.adam@collabora.com>\n> \n> Task resume will be added in the core GStreamer API in the future and\n> we will need to call this in another location in the following patches.\n> \n> Signed-off-by: Jakub Adam <jakub.adam@collabora.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/gstreamer/gstlibcamera-utils.cpp | 11 +++++++++++\n>  src/gstreamer/gstlibcamera-utils.h   |  1 +\n>  src/gstreamer/gstlibcamerasrc.cpp    | 10 +---------\n>  3 files changed, 13 insertions(+), 9 deletions(-)\n> \n> diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp\n> index 231f3c5..11c2d56 100644\n> --- a/src/gstreamer/gstlibcamera-utils.cpp\n> +++ b/src/gstreamer/gstlibcamera-utils.cpp\n> @@ -160,3 +160,14 @@ gst_libcamera_configure_stream_from_caps(StreamConfiguration &stream_cfg,\n>  \tstream_cfg.size.width = width;\n>  \tstream_cfg.size.height = height;\n>  }\n> +\n> +void\n> +gst_libcamera_resume_task(GstTask *task)\n> +{\n> +\t/* We only want to resume the task if it's paused. */\n> +\tGLibLocker lock(GST_OBJECT(task));\n> +\tif (GST_TASK_STATE(task) == GST_TASK_PAUSED) {\n> +\t\tGST_TASK_STATE(task) = GST_TASK_STARTED;\n> +\t\tGST_TASK_SIGNAL(task);\n> +\t}\n> +}\n> diff --git a/src/gstreamer/gstlibcamera-utils.h b/src/gstreamer/gstlibcamera-utils.h\n> index 51898a0..440f196 100644\n> --- a/src/gstreamer/gstlibcamera-utils.h\n> +++ b/src/gstreamer/gstlibcamera-utils.h\n> @@ -17,6 +17,7 @@ GstCaps *gst_libcamera_stream_formats_to_caps(const libcamera::StreamFormats &fo\n>  GstCaps *gst_libcamera_stream_configuration_to_caps(const libcamera::StreamConfiguration &stream_cfg);\n>  void gst_libcamera_configure_stream_from_caps(libcamera::StreamConfiguration &stream_cfg,\n>  \t\t\t\t\t      GstCaps *caps);\n> +void gst_libcamera_resume_task(GstTask *task);\n>  \n>  /**\n>   * \\class GLibLocker\n> diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp\n> index 1e55916..fe60584 100644\n> --- a/src/gstreamer/gstlibcamerasrc.cpp\n> +++ b/src/gstreamer/gstlibcamerasrc.cpp\n> @@ -193,15 +193,7 @@ GstLibcameraSrcState::requestCompleted(Request *request)\n>  \t\tgst_libcamera_pad_queue_buffer(srcpad, buffer);\n>  \t}\n>  \n> -\t{\n> -\t\t/* We only want to resume the task if it's paused. */\n> -\t\tGstTask *task = this->src->task;\n> -\t\tGLibLocker lock(GST_OBJECT(task));\n> -\t\tif (GST_TASK_STATE(task) == GST_TASK_PAUSED) {\n> -\t\t\tGST_TASK_STATE(task) = GST_TASK_STARTED;\n> -\t\t\tGST_TASK_SIGNAL(task);\n> -\t\t}\n> -\t}\n> +\tgst_libcamera_resume_task(this->src->task);\n>  }\n>  \n>  static bool","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1D9B362689\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 29 Feb 2020 16:02:47 +0100 (CET)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AECDF33E;\n\tSat, 29 Feb 2020 16:02:46 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1582988566;\n\tbh=oYBxZgJ3vickqvHWkyFH0as9k9aG9kqmPSVJtRXKdiQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=T2DBzsCM4nNqN42QVxId4gSKmnN+VDCCbUapymx9+rcXvUpt1buzvGvEDcz7ObneI\n\tSTpgP9TzhvsseUgj7a+ggx2NuAF3QZa43BmPONqWepZ6dplx+mmPO8KEvCMNZ7w1bl\n\tRi1YT0FDFJ1vMxQVYoM4X8r+58aNlJMKepfUYsss=","Date":"Sat, 29 Feb 2020 17:02:23 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Nicolas Dufresne <nicolas.dufresne@collabora.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tJakub Adam <jakub.adam@collabora.com>","Message-ID":"<20200229150223.GW18738@pendragon.ideasonboard.com>","References":"<20200227200407.490616-1-nicolas.dufresne@collabora.com>\n\t<20200227200407.490616-26-nicolas.dufresne@collabora.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200227200407.490616-26-nicolas.dufresne@collabora.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v2 25/27] gst: utils: Factor-out the\n\ttask resume helper","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":"Sat, 29 Feb 2020 15:02:47 -0000"}}]