]> git.sesse.net Git - vlc/commitdiff
Use var_AcquireMutex for the quicktime lock.
authorRémi Denis-Courmont <rem@videolan.org>
Fri, 2 May 2008 16:25:10 +0000 (19:25 +0300)
committerRémi Denis-Courmont <rem@videolan.org>
Fri, 2 May 2008 16:25:10 +0000 (19:25 +0300)
include/vlc_main.h
modules/gui/macosx/voutqt.m
src/libvlc-common.c

index de964717cceae67c4d72fedcb85d978db81a4450..4892e1d8ffcd1362e25869ba426982d7683deb44 100644 (file)
@@ -76,9 +76,6 @@ struct libvlc_int_t
     counter_t            **pp_timers;     ///< Array of all timers
 
     vlc_mutex_t            config_lock;    ///< Lock for the config file
-#ifdef __APPLE__
-    vlc_mutex_t            quicktime_lock; ///< QT is not thread safe on OSX
-#endif
 
     /* Structure storing the action name / key associations */
     struct hotkey
index a2ca07a1dadc05cc7a60e2a436eeebefaa61b350..05bb4981e84d7c09124d4b35914b9d0c5db25fa8 100644 (file)
@@ -165,8 +165,8 @@ int E_(OpenVideoQT) ( vlc_object_t *p_this )
         return VLC_EGENERIC;
     }
 
-    /* Damn QT isn't thread safe. so keep a lock in the p_libvlc object */
-    vlc_mutex_lock( &p_vout->p_libvlc->quicktime_lock );
+    /* Damn QT isn't thread safe, so keep a process-wide lock */
+    vlc_mutex_t *p_qtlock = var_AcquireMutex( "quicktime_mutex" );
 
     /* Can we find the right chroma ? */
     if( p_vout->p_sys->b_cpu_has_simd )
@@ -179,7 +179,7 @@ int E_(OpenVideoQT) ( vlc_object_t *p_this )
         err = FindCodec( kYUV420CodecType, bestSpeedCodec,
                         nil, &p_vout->p_sys->img_dc );
     }
-    vlc_mutex_unlock( &p_vout->p_libvlc->quicktime_lock );
+    vlc_mutex_unlock( p_qtlock );
  
     if( err == noErr && p_vout->p_sys->img_dc != 0 )
     {
index 2acfc0308ad9531b7c1d616aa136ec44544bd85a..7831340b79e74d444960cd2ea2e7a638bfa81702 100644 (file)
@@ -212,7 +212,6 @@ libvlc_int_t * libvlc_InternalCreate( void )
     vlc_mutex_init( p_libvlc, &p_libvlc->timer_lock );
     vlc_mutex_init( p_libvlc, &p_libvlc->config_lock );
 #ifdef __APPLE__
-    vlc_mutex_init( p_libvlc, &p_libvlc->quicktime_lock );
     vlc_thread_set_priority( p_libvlc, VLC_THREAD_PRIORITY_LOW );
 #endif
     /* Store data for the non-reentrant API */