[FFmpeg-cvslog] avformat/hls: avoid floating point arithmetic

Michael Niedermayer git at videolan.org
Mon Jul 22 20:15:22 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Jul 22 19:36:33 2013 +0200| [419a3d8a43d2047ae5339895943fb8926eaa6f8c] | committer: Michael Niedermayer

avformat/hls: avoid floating point arithmetic

Should make things more reproducable across platforms

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/hls.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/hls.c b/libavformat/hls.c
index 995dc9f..355f1a6 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -524,10 +524,10 @@ static int hls_read_header(AVFormatContext *s)
     /* If this isn't a live stream, calculate the total duration of the
      * stream. */
     if (c->variants[0]->finished) {
-        double duration = 0.0;
+        int64_t duration = 0;
         for (i = 0; i < c->variants[0]->n_segments; i++)
-            duration += c->variants[0]->segments[i]->duration;
-        s->duration = duration * AV_TIME_BASE;
+            duration += round(c->variants[0]->segments[i]->duration * AV_TIME_BASE);
+        s->duration = duration;
     }
 
     /* Open the demuxer for each variant */



More information about the ffmpeg-cvslog mailing list