@Override
  public void _parseDetails(ByteBuffer content) {
    parseVersionAndFlags(content);

    entryCount = IsoTypeReader.readUInt32(content);

    for (int i = 0; i < entryCount; i++) {
      SampleEntry sampleEntry = new SampleEntry();
      sampleEntry.setSampleDelta(IsoTypeReader.readUInt32(content));
      int subsampleCount = IsoTypeReader.readUInt16(content);
      for (int j = 0; j < subsampleCount; j++) {
        SampleEntry.SubsampleEntry subsampleEntry = new SampleEntry.SubsampleEntry();
        subsampleEntry.setSubsampleSize(
            getVersion() == 1
                ? IsoTypeReader.readUInt32(content)
                : IsoTypeReader.readUInt16(content));
        subsampleEntry.setSubsamplePriority(IsoTypeReader.readUInt8(content));
        subsampleEntry.setDiscardable(IsoTypeReader.readUInt8(content));
        subsampleEntry.setReserved(IsoTypeReader.readUInt32(content));
        sampleEntry.addSubsampleEntry(subsampleEntry);
      }
      entries.add(sampleEntry);
    }
  }