Package org.apache.tika.parser.mp3
Class ID3v2Frame
- java.lang.Object
-
- org.apache.tika.parser.mp3.ID3v2Frame
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classID3v2Frame.RawTagprotected classID3v2Frame.RawTagIteratorIterates over id3v2 raw tags.protected static classID3v2Frame.TextEncoding
-
Field Summary
Fields Modifier and Type Field Description protected static ID3v2Frame.TextEncoding[]encodings
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MP3FramecreateFrameIfPresent(InputStream inp)Returns the next ID3v2 Frame in the file, or null if the next batch of data doesn't correspond to either an ID3v2 header.protected static intget7BitsInt(byte[] data, int offset)AKA a Synchsafe integer. 4 bytes hold a 28 bit number.protected static ID3Tags.ID3CommentgetComment(byte[] data, int offset, int length)Builds up the ID3 comment, by parsing and extracting the comment string parts from the given data.byte[]getData()byte[]getExtendedHeader()intgetFlags()protected static intgetInt(byte[] data)protected static intgetInt(byte[] data, int offset)protected static intgetInt2(byte[] data, int offset)protected static intgetInt3(byte[] data, int offset)intgetLength()intgetMajorVersion()static intgetMaxRecordSize()intgetMinorVersion()protected static StringgetString(byte[] data, int offset, int length)Returns the String at the given offset and length.protected static StringgetTagString(byte[] data, int offset, int length)Returns the (possibly null padded) String at the given offset and length.protected static byte[]readFully(InputStream inp, int length)protected static byte[]readFully(InputStream inp, int length, boolean shortDataIsFatal)static voidsetMaxRecordSize(int maxRecordSize)
-
-
-
Field Detail
-
encodings
protected static final ID3v2Frame.TextEncoding[] encodings
-
-
Method Detail
-
setMaxRecordSize
public static void setMaxRecordSize(int maxRecordSize)
-
createFrameIfPresent
public static MP3Frame createFrameIfPresent(InputStream inp) throws IOException
Returns the next ID3v2 Frame in the file, or null if the next batch of data doesn't correspond to either an ID3v2 header. If no ID3v2 frame could be detected and the passed in input stream is aPushbackInputStream, the bytes read so far are pushed back so that they can be read again. ID3v2 Frames should come before all Audio ones.- Throws:
IOException
-
getInt
protected static int getInt(byte[] data)
-
getInt
protected static int getInt(byte[] data, int offset)
-
getInt3
protected static int getInt3(byte[] data, int offset)
-
getInt2
protected static int getInt2(byte[] data, int offset)
-
get7BitsInt
protected static int get7BitsInt(byte[] data, int offset)AKA a Synchsafe integer. 4 bytes hold a 28 bit number. The highest bit in each byte is always 0 and always ignored.
-
readFully
protected static byte[] readFully(InputStream inp, int length) throws IOException
- Throws:
IOException
-
readFully
protected static byte[] readFully(InputStream inp, int length, boolean shortDataIsFatal) throws IOException
- Throws:
IOException
-
getTagString
protected static String getTagString(byte[] data, int offset, int length)
Returns the (possibly null padded) String at the given offset and length. String encoding is held in the first byte;
-
getComment
protected static ID3Tags.ID3Comment getComment(byte[] data, int offset, int length)
Builds up the ID3 comment, by parsing and extracting the comment string parts from the given data.
-
getString
protected static String getString(byte[] data, int offset, int length)
Returns the String at the given offset and length. Strings are ISO-8859-1
-
getMaxRecordSize
public static int getMaxRecordSize()
-
getMajorVersion
public int getMajorVersion()
-
getMinorVersion
public int getMinorVersion()
-
getFlags
public int getFlags()
-
getLength
public int getLength()
-
getExtendedHeader
public byte[] getExtendedHeader()
-
getData
public byte[] getData()
-
-