picture_pool_t *picture_pool_Reserve(picture_pool_t *master, unsigned count)
{
- assert(master->pic_unlock == NULL);
-
picture_t *picture[count ? count : 1];
unsigned i;
return pool->picture_count;
}
-bool picture_pool_NeedsLocking(const picture_pool_t *pool)
+void picture_pool_Enum(picture_pool_t *pool, void (*cb)(void *, picture_t *),
+ void *opaque)
{
- return pool->pic_lock != NULL || pool->pic_unlock != NULL;
+ /* 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]);
}