[FFmpeg-devel] [PATCH] w32pthread: fix signature of WinRT version of thread worker
Steve Lhomme
robux4 at ycbcr.xyz
Tue May 23 14:23:24 EEST 2023
The callback passed to CreateThread is not the same as with _beginthreadex().
This WinRT check could be removed if Win8 WinRT is not maintained
as _beginthreadex() is now available [1]
[1] https://learn.microsoft.com/en-us/cpp/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps?view=msvc-160#windows-8x-store-apps-and-windows-phone-8x-apps
---
compat/w32pthreads.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index 6405e72b64..364eebfe4e 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -66,7 +66,11 @@ typedef CONDITION_VARIABLE pthread_cond_t;
#define PTHREAD_CANCEL_ENABLE 1
#define PTHREAD_CANCEL_DISABLE 0
+#if HAVE_WINRT
+static av_unused DWORD WINAPI attribute_align_arg win32thread_worker(void *arg)
+#else
static av_unused unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
+#endif
{
pthread_t *h = (pthread_t*)arg;
h->ret = h->func(h->arg);
--
2.39.2
More information about the ffmpeg-devel
mailing list