[FFmpeg-cvslog] avformat/hlsenc: improve compute after_init_list_dur

Steven Liu git at videolan.org
Wed Jul 11 08:28:40 EEST 2018


ffmpeg | branch: master | Steven Liu <lq at chinaffmpeg.org> | Mon Jul  9 17:05:30 2018 +0800| [bd8a5c6b7ce71c739ab95f6b17e8caeeec2dc9e7] | committer: Steven Liu

avformat/hlsenc: improve compute after_init_list_dur

fix ticket: 7305
vs->sequence - hls->start_sequence - vs->nb_entries is the
after_init_list_dur fragment numbers
fix the wrong compute way vs->sequence - vs->nb_entries

Signed-off-by: Steven Liu <lq at chinaffmpeg.org>

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

 libavformat/hlsenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 2268f898b0..b5644f05c4 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -2178,7 +2178,7 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
     if (vs->sequence - vs->nb_entries > hls->start_sequence && hls->init_time > 0) {
         /* reset end_pts, hls->recording_time at end of the init hls list */
         int init_list_dur = hls->init_time * vs->nb_entries * AV_TIME_BASE;
-        int after_init_list_dur = (vs->sequence - vs->nb_entries ) * hls->time * AV_TIME_BASE;
+        int after_init_list_dur = (vs->sequence - hls->start_sequence - vs->nb_entries ) * (hls->time * AV_TIME_BASE);
         hls->recording_time = hls->time * AV_TIME_BASE;
         end_pts = init_list_dur + after_init_list_dur ;
     }



More information about the ffmpeg-cvslog mailing list