From cd7d045ff372bd11927a6481aa7e2fceb89b7739 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 7 Mar 2015 08:36:38 -0800 Subject: [PATCH] libobs: Make filter mutex recursive --- libobs/obs-source.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libobs/obs-source.c b/libobs/obs-source.c index 234bbaa47..dfdfaa9d3 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -111,6 +111,8 @@ const char *obs_source_get_display_name(enum obs_source_type type, bool obs_source_init(struct obs_source *source, const struct obs_source_info *info) { + pthread_mutexattr_t attr; + source->refs = 1; source->user_volume = 1.0f; source->present_volume = 1.0f; @@ -120,7 +122,11 @@ bool obs_source_init(struct obs_source *source, pthread_mutex_init_value(&source->async_mutex); pthread_mutex_init_value(&source->audio_mutex); - if (pthread_mutex_init(&source->filter_mutex, NULL) != 0) + if (pthread_mutexattr_init(&attr) != 0) + return false; + if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) != 0) + return false; + if (pthread_mutex_init(&source->filter_mutex, &attr) != 0) return false; if (pthread_mutex_init(&source->audio_mutex, NULL) != 0) return false;