summaryrefslogtreecommitdiffstats
path: root/sub
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-12-14 19:32:35 +0100
committerwm4 <wm4@nowhere>2012-12-14 19:59:30 +0100
commite288af5df4a9e379fbb6593e9c092920eebc82f0 (patch)
tree21f86b3c0ba2656fe961867f8ff2cf06fe48c294 /sub
parent925c3af9280cb23f00a5ca4c19e8f2331a23ff89 (diff)
downloadmpv-e288af5df4a9e379fbb6593e9c092920eebc82f0.tar.bz2
mpv-e288af5df4a9e379fbb6593e9c092920eebc82f0.tar.xz
sd_ass: free external subtitle tracks
Diffstat (limited to 'sub')
-rw-r--r--sub/sd_ass.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sub/sd_ass.c b/sub/sd_ass.c
index 47bcbc92cf..00f2f8d796 100644
--- a/sub/sd_ass.c
+++ b/sub/sd_ass.c
@@ -185,12 +185,18 @@ const struct sd_functions sd_ass = {
.uninit = uninit,
};
+static int sd_ass_track_destructor(void *ptr)
+{
+ uninit(ptr);
+ return 1;
+}
struct sh_sub *sd_ass_create_from_track(struct ass_track *track,
bool vsfilter_aspect,
struct MPOpts *opts)
{
struct sh_sub *sh = talloc(NULL, struct sh_sub);
+ talloc_set_destructor(sh, sd_ass_track_destructor);
*sh = (struct sh_sub) {
.opts = opts,
.type = 'a',