@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)))); } }
@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); }