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 class
ID3v2Frame.RawTag
protected class
ID3v2Frame.RawTagIterator
Iterates over id3v2 raw tags.protected static class
ID3v2Frame.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 MP3Frame
createFrameIfPresent(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 int
get7BitsInt(byte[] data, int offset)
AKA a Synchsafe integer.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.byte[]
getData()
byte[]
getExtendedHeader()
int
getFlags()
protected static int
getInt(byte[] data)
protected static int
getInt(byte[] data, int offset)
protected static int
getInt2(byte[] data, int offset)
protected static int
getInt3(byte[] data, int offset)
int
getLength()
int
getMajorVersion()
int
getMinorVersion()
protected static String
getString(byte[] data, int offset, int length)
Returns the String at the given offset and length.protected static String
getTagString(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)
-
-
-
Field Detail
-
encodings
protected static final ID3v2Frame.TextEncoding[] encodings
-
-
Method Detail
-
getMajorVersion
public int getMajorVersion()
-
getMinorVersion
public int getMinorVersion()
-
getFlags
public int getFlags()
-
getLength
public int getLength()
-
getExtendedHeader
public byte[] getExtendedHeader()
-
getData
public byte[] getData()
-
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
-
-