summaryrefslogtreecommitdiffstats
path: root/video/filter
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 /video/filter
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.
Diffstat (limited to 'video/filter')
-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);
}