]> git.sesse.net Git - vlc/blobdiff - src/misc/picture_pool.c
messages: split logger initialization in two phases
[vlc] / src / misc / picture_pool.c
index e899f9eabbc5e46ea945822500a438a384c83dfc..98e093f130bee4d084ba11327b43baa4599768f8 100644 (file)
@@ -221,8 +221,6 @@ picture_pool_t *picture_pool_Reserve(picture_pool_t *master, unsigned count)
     if (!pool)
         goto error;
 
-    pool->pic_lock   = master->pic_lock;
-    pool->pic_unlock = master->pic_unlock;
     return pool;
 
 error:
@@ -253,7 +251,6 @@ picture_t *picture_pool_Get(picture_pool_t *pool)
             vlc_mutex_lock(&pool->lock);
             sys->in_use = false;
             pool->refs--;
-            vlc_mutex_unlock(&pool->lock);
             continue;
         }
 
@@ -330,3 +327,12 @@ unsigned picture_pool_GetSize(const picture_pool_t *pool)
 {
     return pool->picture_count;
 }
+
+void picture_pool_Enum(picture_pool_t *pool, void (*cb)(void *, picture_t *),
+                       void *opaque)
+{
+    /* NOTE: So far, the pictures table cannot change after the pool is created
+     * so there is no need to lock the pool mutex here. */
+    for (unsigned i = 0; i < pool->picture_count; i++)
+        cb(opaque, pool->picture[i]);
+}