@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, referenceId); IsoTypeWriter.writeUInt32(byteBuffer, timeScale); if (getVersion() == 0) { IsoTypeWriter.writeUInt32(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt32(byteBuffer, firstOffset); } else { IsoTypeWriter.writeUInt64(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt64(byteBuffer, firstOffset); } IsoTypeWriter.writeUInt16(byteBuffer, reserved); IsoTypeWriter.writeUInt16(byteBuffer, entries.size()); for (Entry entry : entries) { BitWriterBuffer b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getReferenceType(), 1); b.writeBits(entry.getReferencedSize(), 31); IsoTypeWriter.writeUInt32(byteBuffer, entry.getSubsegmentDuration()); b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getStartsWithSap(), 1); b.writeBits(entry.getSapType(), 3); b.writeBits(entry.getSapDeltaTime(), 28); } }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, referenceId); IsoTypeWriter.writeUInt32(byteBuffer, timeScale); if (getVersion() == 0) { IsoTypeWriter.writeUInt32(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt32(byteBuffer, firstOffset); } else { IsoTypeWriter.writeUInt64(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt64(byteBuffer, firstOffset); } IsoTypeWriter.writeUInt16(byteBuffer, reserved); IsoTypeWriter.writeUInt16(byteBuffer, entries.size()); for (Entry entry : entries) { BitWriterBuffer b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getReferenceType(), 1); b.writeBits(entry.getReferencedSize(), 31); IsoTypeWriter.writeUInt32(byteBuffer, entry.getSubsegmentDuration()); b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getStartsWithSap(), 1); b.writeBits(entry.getSapType(), 3); b.writeBits(entry.getSapDeltaTime(), 28); } }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, referenceId); IsoTypeWriter.writeUInt32(byteBuffer, timeScale); if (getVersion() == 0) { IsoTypeWriter.writeUInt32(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt32(byteBuffer, firstOffset); } else { IsoTypeWriter.writeUInt64(byteBuffer, earliestPresentationTime); IsoTypeWriter.writeUInt64(byteBuffer, firstOffset); } IsoTypeWriter.writeUInt16(byteBuffer, reserved); IsoTypeWriter.writeUInt16(byteBuffer, entries.size()); for (Entry entry : entries) { BitWriterBuffer b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getReferenceType(), 1); b.writeBits(entry.getReferencedSize(), 31); IsoTypeWriter.writeUInt32(byteBuffer, entry.getSubsegmentDuration()); b = new BitWriterBuffer(byteBuffer); b.writeBits(entry.getStartsWithSap(), 1); b.writeBits(entry.getSapType(), 3); b.writeBits(entry.getSapDeltaTime(), 28); } }