mirror of
https://github.com/dslm4515/BMLFS.git
synced 2025-08-01 19:42:55 +00:00
50 lines
1.3 KiB
Diff
50 lines
1.3 KiB
Diff
commit 8a48dfff8f68f075d7277b21589de175b76493c1
|
|
Author: Daniel Kolesa <daniel@octaforge.org>
|
|
Date: Sat Jun 17 15:33:56 2023 +0200
|
|
|
|
unify ioctl interface with v4l2 on musl
|
|
|
|
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
|
|
index 5e85d1a..ee4d362 100644
|
|
--- a/libavdevice/v4l2.c
|
|
+++ b/libavdevice/v4l2.c
|
|
@@ -31,6 +31,7 @@
|
|
*/
|
|
|
|
#include <stdatomic.h>
|
|
+#include <stdarg.h>
|
|
|
|
#include "libavutil/avassert.h"
|
|
#include "libavutil/avstring.h"
|
|
@@ -107,11 +108,7 @@ struct video_data {
|
|
int (*open_f)(const char *file, int oflag, ...);
|
|
int (*close_f)(int fd);
|
|
int (*dup_f)(int fd);
|
|
-#ifdef __GLIBC__
|
|
int (*ioctl_f)(int fd, unsigned long int request, ...);
|
|
-#else
|
|
- int (*ioctl_f)(int fd, int request, ...);
|
|
-#endif
|
|
ssize_t (*read_f)(int fd, void *buffer, size_t n);
|
|
void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset);
|
|
int (*munmap_f)(void *_start, size_t length);
|
|
@@ -122,6 +119,18 @@ struct buff_data {
|
|
int index;
|
|
};
|
|
|
|
+/* ffs */
|
|
+static int ioctl_wrapper(int fd, unsigned long request, ...)
|
|
+{
|
|
+ void *arg;
|
|
+ va_list ap;
|
|
+ va_start(ap, request);
|
|
+ arg = va_arg(ap, void *);
|
|
+ va_end(ap);
|
|
+ return ioctl(fd, request, arg);
|
|
+}
|
|
+#define ioctl ioctl_wrapper
|
|
+
|
|
static int device_open(AVFormatContext *ctx, const char* device_path)
|
|
{
|
|
struct video_data *s = ctx->priv_data;
|