[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