On 07/12/11 06:08, Ronald S. Bultje wrote:
diff --git a/libavcodec/w32pthreads.h b/libavcodec/w32pthreads.h
index c015b87..95dcdaa 100644
--- a/libavcodec/w32pthreads.h
+++ b/libavcodec/w32pthreads.h
@@ -115,9 +115,12 @@ static inline int pthread_mutex_unlock(pthread_mutex_t *m)
  /* for pre-Windows 6.0 platforms we need to define and use our own condition
   * variable and api */
  typedef struct {
+    pthread_mutex_t mtx_broadcast;
      pthread_mutex_t mtx_waiter_count;
      volatile int waiter_count;
      HANDLE semaphore;
+    HANDLE waiters_done;
+    int is_broadcast;
  } win32_cond_t;

  static void pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
@@ -136,8 +139,12 @@ static void pthread_cond_init(pthread_cond_t *cond, const 
void *unused_attr)
      win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL);
      if (!win32_cond->semaphore)
          return;
+    win32_cond->waiters_done = CreateEvent(NULL, FALSE, FALSE, NULL);
+    if (!win32_cond->waiters_done)
+        return -1;

return;

The rest looks ok.

--

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to