[libcamera-devel] [PATCH] gstreamer: Fix unused variable error
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Nov 23 08:51:38 CET 2023
Hi Jaslo,
Thank you for sending a quick fix, much appreciated.
On Wed, Nov 22, 2023 at 08:15:47PM +0100, Jaslo Ziska via libcamera-devel wrote:
> Fix unused variable error introduced in fd84180d.
Missing Signed-off-by: tag. A Fixes: tag is also needed. The commit
message could read
--------
Commit fd84180d7a09 ("gstreamer: Implement element EOS handling") has
introduced a compilation warning with clang:
../../src/gstreamer/gstlibcamerasrc.cpp:768:23: error: unused variable 'oldEvent' [-Werror,-Wunused-variable]
g_autoptr(GstEvent) oldEvent = self->pending_eos.exchange(event);
^
This seems to be a false positive, but nonetheless breaks the build. Fix
it.
Fixes: fd84180d7a09 ("gstreamer: Implement element EOS handling")
Signed-off-by: Jaslo Ziska <jaslo at ziska.de>
--------
> ---
> This patch fixes the unused variable error raised by Laurent.
>
> src/gstreamer/gstlibcamerasrc.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp
> index 767017db..b0eb2dd7 100644
> --- a/src/gstreamer/gstlibcamerasrc.cpp
> +++ b/src/gstreamer/gstlibcamerasrc.cpp
> @@ -765,7 +765,7 @@ gst_libcamera_src_send_event(GstElement *element, GstEvent *event)
>
> switch (GST_EVENT_TYPE(event)) {
> case GST_EVENT_EOS: {
> - g_autoptr(GstEvent) oldEvent = self->pending_eos.exchange(event);
> + [[maybe_unused]] g_autoptr(GstEvent) oldEvent = self->pending_eos.exchange(event);
I prefer Nicolas' proposal:
GstEvent *oldEvent = self->pending_eos.exchange(event);
gst_clear_event(&oldEvent);
This is more explicit, I'm slightly worried that the [[maybe_unused]]
may lead to an incorrect optimization with clang. If clang believes that
the variable is unused, it may just omit it and fail to handle the
cleanup.
I'll send a v2 of this (keeping your authorship of course). Please let
me know if you're fine with the changes by reviewing v2, and I'll push
the fix.
I also apologize for the long mail threads and the conflicted revert
that was posted, there's been some miscommunication.
>
> ret = TRUE;
> break;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list