diff options
author | wm4 <wm4@nowhere> | 2016-01-04 15:29:29 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-01-04 15:29:29 +0100 |
commit | 1f38c2107d793f28139c3de1c318bfe38e087275 (patch) | |
tree | b1dcacfae68524ccfe4bf62fb22ea2a0c8160a01 | |
parent | 2f4bd58f4adc228bed5482cd07ab9478f8dd1924 (diff) | |
download | mpv-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.
-rw-r--r-- | sub/sd_ass.c | 5 |
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); } |