docs: private long interpolateTimeSinceUpdate(TrackPositionUpdate update, long currentTimestamp) {
          if (!update.playing) {
              return update.milliseconds;
          }
          long elapsedMillis = (currentTimestamp - update.timestamp) / 1000000;
          long moved = Math.round(update.pitch * elapsedMillis);
          if (update.reverse) {
              return update.milliseconds - moved;
          }
          return update.milliseconds + moved;
      }