summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sub/osd_libass.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sub/osd_libass.c b/sub/osd_libass.c
index e359501dc9..495bce2b73 100644
--- a/sub/osd_libass.c
+++ b/sub/osd_libass.c
@@ -54,6 +54,12 @@ void osd_init_backend(struct osd_state *osd)
void osd_destroy_backend(struct osd_state *osd)
{
+ for (int n = 0; n < MAX_OSD_PARTS; n++) {
+ struct osd_object *obj = osd->objs[n];
+ if (obj->osd_track)
+ ass_free_track(obj->osd_track);
+ obj->osd_track = NULL;
+ }
if (osd->osd_render)
ass_renderer_done(osd->osd_render);
osd->osd_render = NULL;