[FFmpeg-cvslog] win32: Do not use GetProcAddress when compiled for Vista+

Jean-Baptiste Kempf git at videolan.org
Mon May 20 10:57:39 CEST 2013


ffmpeg | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue May 14 11:34:53 2013 +0200| [c360fb174b01170ab3fd3048d4d0acb44aa4e834] | committer: Martin Storsjö

win32: Do not use GetProcAddress when compiled for Vista+

Instead link directly to the condition variable functions.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c360fb174b01170ab3fd3048d4d0acb44aa4e834
---

 libavcodec/w32pthreads.h |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/w32pthreads.h b/libavcodec/w32pthreads.h
index 91e7353..c58da49 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 */



More information about the ffmpeg-cvslog mailing list