@Override
 protected void _parseDetails(ByteBuffer content) {
   parseVersionAndFlags(content);
   groupingType = IsoTypeReader.read4cc(content);
   if (this.getVersion() == 1) {
     groupingTypeParameter = IsoTypeReader.read4cc(content);
   }
   long entryCount = IsoTypeReader.readUInt32(content);
   while (entryCount-- > 0) {
     entries.add(
         new Entry(
             l2i(IsoTypeReader.readUInt32(content)), l2i(IsoTypeReader.readUInt32(content))));
   }
 }
Пример #2
0
  @Override
  public void _parseDetails(ByteBuffer content) {
    parseVersionAndFlags(content);
    if (getVersion() == 1) {
      creationTime = DateHelper.convert(IsoTypeReader.readUInt64(content));
      modificationTime = DateHelper.convert(IsoTypeReader.readUInt64(content));
      timescale = IsoTypeReader.readUInt32(content);
      duration = content.getLong();

    } else {
      creationTime = DateHelper.convert(IsoTypeReader.readUInt32(content));
      modificationTime = DateHelper.convert(IsoTypeReader.readUInt32(content));
      timescale = IsoTypeReader.readUInt32(content);
      duration = content.getInt();
    }
    if (duration < -1) {
      LOG.logWarn("mvhd duration is not in expected range");
    }

    rate = IsoTypeReader.readFixedPoint1616(content);
    volume = IsoTypeReader.readFixedPoint88(content);
    IsoTypeReader.readUInt16(content);
    IsoTypeReader.readUInt32(content);
    IsoTypeReader.readUInt32(content);

    matrix = Matrix.fromByteBuffer(content);

    previewTime = content.getInt();
    previewDuration = content.getInt();
    posterTime = content.getInt();
    selectionTime = content.getInt();
    selectionDuration = content.getInt();
    currentTime = content.getInt();

    nextTrackId = IsoTypeReader.readUInt32(content);
  }