From c1a999c4927181d5b9621af7a7808266e17f64e2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 10 Nov 2009 22:03:58 +0100 Subject: decoder/flac: don't use float to calculate song duration Simple (up-rounding) integer division is good enough. We're casting the result back to an integer anyway. --- src/decoder/flac_plugin.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/decoder/flac_plugin.c') diff --git a/src/decoder/flac_plugin.c b/src/decoder/flac_plugin.c index e2620c676..1694f71fc 100644 --- a/src/decoder/flac_plugin.c +++ b/src/decoder/flac_plugin.c @@ -272,8 +272,7 @@ flac_tag_load(const char *file, const char *char_tnum) flac_vorbis_comments_to_tag(tag, char_tnum, &block->data.vorbis_comment); } else if (block->type == FLAC__METADATA_TYPE_STREAMINFO) { - tag->time = ((float)block->data.stream_info.total_samples) / - block->data.stream_info.sample_rate + 0.5; + tag->time = flac_duration(&block->data.stream_info); } FLAC__metadata_object_delete(block); } while (FLAC__metadata_simple_iterator_next(it)); @@ -853,9 +852,7 @@ oggflac_tag_dup(const char *file) flac_vorbis_comments_to_tag(ret, NULL, &block->data.vorbis_comment); } else if (block->type == FLAC__METADATA_TYPE_STREAMINFO) { - ret->time = ((float)block->data.stream_info. - total_samples) / - block->data.stream_info.sample_rate + 0.5; + ret->time = flac_duration(&block->data.stream_info); } } while (FLAC__metadata_iterator_next(it)); FLAC__metadata_iterator_delete(it); -- cgit v1.2.3