static parseMsPro_(data) {
    let byteOffset = 0;
    const view = shaka.util.BufferUtils.toDataView(data);

    // First 4 bytes is the PRO length (DWORD)
    const byteLength = view.getUint32(byteOffset, /* littleEndian= */ true);
    byteOffset += 4;

    if (byteLength != data.byteLength) {
      // Malformed PRO
      shaka.log.warning('PlayReady Object with invalid length encountered.');
      return [];
    }

    // Skip PRO Record count (WORD)
    byteOffset += 2;

    // Rest of the data contains the PRO Records
    return shaka.drm.PlayReady.parseMsProRecords_(view, byteOffset);
  }
Parses a buffer for PlayReady Objects.  The data
should contain a 32-bit integer indicating the length of
the PRO in bytes.  Following that, a 16-bit integer for
the number of PlayReady Object Records in the PRO.  Lastly,
a byte array of the PRO Records themselves.

PlayReady Object format: https://goo.gl/W8yAN4

@param {BufferSource} data
@return {!Array<shaka.drm.PlayReady.PlayReadyRecord>}
@private