getGenericData_(data = {}) {
    // Apply baseline data
    Object.assign(data, this.createData_());

    data.pr = this.playerInterface_.getPlaybackRate();

    const isVideo = data.ot === shaka.util.CmcdManager.ObjectType.VIDEO ||
        data.ot === shaka.util.CmcdManager.ObjectType.MUXED;

    if (this.starved_ && isVideo) {
      data.bs = true;
      data.su = true;
      this.starved_ = false;
    }

    if (data.su == null) {
      data.su = this.buffering_;
    }

    if (data.v === shaka.util.CmcdManager.Version.VERSION_2) {
      if (this.playerInterface_.isLive()) {
        data.ltc = this.playerInterface_.getLiveLatency();
      }

      const msd = this.calculateMSD_();
      if (msd != undefined) {
        data.msd = msd;
        this.msdSent_ = true;
      }
    }

    return this.filterKeys_(data);
  }
Get generic CMCD data.

@param {!CmcdData} data The data object
@return {!CmcdData}
@private