vlc | branch: master | Thomas Guillem <[email protected]> | Fri Aug 16 09:57:49 2019 +0200| [7b34bcb6e2189b861da167444eaef8e5c26a2ef1] | committer: Thomas Guillem
coreaudio: use os_unfair_lock symbols directly And fix the timebase that was not initialized if the unfair_lock was not available. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7b34bcb6e2189b861da167444eaef8e5c26a2ef1 --- modules/audio_output/coreaudio_common.c | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/modules/audio_output/coreaudio_common.c b/modules/audio_output/coreaudio_common.c index 836a5f6de4..d605c4cdf9 100644 --- a/modules/audio_output/coreaudio_common.c +++ b/modules/audio_output/coreaudio_common.c @@ -28,12 +28,6 @@ #import <dlfcn.h> #import <mach/mach_time.h> -static struct -{ - void (*lock)(os_unfair_lock *lock); - void (*unlock)(os_unfair_lock *lock); -} unfair_lock; - static mach_timebase_info_data_t tinfo; static inline uint64_t @@ -63,47 +57,40 @@ ca_ClearOutBuffers(audio_output_t *p_aout) static void ca_init_once(void) { - unfair_lock.lock = os_unfair_lock_lock; - if (!unfair_lock.lock) - return; - unfair_lock.unlock = os_unfair_lock_unlock; - if (!unfair_lock.unlock) - unfair_lock.lock = NULL; - if (mach_timebase_info(&tinfo) != KERN_SUCCESS) tinfo.numer = tinfo.denom = 0; } -static void +static inline void lock_init(struct aout_sys_common *p_sys) { - if (unfair_lock.lock) + if (likely(os_unfair_lock_lock)) p_sys->lock.unfair = OS_UNFAIR_LOCK_INIT; else vlc_mutex_init(&p_sys->lock.mutex); } -static void +static inline void lock_destroy(struct aout_sys_common *p_sys) { - if (!unfair_lock.lock) + if (unlikely(!os_unfair_lock_lock)) vlc_mutex_destroy(&p_sys->lock.mutex); } -static void +static inline void lock_lock(struct aout_sys_common *p_sys) { - if (unfair_lock.lock) - unfair_lock.lock(&p_sys->lock.unfair); + if (likely(os_unfair_lock_lock)) + os_unfair_lock_lock(&p_sys->lock.unfair); else vlc_mutex_lock(&p_sys->lock.mutex); } -static void +static inline void lock_unlock(struct aout_sys_common *p_sys) { - if (unfair_lock.lock) - unfair_lock.unlock(&p_sys->lock.unfair); + if (likely(os_unfair_lock_lock)) + os_unfair_lock_unlock(&p_sys->lock.unfair); else vlc_mutex_unlock(&p_sys->lock.mutex); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
