@Override protected byte[] writeData() { int dLength = getDataLength(); ByteBuffer b = ByteBuffer.wrap(new byte[dLength]); IsoTypeWriterVariable.write(value, b, dLength); return b.array(); }
public void writeTo(WritableByteChannel channel) throws IOException { for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write(bytes); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write((bytes)); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write((bytes)); } orignalSample.writeTo(channel); }
public ByteBuffer asByteBuffer() { int spsPpsSize = 0; for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { spsPpsSize += len + bytes.limit(); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { spsPpsSize += len + bytes.limit(); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { spsPpsSize += len + bytes.limit(); } ByteBuffer data = ByteBuffer.allocate(l2i(orignalSample.getSize()) + spsPpsSize); for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } data.put(orignalSample.asByteBuffer()); return (ByteBuffer) data.rewind(); } };
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, trackId); long temp; temp = reserved << 6; temp = temp | (((lengthSizeOfTrafNum - 1) & 0x3) << 4); temp = temp | (((lengthSizeOfTrunNum - 1) & 0x3) << 2); temp = temp | ((lengthSizeOfSampleNum - 1) & 0x3); IsoTypeWriter.writeUInt32(byteBuffer, temp); IsoTypeWriter.writeUInt32(byteBuffer, entries.size()); for (Entry entry : entries) { if (getVersion() == 1) { IsoTypeWriter.writeUInt64(byteBuffer, entry.time); IsoTypeWriter.writeUInt64(byteBuffer, entry.moofOffset); } else { IsoTypeWriter.writeUInt32(byteBuffer, entry.time); IsoTypeWriter.writeUInt32(byteBuffer, entry.moofOffset); } IsoTypeWriterVariable.write(entry.trafNumber, byteBuffer, lengthSizeOfTrafNum); IsoTypeWriterVariable.write(entry.trunNumber, byteBuffer, lengthSizeOfTrunNum); IsoTypeWriterVariable.write(entry.sampleNumber, byteBuffer, lengthSizeOfSampleNum); } }
public void getContent(ByteBuffer bb) { IsoTypeWriter.writeUInt16(bb, itemId); if (getVersion() == 1) { IsoTypeWriter.writeUInt16(bb, constructionMethod); } IsoTypeWriter.writeUInt16(bb, dataReferenceIndex); if (baseOffsetSize > 0) { IsoTypeWriterVariable.write(baseOffset, bb, baseOffsetSize); } IsoTypeWriter.writeUInt16(bb, extents.size()); for (Extent extent : extents) { extent.getContent(bb); } }
@Override protected byte[] writeData() { int dLength = getDataLength(); ByteBuffer b = ByteBuffer.wrap(new byte[dLength]); IsoTypeWriterVariable.write(value, b, dLength); return b.array(); }
public void writeTo(WritableByteChannel channel) throws IOException { for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write(bytes); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write((bytes)); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), (ByteBuffer) buf.rewind(), len); channel.write((ByteBuffer) buf.rewind()); channel.write((bytes)); } orignalSample.writeTo(channel); }
public ByteBuffer asByteBuffer() { int spsPpsSize = 0; for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { spsPpsSize += len + bytes.limit(); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { spsPpsSize += len + bytes.limit(); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { spsPpsSize += len + bytes.limit(); } ByteBuffer data = ByteBuffer.allocate(l2i(orignalSample.getSize()) + spsPpsSize); for (ByteBuffer bytes : avcC.getSequenceParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } for (ByteBuffer bytes : avcC.getSequenceParameterSetExts()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } for (ByteBuffer bytes : avcC.getPictureParameterSets()) { IsoTypeWriterVariable.write(bytes.limit(), data, len); data.put(bytes); } data.put(orignalSample.asByteBuffer()); return (ByteBuffer) data.rewind(); } };
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt32(byteBuffer, trackId); long temp; temp = reserved << 6; temp = temp | (((lengthSizeOfTrafNum - 1) & 0x3) << 4); temp = temp | (((lengthSizeOfTrunNum - 1) & 0x3) << 2); temp = temp | ((lengthSizeOfSampleNum - 1) & 0x3); IsoTypeWriter.writeUInt32(byteBuffer, temp); IsoTypeWriter.writeUInt32(byteBuffer, entries.size()); for (Entry entry : entries) { if (getVersion() == 1) { IsoTypeWriter.writeUInt64(byteBuffer, entry.time); IsoTypeWriter.writeUInt64(byteBuffer, entry.moofOffset); } else { IsoTypeWriter.writeUInt32(byteBuffer, entry.time); IsoTypeWriter.writeUInt32(byteBuffer, entry.moofOffset); } IsoTypeWriterVariable.write(entry.trafNumber, byteBuffer, lengthSizeOfTrafNum); IsoTypeWriterVariable.write(entry.trunNumber, byteBuffer, lengthSizeOfTrunNum); IsoTypeWriterVariable.write(entry.sampleNumber, byteBuffer, lengthSizeOfSampleNum); } }
public void getContent(ByteBuffer bb) { IsoTypeWriter.writeUInt16(bb, itemId); if (getVersion() == 1) { IsoTypeWriter.writeUInt16(bb, constructionMethod); } IsoTypeWriter.writeUInt16(bb, dataReferenceIndex); if (baseOffsetSize > 0) { IsoTypeWriterVariable.write(baseOffset, bb, baseOffsetSize); } IsoTypeWriter.writeUInt16(bb, extents.size()); for (Extent extent : extents) { extent.getContent(bb); } }