protected long getContentSize() { if (zeroTerm) { return 25 + Utf8.utf8StringLengthInBytes(name); } else { return 24 + Utf8.utf8StringLengthInBytes(name); } }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); byteBuffer.put(Utf8.convert(baseLocation)); byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(baseLocation)]); // string plus term zero byteBuffer.put(Utf8.convert(purchaseLocation)); byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(purchaseLocation)]); // string plus term zero byteBuffer.put(new byte[512]); }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeIso639(byteBuffer, language); IsoTypeWriter.writeUInt8(byteBuffer, keywords.length); for (String keyword : keywords) { IsoTypeWriter.writeUInt8(byteBuffer, Utf8.utf8StringLengthInBytes(keyword) + 1); byteBuffer.put(Utf8.convert(keyword)); } }
public static String readString(ByteBuffer byteBuffer, int length) { byte[] buffer = new byte[length]; byteBuffer.get(buffer); return Utf8.convert(buffer); }
public int getSize() { return 3 + Utf8.utf8StringLengthInBytes(namespace) + Utf8.utf8StringLengthInBytes(profileLevelIdc) + Utf8.utf8StringLengthInBytes(assetId); } }
@Override public void getBox(WritableByteChannel writableByteChannel) throws IOException { writableByteChannel.write(getHeader()); ByteBuffer byteBuffer = ByteBuffer.allocate(78); byteBuffer.position(6); IsoTypeWriter.writeUInt16(byteBuffer, dataReferenceIndex); IsoTypeWriter.writeUInt16(byteBuffer, 0); IsoTypeWriter.writeUInt16(byteBuffer, 0); IsoTypeWriter.writeUInt32(byteBuffer, predefined[0]); IsoTypeWriter.writeUInt32(byteBuffer, predefined[1]); IsoTypeWriter.writeUInt32(byteBuffer, predefined[2]); IsoTypeWriter.writeUInt16(byteBuffer, getWidth()); IsoTypeWriter.writeUInt16(byteBuffer, getHeight()); IsoTypeWriter.writeFixedPoint1616(byteBuffer, getHorizresolution()); IsoTypeWriter.writeFixedPoint1616(byteBuffer, getVertresolution()); IsoTypeWriter.writeUInt32(byteBuffer, 0); IsoTypeWriter.writeUInt16(byteBuffer, getFrameCount()); IsoTypeWriter.writeUInt8(byteBuffer, Utf8.utf8StringLengthInBytes(getCompressorname())); byteBuffer.put(Utf8.convert(getCompressorname())); int a = Utf8.utf8StringLengthInBytes(getCompressorname()); while (a < 31) { a++; byteBuffer.put((byte) 0); } IsoTypeWriter.writeUInt16(byteBuffer, getDepth()); IsoTypeWriter.writeUInt16(byteBuffer, 0xFFFF); writableByteChannel.write((ByteBuffer) byteBuffer.rewind()); writeContainer(writableByteChannel); }
@Override protected void getContent(ByteBuffer byteBuffer) { byteBuffer.put(Utf8.convert(config)); }
@Override protected long getContentSize() { return Utf8.utf8StringLengthInBytes(config); }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); byteBuffer.put(Utf8.convert(baseLocation)); byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(baseLocation)]); // string plus term zero byteBuffer.put(Utf8.convert(purchaseLocation)); byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(purchaseLocation)]); // string plus term zero byteBuffer.put(new byte[512]); }
@Override protected void getContent(ByteBuffer byteBuffer) { byteBuffer.put(Utf8.convert(sourceLabel)); }
@Override protected long getContentSize() { return 22 + Utf8.utf8StringLengthInBytes(schemeIdUri) + Utf8.utf8StringLengthInBytes(value) + messageData.length; }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeIso639(byteBuffer, language); IsoTypeWriter.writeUInt8(byteBuffer, keywords.length); for (String keyword : keywords) { IsoTypeWriter.writeUInt8(byteBuffer, Utf8.utf8StringLengthInBytes(keyword) + 1); byteBuffer.put(Utf8.convert(keyword)); } }
protected long getContentSize() { long contentSize = 7; for (String keyword : keywords) { contentSize += 1 + Utf8.utf8StringLengthInBytes(keyword) + 1; } return contentSize; }
@Override protected void _parseDetails(ByteBuffer content) { int length = content.getShort(); lang = content.getShort(); //Not sure if this is accurate. It always seems to be 15 c7 byte bytes[] = new byte[length]; content.get(bytes); coords = Utf8.convert(bytes); }
protected long getContentSize() { return 6 + Utf8.utf8StringLengthInBytes(performer) + 1; }
@Override protected void getContent(ByteBuffer byteBuffer) { byteBuffer.putShort((short) coords.length()); byteBuffer.putShort((short) lang); byteBuffer.put(Utf8.convert(coords)); }
protected long getContentSize() { return Utf8.utf8StringLengthInBytes(name) + 1 + Utf8.utf8StringLengthInBytes(location) + 1; }
/** * Reads a zero terminated UTF-8 string. * * @param byteBuffer the data source * @return the string readByte * @throws Error in case of an error in the underlying stream */ public static String readString(ByteBuffer byteBuffer) { ByteArrayOutputStream out = new ByteArrayOutputStream(); int read; while ((read = byteBuffer.get()) != 0) { out.write(read); } return Utf8.convert(out.toByteArray()); }