[FFmpeg-devel] [PATCH] avformat/file: add S_IFBLK/S_ISBLK compatability macro

Zhao Zhili quinkblack at foxmail.com
Wed Jan 11 11:00:35 EET 2023


From: Zhao Zhili <zhilizhao at tencent.com>

They are not available on Windows.

Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
---
 libavformat/file.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/libavformat/file.c b/libavformat/file.c
index d20208e31f..cbdf48de0a 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -68,6 +68,24 @@
 #  endif
 #endif
 
+/* S_ISREG not available on Windows */
+#ifndef S_ISREG
+#  ifdef S_IFREG
+#    define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#  else
+#    define S_ISREG(m) 0
+#  endif
+#endif
+
+/* S_ISBLK not available on Windows */
+#ifndef S_ISBLK
+#  ifdef S_IFBLK
+#    define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#  else
+#    define S_ISBLK(m) 0
+#  endif
+#endif
+
 /* standard file protocol */
 
 typedef struct FileContext {
-- 
2.35.3



More information about the ffmpeg-devel mailing list