public abstract class MetadataParserImpl extends java.lang.Thread implements MetadataParser
Modifier and Type | Field and Description |
---|---|
private java.nio.ByteBuffer |
buffer |
private ConnectionHolder |
connectionHolder |
private java.lang.String[] |
FLV_VIDEO_CODEC_NAME |
private int |
index |
private int |
length |
private java.util.List<java.lang.ref.WeakReference<MetadataListener>> |
listeners |
private Locator |
locator |
private java.util.Map<java.lang.String,java.lang.Object> |
metadata |
private boolean |
parsingRawMetadata |
protected java.nio.ByteBuffer |
rawMetaBlob |
private java.util.Map<java.lang.String,java.nio.ByteBuffer> |
rawMetaMap |
private int |
streamPosition |
ALBUM_TAG_NAME, ALBUMARTIST_TAG_NAME, ARTIST_TAG_NAME, AUDIOCODEC_TAG_NAME, COMMENT_TAG_NAME, COMPOSER_TAG_NAME, CREATIONDATE_TAG_NAME, DISCCOUNT_TAG_NAME, DISCNUMBER_TAG_NAME, DURATION_TAG_NAME, FRAMERATE_TAG_NAME, GENRE_TAG_NAME, HEIGHT_TAG_NAME, IMAGE_TAG_NAME, RAW_FLV_METADATA_NAME, RAW_ID3_METADATA_NAME, RAW_METADATA_TAG_NAME, TEXT_TAG_NAME, TITLE_TAG_NAME, TRACKCOUNT_TAG_NAME, TRACKNUMBER_TAG_NAME, VIDEOCODEC_TAG_NAME, WIDTH_TAG_NAME, YEAR_TAG_NAME
Constructor and Description |
---|
MetadataParserImpl(Locator locator) |
Modifier and Type | Method and Description |
---|---|
void |
addListener(MetadataListener listener) |
protected void |
addMetadataItem(java.lang.String tag,
java.lang.Object value) |
protected void |
addRawMetadata(java.lang.String type) |
private void |
adjustRawMetadataSize(int addSize) |
protected java.lang.Object |
convertValue(java.lang.String tag,
java.lang.Object value) |
protected void |
disposeRawMetadata() |
protected void |
done() |
protected byte[] |
getBytes(int size) |
protected double |
getDouble() |
protected int |
getInteger() |
protected long |
getLong() |
protected byte |
getNextByte() |
protected short |
getShort() |
protected int |
getStreamPosition() |
protected java.lang.String |
getString(int length,
java.nio.charset.Charset charset) |
protected int |
getU24() |
protected abstract void |
parse() |
protected void |
readRawMetadata(int size) |
void |
removeListener(MetadataListener listener) |
void |
run() |
protected void |
setParseRawMetadata(boolean state) |
protected void |
skipBytes(int num) |
void |
startParser() |
protected void |
startRawMetadata(int sizeHint) |
void |
stopParser() |
protected void |
stuffRawMetadata(byte[] data,
int offset,
int size) |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
private java.lang.String[] FLV_VIDEO_CODEC_NAME
private final java.util.List<java.lang.ref.WeakReference<MetadataListener>> listeners
private java.util.Map<java.lang.String,java.lang.Object> metadata
private Locator locator
private ConnectionHolder connectionHolder
private java.nio.ByteBuffer buffer
private java.util.Map<java.lang.String,java.nio.ByteBuffer> rawMetaMap
protected java.nio.ByteBuffer rawMetaBlob
private boolean parsingRawMetadata
private int length
private int index
private int streamPosition
public MetadataParserImpl(Locator locator)
public void addListener(MetadataListener listener)
addListener
in interface MetadataParser
public void removeListener(MetadataListener listener)
removeListener
in interface MetadataParser
public void startParser() throws java.io.IOException
startParser
in interface MetadataParser
java.io.IOException
public void stopParser()
stopParser
in interface MetadataParser
public void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
protected abstract void parse()
protected void addMetadataItem(java.lang.String tag, java.lang.Object value)
protected void done()
protected int getStreamPosition()
protected void startRawMetadata(int sizeHint)
private void adjustRawMetadataSize(int addSize)
protected void readRawMetadata(int size) throws java.io.IOException
java.io.IOException
protected void stuffRawMetadata(byte[] data, int offset, int size)
protected void disposeRawMetadata()
protected void setParseRawMetadata(boolean state)
protected void addRawMetadata(java.lang.String type)
protected void skipBytes(int num) throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected byte getNextByte() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected byte[] getBytes(int size) throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected long getLong() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected int getInteger() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected short getShort() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected double getDouble() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected java.lang.String getString(int length, java.nio.charset.Charset charset) throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected int getU24() throws java.io.IOException, java.io.EOFException
java.io.IOException
java.io.EOFException
protected java.lang.Object convertValue(java.lang.String tag, java.lang.Object value)