summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-06-19 19:52:49 +0200
committerwm4 <wm4@nowhere>2016-06-19 19:52:49 +0200
commit754ad1d7307a63fc580bebb485fff2ddda02b4c9 (patch)
treeb08a249806a1c4b9a4d0c0de459ef0be9bc29223
parent0cf187caca31265bb4138995b3eb20686bb71be5 (diff)
downloadmpv-754ad1d7307a63fc580bebb485fff2ddda02b4c9.tar.bz2
mpv-754ad1d7307a63fc580bebb485fff2ddda02b4c9.tar.xz
refqueue: free referenced images on free
Otherwise stale references will survive forever. Could leak hardware video surfaces. In particular, the mpv vdpau code crashed with an assertion when exiting after toggling deinterlacing, because not all references were released.
-rw-r--r--video/filter/refqueue.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/video/filter/refqueue.c b/video/filter/refqueue.c
index b8502695b7..04de3124a4 100644
--- a/video/filter/refqueue.c
+++ b/video/filter/refqueue.c
@@ -47,6 +47,7 @@ struct mp_refqueue *mp_refqueue_alloc(void)
void mp_refqueue_free(struct mp_refqueue *q)
{
+ mp_refqueue_flush(q);
talloc_free(q);
}