diff options
author | Kanglin <kl222@126.com> | 2012-12-29 12:09:17 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2012-12-29 17:26:30 +0100 |
commit | 27a15e0af6fbf074b2b0ad878f1f54c77f7d147a (patch) | |
tree | 3dad7a945e865f8bd4d8463d34040df274af9144 | |
parent | 9b1370aced385698bc783747917544ab69ecb373 (diff) | |
download | ffmpeg-streaming-27a15e0af6fbf074b2b0ad878f1f54c77f7d147a.zip ffmpeg-streaming-27a15e0af6fbf074b2b0ad878f1f54c77f7d147a.tar.gz |
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase
-rw-r--r-- | libavformat/hlsenc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 43b3505..32b8ab9 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -39,6 +39,7 @@ typedef struct ListEntry { typedef struct HLSContext { const AVClass *class; // Class for private options. int number; + int64_t sequence; AVOutputFormat *oformat; AVFormatContext *avf; float time; // Set by a private option. @@ -105,6 +106,8 @@ static int append_entry(HLSContext *hls, uint64_t duration) } else hls->nb_entries++; + hls->sequence++; + return 0; } @@ -138,8 +141,8 @@ static int hls_window(AVFormatContext *s, int last) avio_printf(hls->pb, "#EXTM3U\n"); avio_printf(hls->pb, "#EXT-X-VERSION:3\n"); avio_printf(hls->pb, "#EXT-X-TARGETDURATION:%d\n", target_duration); - avio_printf(hls->pb, "#EXT-X-MEDIA-SEQUENCE:%d\n", - FFMAX(0, hls->number - hls->size)); + avio_printf(hls->pb, "#EXT-X-MEDIA-SEQUENCE:%"PRId64"\n", + FFMAX(0, hls->sequence - hls->size)); for (en = hls->list; en; en = en->next) { avio_printf(hls->pb, "#EXTINF:%d,\n", en->duration); |