From c9b204ea87ff490a0676452a4b9944773d175547 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 30 Oct 2018 22:49:01 +0900 Subject: [PATCH] d3dvideosink: Print lock/unlock log with trace debug level --- sys/d3dvideosink/d3dvideosink.h | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/sys/d3dvideosink/d3dvideosink.h b/sys/d3dvideosink/d3dvideosink.h index 22b6f29b25..de0da25624 100644 --- a/sys/d3dvideosink/d3dvideosink.h +++ b/sys/d3dvideosink/d3dvideosink.h @@ -75,17 +75,24 @@ struct _GstD3DVideoSinkClass GRecMutex lock; }; -#if 1 -# define LOCK_SINK(sink) g_rec_mutex_lock(&sink->lock); -# define UNLOCK_SINK(sink) g_rec_mutex_unlock(&sink->lock); -# define LOCK_CLASS(obj, klass) g_rec_mutex_lock(&klass->lock); -# define UNLOCK_CLASS(obj, klass) g_rec_mutex_unlock(&klass->lock); -#else -# define LOCK_SINK(sink) GST_LOG_OBJECT(sink, "SINK LOCK"); g_rec_mutex_lock(&sink->lock); GST_LOG_OBJECT(sink, "SINK LOCKED"); -# define UNLOCK_SINK(sink) g_rec_mutex_unlock(&sink->lock); GST_LOG_OBJECT(sink, "SINK UNLOCKED"); -# define LOCK_CLASS(obj, klass) GST_LOG_OBJECT(obj, "CLASS LOCK"); g_rec_mutex_lock(&klass->lock); GST_LOG_OBJECT(obj, "CLASS LOCKED"); -# define UNLOCK_CLASS(obj, klass) g_rec_mutex_unlock(&klass->lock); GST_LOG_OBJECT(obj, "CLASS UNLOCKED"); -#endif +#define LOCK_SINK(sink) G_STMT_START { \ + GST_TRACE_OBJECT(sink, "Locking sink from thread %p", g_thread_self()); \ + g_rec_mutex_lock(&sink->lock); \ + GST_TRACE_OBJECT(sink, "Locked sink from thread %p", g_thread_self()); \ +} G_STMT_END +#define UNLOCK_SINK(sink) G_STMT_START { \ + GST_TRACE_OBJECT(sink, "Unlocking sink from thread %p", g_thread_self()); \ + g_rec_mutex_unlock(&sink->lock); \ +} G_STMT_END +#define LOCK_CLASS(obj, klass) G_STMT_START { \ + GST_TRACE_OBJECT(obj, "Locking class from thread %p", g_thread_self()); \ + g_rec_mutex_lock(&klass->lock); \ + GST_TRACE_OBJECT(obj, "Locked class from thread %p", g_thread_self()); \ +} G_STMT_END +#define UNLOCK_CLASS(obj, klass) G_STMT_START { \ + GST_TRACE_OBJECT(obj, "Unlocking class from thread %p", g_thread_self()); \ + g_rec_mutex_unlock(&klass->lock); \ +} G_STMT_END GType gst_d3dvideosink_get_type (void);