[FFmpeg-devel] [PATCH] avformat/hlsenc: fix incomplete write of subtitle HLS playlist

Franklin Phillips franklinphillips9p8 at inbox.lv
Fri Sep 2 22:20:21 EEST 2016


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 at inbox.lv>
---
 libavformat/hlsenc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 81b7efa..c0b5ef2 100644
--- a/libavformat/hlsenc.c
+++ b/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;
-- 
2.1.4



More information about the ffmpeg-devel mailing list