[FFmpeg-cvslog] avformat/hlsenc: do not append an endlist tag when the stream ends

MrBoogs git at videolan.org
Sun May 17 17:23:40 CEST 2015


ffmpeg | branch: master | MrBoogs <blendz at shaw.ca> | Tue Apr 21 15:53:57 2015 -0600| [4f2fcac290afeda7ac845b546f06d72f73918623] | committer: Michael Niedermayer

avformat/hlsenc: do not append an endlist tag when the stream ends

Reviewed-by: Thomas Volkert <silvo at gmx.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4f2fcac290afeda7ac845b546f06d72f73918623
---

 libavformat/hlsenc.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index f23a891..4d9466c 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -52,6 +52,7 @@ typedef enum HLSFlags {
     HLS_DELETE_SEGMENTS = (1 << 1),
     HLS_ROUND_DURATIONS = (1 << 2),
     HLS_DISCONT_START = (1 << 3),
+    HLS_OMIT_ENDLIST = (1 << 4),
 } HLSFlags;
 
 typedef struct HLSContext {
@@ -293,7 +294,7 @@ static int hls_window(AVFormatContext *s, int last)
         avio_printf(out, "%s\n", en->filename);
     }
 
-    if (last)
+    if (last && (hls->flags & HLS_OMIT_ENDLIST)==0)
         avio_printf(out, "#EXT-X-ENDLIST\n");
 
 fail:
@@ -524,6 +525,7 @@ static const AVOption options[] = {
     {"delete_segments", "delete segment files that are no longer part of the playlist", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_DELETE_SEGMENTS }, 0, UINT_MAX,   E, "flags"},
     {"round_durations", "round durations in m3u8 to whole numbers", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_ROUND_DURATIONS }, 0, UINT_MAX,   E, "flags"},
     {"discont_start", "start the playlist with a discontinuity tag", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_DISCONT_START }, 0, UINT_MAX,   E, "flags"},
+    {"omit_endlist", "Do not append an endlist when ending stream", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_OMIT_ENDLIST }, 0, UINT_MAX,   E, "flags"},
 
     { NULL },
 };



More information about the ffmpeg-cvslog mailing list