Esempio n. 1
0
  private FrameHeader createFrameHeader(char[] source) throws ID3ReaderException {
    if (source.length != HEADER_LENGTH) {
      throw new ID3ReaderException("Length of header must be " + HEADER_LENGTH);
    }
    String id = new String(source, 0, FRAME_ID_LENGTH);

    int size =
        (((int) source[4]) << 24)
            | (((int) source[5]) << 16)
            | (((int) source[6]) << 8)
            | source[7];
    if (tagHeader != null && tagHeader.getVersion() >= 0x0400) {
      size = unsynchsafe(size);
    }
    char flags = (char) ((source[8] << 8) | source[9]);
    return new FrameHeader(id, size, flags);
  }