protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, entries.size()); int flags = getFlags(); if ((flags & 0x1) == 1) { //dataOffsetPresent IsoTypeWriter.writeUInt32(byteBuffer, dataOffset); } if ((flags & 0x4) == 0x4) { //firstSampleFlagsPresent firstSampleFlags.getContent(byteBuffer); } for (Entry entry : entries) { if ((flags & 0x100) == 0x100) { //sampleDurationPresent IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleDuration); } if ((flags & 0x200) == 0x200) { //sampleSizePresent IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleSize); } if ((flags & 0x400) == 0x400) { //sampleFlagsPresent entry.sampleFlags.getContent(byteBuffer); } if ((flags & 0x800) == 0x800) { //sampleCompositionTimeOffsetPresent if (getVersion() == 0) { IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleCompositionTimeOffset); } else { byteBuffer.putInt((int) entry.sampleCompositionTimeOffset); } } } }
protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, entries.size()); int flags = getFlags(); if ((flags & 0x1) == 1) { //dataOffsetPresent IsoTypeWriter.writeUInt32(byteBuffer, dataOffset); } if ((flags & 0x4) == 0x4) { //firstSampleFlagsPresent firstSampleFlags.getContent(byteBuffer); } for (Entry entry : entries) { if ((flags & 0x100) == 0x100) { //sampleDurationPresent IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleDuration); } if ((flags & 0x200) == 0x200) { //sampleSizePresent IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleSize); } if ((flags & 0x400) == 0x400) { //sampleFlagsPresent entry.sampleFlags.getContent(byteBuffer); } if ((flags & 0x800) == 0x800) { //sampleCompositionTimeOffsetPresent if (getVersion() == 0) { IsoTypeWriter.writeUInt32(byteBuffer, entry.sampleCompositionTimeOffset); } else { byteBuffer.putInt((int) entry.sampleCompositionTimeOffset); } } } }