Make sure `this.duration` is updated.