picture_pool_t *pool;
picture_t *picture;
bool in_use;
- int64_t tick;
+ uint64_t tick;
};
struct picture_pool_t {
- int64_t tick;
+ uint64_t tick;
/* */
unsigned picture_count;
picture_t **picture;
vlc_mutex_t lock;
};
-static void picture_pool_Release(picture_pool_t *pool)
+void picture_pool_Release(picture_pool_t *pool)
{
bool destroy;
return NULL;
}
-void picture_pool_Delete(picture_pool_t *pool)
-{
- picture_pool_Release(pool);
-}
-
picture_t *picture_pool_Get(picture_pool_t *pool)
{
vlc_mutex_lock(&pool->lock);
return NULL;
}
-void picture_pool_Reset(picture_pool_t *pool)
+unsigned picture_pool_Reset(picture_pool_t *pool)
{
+ unsigned ret = 0;
retry:
vlc_mutex_lock(&pool->lock);
assert(pool->refs > 0);
if (sys->in_use) {
vlc_mutex_unlock(&pool->lock);
picture_Release(picture);
-
+ ret++;
goto retry;
}
}
vlc_mutex_unlock(&pool->lock);
+
+ return ret;
}
void picture_pool_NonEmpty(picture_pool_t *pool)
vlc_mutex_unlock(&pool->lock);
}
-int picture_pool_GetSize(picture_pool_t *pool)
+unsigned picture_pool_GetSize(const picture_pool_t *pool)
{
return pool->picture_count;
}