diff options
author | Max Kellermann <max@duempel.org> | 2009-12-26 00:35:05 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-12-26 02:58:30 +0100 |
commit | 8a6d448aaf2095a691982eb7c2942dbad125a755 (patch) | |
tree | 42096823ff50002bb94601c26b557a4f250333fd /src/decoder/wavpack_plugin.c | |
parent | a1939f396618cd7c68d66bc388f051f137c163c6 (diff) | |
download | mpd-8a6d448aaf2095a691982eb7c2942dbad125a755.tar.gz mpd-8a6d448aaf2095a691982eb7c2942dbad125a755.tar.xz mpd-8a6d448aaf2095a691982eb7c2942dbad125a755.zip |
decoder/wavpack: allow fine-grained seeking
First multiply the floating point return value of
decoder_seek_where(), then cast to integer.
Diffstat (limited to 'src/decoder/wavpack_plugin.c')
-rw-r--r-- | src/decoder/wavpack_plugin.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/decoder/wavpack_plugin.c b/src/decoder/wavpack_plugin.c index 645c8962e..7ad3a62b0 100644 --- a/src/decoder/wavpack_plugin.c +++ b/src/decoder/wavpack_plugin.c @@ -185,10 +185,9 @@ wavpack_decode(struct decoder *decoder, WavpackContext *wpc, bool can_seek, do { if (decoder_get_command(decoder) == DECODE_COMMAND_SEEK) { if (can_seek) { - int where; + unsigned where = decoder_seek_where(decoder) * + audio_format.sample_rate; - where = decoder_seek_where(decoder); - where *= audio_format.sample_rate; if (WavpackSeekSample(wpc, where)) { position = where; decoder_command_finished(decoder); |