avformat/hlsenc: fix incomplete write of subtitle HLS playlist

This patch is a fix for the bug with ticket number 5812
(https://trac.ffmpeg.org/ticket/5812).

Basically, the bug is that the last segment and the "#EXT-X-ENDLIST"
tag are not being written to the subtitle playlist file when
converting a file with subtitles to the HLS format. The reason for
this seem to be that the filename for the subtitle file is being freed
too early. This solution is simply to free that memory after it's last
use in the "hls_window" function.

Signed-off-by: Franklin Phillips <franklinphillips9p8@inbox.lv>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
pull/230/head
Franklin Phillips 8 years ago committed by Michael Niedermayer
parent 443c9fab57
commit cefce6e2c1
  1. 6
      libavformat/hlsenc.c

@ -968,15 +968,15 @@ static int hls_write_trailer(struct AVFormatContext *s)
av_freep(&hls->basename);
avformat_free_context(oc);
hls->avf = NULL;
hls_window(s, 1);
if (vtt_oc) {
av_freep(&hls->vtt_basename);
av_freep(&hls->vtt_m3u8_name);
avformat_free_context(vtt_oc);
}
hls->avf = NULL;
hls_window(s, 1);
hls_free_segments(hls->segments);
hls_free_segments(hls->old_segments);
return 0;

Loading…
Cancel
Save