diff --git a/libavcodec/w32pthreads.h b/libavcodec/w32pthreads.h index 91e7353fbb..c58da49a61 100644 --- a/libavcodec/w32pthreads.h +++ b/libavcodec/w32pthreads.h @@ -256,6 +256,7 @@ static void pthread_cond_signal(pthread_cond_t *cond) static void w32thread_init(void) { +#if _WIN32_WINNT < 0x0600 HANDLE kernel_dll = GetModuleHandle(TEXT("kernel32.dll")); /* if one is available, then they should all be available */ cond_init = @@ -266,6 +267,13 @@ static void w32thread_init(void) (void*)GetProcAddress(kernel_dll, "WakeConditionVariable"); cond_wait = (void*)GetProcAddress(kernel_dll, "SleepConditionVariableCS"); +#else + cond_init = InitializeConditionVariable; + cond_broadcast = WakeAllConditionVariable; + cond_signal = WakeConditionVariable; + cond_wait = SleepConditionVariableCS; +#endif + } #endif /* AVCODEC_W32PTHREADS_H */