summaryrefslogtreecommitdiffstats
path: root/sub
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-01-04 15:29:29 +0100
committerwm4 <wm4@nowhere>2016-01-04 15:29:29 +0100
commit1f38c2107d793f28139c3de1c318bfe38e087275 (patch)
treeb1dcacfae68524ccfe4bf62fb22ea2a0c8160a01 /sub
parent2f4bd58f4adc228bed5482cd07ab9478f8dd1924 (diff)
downloadmpv-1f38c2107d793f28139c3de1c318bfe38e087275.tar.bz2
mpv-1f38c2107d793f28139c3de1c318bfe38e087275.tar.xz
sd_ass: fix memory leaks with --sub-ass=no
This affects only the codepath which forcibly disables any ASS tags.
Diffstat (limited to 'sub')
-rw-r--r--sub/sd_ass.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sub/sd_ass.c b/sub/sd_ass.c
index b44878da5a..767ad927e2 100644
--- a/sub/sd_ass.c
+++ b/sub/sd_ass.c
@@ -564,7 +564,7 @@ static void fill_plaintext(struct sd *sd, double pts)
text++;
}
- if (!dst.start || !dst.start[0])
+ if (!dst.start)
return;
int n = ass_alloc_event(track);
@@ -576,6 +576,8 @@ static void fill_plaintext(struct sd *sd, double pts)
if (track->default_style < track->n_styles)
track->styles[track->default_style].Alignment = ctx->on_top ? 6 : 2;
+
+ talloc_free(dst.start);
}
static void reset(struct sd *sd)
@@ -596,6 +598,7 @@ static void uninit(struct sd *sd)
if (ctx->converter)
lavc_conv_uninit(ctx->converter);
ass_free_track(ctx->ass_track);
+ ass_free_track(ctx->shadow_track);
enable_output(sd, false);
ass_library_done(ctx->ass_library);
}