41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From 5ce1e410965ed047a03c09b17796162f0363e396 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Mon, 13 Feb 2023 12:47:31 -0800
|
|
Subject: [PATCH] v4l2: Define ioctl_req_t for posix/linux case
|
|
|
|
this is an issue seen with musl based linux distros e.g. alpine [1]
|
|
musl is not going to change this since it breaks ABI/API interfaces
|
|
Newer compilers are stringent ( e.g. clang16 ) which can now detect
|
|
signature mismatches in function pointers too, existing code warned but
|
|
did not error with older clang
|
|
|
|
Fixes
|
|
gstv4l2object.c:544:23: error: incompatible function pointer types assigning to 'gint (*)(gint, ioctl_req_t, ...)' (aka 'int (*)(int, unsigned long, ...)') from 'int (int, int, ...)' [-Wincompatible-function-pointer-types]
|
|
v4l2object->ioctl = ioctl;
|
|
^ ~~~~~
|
|
|
|
[1] https://gitlab.alpinelinux.org/alpine/aports/-/issues/7580
|
|
|
|
Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3950]
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
sys/v4l2/gstv4l2object.h | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h
|
|
index 3a5c961..4f43008 100644
|
|
--- a/sys/v4l2/gstv4l2object.h
|
|
+++ b/sys/v4l2/gstv4l2object.h
|
|
@@ -76,6 +76,8 @@ typedef gboolean (*GstV4l2UpdateFpsFunction) (GstV4l2Object * v4l2object);
|
|
* 'unsigned long' for the 2nd parameter */
|
|
#ifdef __ANDROID__
|
|
typedef unsigned ioctl_req_t;
|
|
+#elif defined(__linux__) && !defined(__GLIBC__) /* musl/linux */
|
|
+typedef int ioctl_req_t;
|
|
#else
|
|
typedef gulong ioctl_req_t;
|
|
#endif
|
|
--
|
|
2.39.1
|
|
|