From bc5b5afcbfdf0772c2cee78e09a37758b81db5da Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 30 Aug 2014 00:53:14 +0200 Subject: decoder/sndfile: refactor frame_to_time() --- src/decoder/plugins/SndfileDecoderPlugin.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/decoder/plugins/SndfileDecoderPlugin.cxx') diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx index 558101089..6adba02cc 100644 --- a/src/decoder/plugins/SndfileDecoderPlugin.cxx +++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx @@ -140,11 +140,10 @@ static SF_VIRTUAL_IO vio = { /** * Converts a frame number to a timestamp (in seconds). */ -static SongTime -frame_to_time(sf_count_t frame, const AudioFormat *audio_format) +static constexpr SongTime +sndfile_duration(const SF_INFO &info) { - return SongTime::FromScale(frame, - audio_format->sample_rate); + return SongTime::FromScale(info.frames, info.samplerate); } static void @@ -174,7 +173,7 @@ sndfile_stream_decode(Decoder &decoder, InputStream &is) } decoder_initialized(decoder, audio_format, info.seekable, - frame_to_time(info.frames, &audio_format)); + sndfile_duration(info)); int buffer[4096]; @@ -246,9 +245,8 @@ sndfile_scan_stream(InputStream &is, return false; } - const auto duration = - SongTime::FromScale(info.frames, info.samplerate); - tag_handler_invoke_duration(handler, handler_ctx, duration); + tag_handler_invoke_duration(handler, handler_ctx, + sndfile_duration(info)); for (auto i : sndfile_tags) sndfile_handle_tag(sf, i.str, i.tag, handler, handler_ctx); -- cgit v1.2.3