From 84c17449ce221c42475403a133e91c7677034c98 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Wed, 28 Nov 2018 14:36:09 +0300 Subject: [PATCH] lavf/dashenc: Delete HLS manifests on trailer writing if remove_at_exit is set. This fixes HLS manifests being left behind if remove_at_exit is set. --- libavformat/dashenc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index a7d8c4e237..af3f0ee167 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1619,6 +1619,18 @@ static int dash_write_trailer(AVFormatContext *s) dashenc_delete_file(s, filename); } dashenc_delete_file(s, s->url); + + if (c->hls_playlist && c->master_playlist_created) { + for (i = 0; i < s->nb_streams; i++) { + OutputStream *os = &c->streams[i]; + if (os->segment_type == SEGMENT_TYPE_MP4) { + get_hls_playlist_name(filename, sizeof(filename), c->dirname, i); + dashenc_delete_file(s, filename); + } + } + snprintf(filename, sizeof(filename), "%smaster.m3u8", c->dirname); + dashenc_delete_file(s, filename); + } } return 0;