org.jaudiotagger.audio.asf.io
Class ContentDescriptionReader

java.lang.Object
  extended by org.jaudiotagger.audio.asf.io.ContentDescriptionReader
All Implemented Interfaces:
ChunkReader

public class ContentDescriptionReader
extends java.lang.Object
implements ChunkReader

Reads and interprets the data of a ASF chunk containing title, author...

Author:
Christian Laireiter
See Also:
ContentDescription

Field Summary
private static GUID[] APPLYING
          The GUID this reader applies to
 
Constructor Summary
protected ContentDescriptionReader()
          Should not be used for now.
 
Method Summary
 boolean canFail()
          Tells whether the reader can fail to return a valid chunk.
The current Use would be a modified version of StreamChunkReader, which is configured to only manage audio streams.
 GUID[] getApplyingIds()
          Returns the GUIDs identifying the types of chunk, this reader will parse.
private  int[] getStringSizes(java.io.InputStream stream)
          Returns the next 5 UINT16 values as an array.
 Chunk read(GUID guid, java.io.InputStream stream, long chunkStart)
          Parses the chunk.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

APPLYING

private static final GUID[] APPLYING
The GUID this reader applies to

Constructor Detail

ContentDescriptionReader

protected ContentDescriptionReader()
Should not be used for now.

Method Detail

canFail

public boolean canFail()
Tells whether the reader can fail to return a valid chunk.
The current Use would be a modified version of StreamChunkReader, which is configured to only manage audio streams. However, the primary GUID for audio and video streams is the same. So if a stream shows itself to be a video stream, the reader would return null.

Specified by:
canFail in interface ChunkReader
Returns:
true, if further analysis of the chunk can show, that the reader is not applicable, despite the header GUID identification told it can handle the chunk.

getApplyingIds

public GUID[] getApplyingIds()
Returns the GUIDs identifying the types of chunk, this reader will parse.

Specified by:
getApplyingIds in interface ChunkReader
Returns:
the GUIDs identifying the types of chunk, this reader will parse.

getStringSizes

private int[] getStringSizes(java.io.InputStream stream)
                      throws java.io.IOException
Returns the next 5 UINT16 values as an array.

Parameters:
stream - stream to read from
Returns:
5 int values read from stream.
Throws:
java.io.IOException - on I/O Errors.

read

public Chunk read(GUID guid,
                  java.io.InputStream stream,
                  long chunkStart)
           throws java.io.IOException
Parses the chunk.

Specified by:
read in interface ChunkReader
Parameters:
guid - the GUID of the chunks header, which is about to be read.
stream - source to read chunk from.
No GUID is expected at the currents stream position. The length of the chunk is about to follow.
chunkStart - the position in stream, the chunk starts.
Returns:
the read chunk. (Mostly a subclass of Chunk).
Throws:
java.io.IOException - On I/O Errors.