diff options
author | Max Kellermann <max@duempel.org> | 2014-08-26 11:02:02 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-08-26 11:02:02 +0200 |
commit | 316c72a4aea4319443e7ea43e06b027f2b7b1ced (patch) | |
tree | e3a77de7cc35a48a99bf1d3466f7cb7f7405c07a /src/decoder/DecoderAPI.cxx | |
parent | 9da88eec3e60e1e34d13d1a8cfe53f25fec4505a (diff) | |
download | mpd-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.cxx | 17 |
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; |