From 4cae6d4aedecd0a218b02f9a6a4f35c016385165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Tue, 25 Nov 2025 19:02:24 +0100 Subject: [PATCH] clapper: Use atomic operations for item ID generation --- src/lib/clapper/clapper-media-item.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/lib/clapper/clapper-media-item.c b/src/lib/clapper/clapper-media-item.c index cc36909c..2ed28def 100644 --- a/src/lib/clapper/clapper-media-item.c +++ b/src/lib/clapper/clapper-media-item.c @@ -88,8 +88,7 @@ enum #define parent_class clapper_media_item_parent_class G_DEFINE_TYPE (ClapperMediaItem, clapper_media_item, GST_TYPE_OBJECT); -static guint _item_id = 0; -static GMutex id_lock; +static gint _item_id = 0; static GParamSpec *param_specs[PROP_LAST] = { NULL, }; /** @@ -119,12 +118,7 @@ clapper_media_item_new (const gchar *uri) item = g_object_new (CLAPPER_TYPE_MEDIA_ITEM, "uri", uri, NULL); gst_object_ref_sink (item); - g_mutex_lock (&id_lock); - item->id = _item_id; - _item_id++; - g_mutex_unlock (&id_lock); - - /* FIXME: Set initial container format from file extension parsing */ + item->id = (guint) g_atomic_int_add (&_item_id, 1); GST_TRACE_OBJECT (item, "New media item, ID: %u, URI: \"%s\", title: \"%s\"", item->id, item->uri, GST_STR_NULL (item->title));