aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/DecoderAPI.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-08-26 11:02:02 +0200
committerMax Kellermann <max@duempel.org>2014-08-26 11:02:02 +0200
commit316c72a4aea4319443e7ea43e06b027f2b7b1ced (patch)
treee3a77de7cc35a48a99bf1d3466f7cb7f7405c07a /src/decoder/DecoderAPI.cxx
parent9da88eec3e60e1e34d13d1a8cfe53f25fec4505a (diff)
downloadmpd-316c72a4aea4319443e7ea43e06b027f2b7b1ced.tar.gz
mpd-316c72a4aea4319443e7ea43e06b027f2b7b1ced.tar.xz
mpd-316c72a4aea4319443e7ea43e06b027f2b7b1ced.zip
DecoderAPI: add decoder_seek_where_ms()
Move to fixed-point integers instead of floating point.
Diffstat (limited to 'src/decoder/DecoderAPI.cxx')
-rw-r--r--src/decoder/DecoderAPI.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/decoder/DecoderAPI.cxx b/src/decoder/DecoderAPI.cxx
index ae600260f..926a3955e 100644
--- a/src/decoder/DecoderAPI.cxx
+++ b/src/decoder/DecoderAPI.cxx
@@ -220,6 +220,23 @@ double decoder_seek_where(gcc_unused Decoder & decoder)
return dc.seek_where;
}
+unsigned
+decoder_seek_where_ms(Decoder &decoder)
+{
+ const DecoderControl &dc = decoder.dc;
+
+ assert(dc.pipe != nullptr);
+
+ if (decoder.initial_seek_running)
+ return dc.start_ms;
+
+ assert(dc.command == DecoderCommand::SEEK);
+
+ decoder.seeking = true;
+
+ return unsigned(dc.seek_where * 1000);
+}
+
void decoder_seek_error(Decoder & decoder)
{
DecoderControl &dc = decoder.dc;