DecoderAPI: use std::chrono::duration for decoder_seek*()

For type safety and code readability.
This commit is contained in:
Max Kellermann
2014-08-26 21:52:28 +02:00
parent 02e697032f
commit 0c2d767f6f
11 changed files with 110 additions and 61 deletions

View File

@@ -204,37 +204,21 @@ decoder_command_finished(Decoder &decoder)
dc.Unlock();
}
double decoder_seek_where(gcc_unused Decoder & decoder)
SongTime
decoder_seek_time(Decoder &decoder)
{
const DecoderControl &dc = decoder.dc;
assert(dc.pipe != nullptr);
if (decoder.initial_seek_running)
return dc.start_ms / 1000.;
return SongTime(dc.start_ms);
assert(dc.command == DecoderCommand::SEEK);
decoder.seeking = true;
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);
return SongTime::FromS(dc.seek_where);
}
uint64_t