mp_image_pool: make reference counting thread-safe

See previous commits. Also simplify this thing: 2 flags per pool image
are enough to avoid a weird central refcount and an associated shared
object keeping the refcount. We could even just store these two flags
in the mp_image itself (like in mp_image.flags or mp_image.priv), but
let's not for the sake of readability.
This commit is contained in:
wm4
2013-07-28 00:10:58 +02:00
parent a9a6cf3b6c
commit c28bafcfb6
2 changed files with 70 additions and 40 deletions

View File

@@ -1,13 +1,7 @@
#ifndef MPV_MP_IMAGE_POOL_H
#define MPV_MP_IMAGE_POOL_H
struct mp_image_pool {
int max_count;
struct mp_image **images;
int num_images;
struct pool_trampoline *trampoline;
};
struct mp_image_pool;
struct mp_image_pool *mp_image_pool_new(int max_count);
struct mp_image *mp_image_pool_get(struct mp_image_pool *pool, unsigned int fmt,