public void SetPosition (string trackid, long position)
{
if (!CanSeek) {
return;
}
if (String.IsNullOrEmpty (trackid) || trackid != (string)Metadata["trackid"]) {
return;
}
// position is in microseconds, we speak in milliseconds
long position_ms = position / 1000;
if (position_ms < 0 || position_ms > playback_service.CurrentTrack.Duration.TotalMilliseconds) {
return;
}
engine_service.Position = (uint)position_ms;
}