org.red5.io

## Interface ITagReader

All Known Implementing Classes:
  FLVReader, M4AReader, MP3Reader, MP4Reader

    public interface ITagReader

### Method Summary

Methods
`void` `close()` Closes the reader and free any allocated memory.
`void` `decodeHeader()` Decode the header of the stream;
`long` `getBytesRead()` Returns the amount of bytes read
`long` `getDuration()` Return length in seconds
`IStreamableFile` `getFile()` Return the file that is loaded.
`int` `getOffset()` Returns the offet length
`long` `getTotalBytes()` Get the total readable bytes in a file or ByteBuffer
`boolean` `hasMoreTags()` Returns a boolean stating whether the FLV has more tags
`boolean` `hasVideo()` Check if the reader also has video tags.
`void` `position(long pos)` Move the reader pointer to given position in file.
`ITag` `readTag()` Returns a Tag object

### Method Detail

#### getFile

    IStreamableFile getFile()

Return the file that is loaded.

Returns:
  the file to be loaded

#### getOffset

    int getOffset()

Returns the offet length

Returns:
  int

#### getBytesRead

    long getBytesRead()

Returns the amount of bytes read

Returns:
  long

#### getDuration

    long getDuration()

Return length in seconds

Returns:
  length in seconds

#### getTotalBytes

    long getTotalBytes()

Get the total readable bytes in a file or ByteBuffer

Returns:
  Total readable bytes

#### decodeHeader

    void decodeHeader()

Decode the header of the stream;

#### position

    void position(long pos)

Move the reader pointer to given position in file.

Parameters:
  `pos` - File position to move to

#### hasMoreTags

    boolean hasMoreTags()

Returns a boolean stating whether the FLV has more tags

Returns:
  boolean

#### readTag

    ITag readTag()

Returns a Tag object

Returns:
  Tag

#### close

    void close()

Closes the reader and free any allocated memory.

#### hasVideo

    boolean hasVideo()

Check if the reader also has video tags.

Returns:
  has video