Package org.apache.tika.parser.mp3
Class ID3v2Frame
java.lang.Object
org.apache.tika.parser.mp3.ID3v2Frame
- All Implemented Interfaces:
MP3Frame
A frame of ID3v2 data, which is then passed to a handler to
be turned into useful data.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
protected class
Iterates over id3v2 raw tags.protected static class
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic MP3Frame
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[]
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
int
static int
int
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) static void
setMaxRecordSize
(int maxRecordSize)
-
Field Details
-
encodings
-
-
Method Details
-
setMaxRecordSize
public static void setMaxRecordSize(int maxRecordSize) -
createFrameIfPresent
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
- Throws:
IOException
-
readFully
protected static byte[] readFully(InputStream inp, int length, boolean shortDataIsFatal) throws IOException - Throws:
IOException
-
getTagString
Returns the (possibly null padded) String at the given offset and length. String encoding is held in the first byte; -
getComment
Builds up the ID3 comment, by parsing and extracting the comment string parts from the given data. -
getString
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()
-