taglist: update for thread API deprecations in glib master

This commit is contained in:
Tim-Philipp Müller 2011-12-03 15:36:58 +00:00
parent ca179625f8
commit 4b18f0a5c3

View file

@ -65,14 +65,23 @@ typedef struct
} }
GstTagInfo; GstTagInfo;
#if GLIB_CHECK_VERSION (2, 31, 0)
#define g_value_get_char g_value_get_schar
#endif
#if !GLIB_CHECK_VERSION (2, 31, 0)
static GMutex *__tag_mutex; static GMutex *__tag_mutex;
#define TAG_LOCK g_mutex_lock (__tag_mutex)
#define TAG_UNLOCK g_mutex_unlock (__tag_mutex)
#else
static GMutex __tag_mutex;
#define TAG_LOCK g_mutex_lock (&__tag_mutex)
#define TAG_UNLOCK g_mutex_unlock (&__tag_mutex)
#endif
/* tags hash table: maps tag name string => GstTagInfo */ /* tags hash table: maps tag name string => GstTagInfo */
static GHashTable *__tags; static GHashTable *__tags;
#define TAG_LOCK g_mutex_lock (__tag_mutex)
#define TAG_UNLOCK g_mutex_unlock (__tag_mutex)
GType GType
gst_tag_list_get_type (void) gst_tag_list_get_type (void)
{ {
@ -94,7 +103,11 @@ gst_tag_list_get_type (void)
void void
_gst_tag_initialize (void) _gst_tag_initialize (void)
{ {
#if !GLIB_CHECK_VERSION (2, 31, 0)
__tag_mutex = g_mutex_new (); __tag_mutex = g_mutex_new ();
#else
g_mutex_init (&__tag_mutex);
#endif
__tags = g_hash_table_new (g_str_hash, g_str_equal); __tags = g_hash_table_new (g_str_hash, g_str_equal);
gst_tag_register (GST_TAG_TITLE, GST_TAG_FLAG_META, gst_tag_register (GST_TAG_TITLE, GST_TAG_FLAG_META,
G_TYPE_STRING, G_TYPE_STRING,