From 02e697032f7f375e67acc349ada6d849edf51aa3 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 26 Aug 2014 22:05:02 +0200 Subject: decoder/pcm: use integer seek times --- src/decoder/plugins/PcmDecoderPlugin.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/decoder/plugins/PcmDecoderPlugin.cxx') diff --git a/src/decoder/plugins/PcmDecoderPlugin.cxx b/src/decoder/plugins/PcmDecoderPlugin.cxx index f8e02500b..0f41099f2 100644 --- a/src/decoder/plugins/PcmDecoderPlugin.cxx +++ b/src/decoder/plugins/PcmDecoderPlugin.cxx @@ -41,6 +41,7 @@ pcm_stream_decode(Decoder &decoder, InputStream &is) strcmp(mime, "audio/x-mpd-cdda-pcm-reverse") == 0; const double time_to_size = audio_format.GetTimeToSize(); + const auto frame_size = audio_format.GetFrameSize(); float total_time = -1; if (is.KnownSize()) @@ -70,8 +71,8 @@ pcm_stream_decode(Decoder &decoder, InputStream &is) buffer, nbytes, 0) : decoder_get_command(decoder); if (cmd == DecoderCommand::SEEK) { - offset_type offset(time_to_size * - decoder_seek_where(decoder)); + uint64_t frame = decoder_seek_where_frame(decoder); + offset_type offset = frame * frame_size; Error error; if (is.LockSeek(offset, error)) { -- cgit v1.2.3