[FFmpeg-devel] [PATCH 2/2] lavf/dashenc: Delete HLS manifests on trailer writing if remove_at_exit is set.

Andrey Semashev andrey.semashev at gmail.com
Wed Nov 28 13:36:09 EET 2018


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;
-- 
2.19.1



More information about the ffmpeg-devel mailing list