private void seekWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
var setPosition = (double)e.Result;
Logger.Debug("setPosition = " + setPosition);
if (setPosition != targetPosition) // targetPosition changed while we were seeking
{
Logger.Debug("targetPosition changed while we were seeking. Seek again.");
PerformSeek();
}
else
{
Logger.Debug("We reached targetPosition");
isWorking = false;
if (DoneWorking != null && !isCancelled)
DoneWorking(this, null);
}
}