org.red5.io.flv

## Interface IFLV

All Superinterfaces:
  IStreamableFile

All Known Implementing Classes:
  FLV

    public interface IFLV
    extends IStreamableFile

Represents FLV file

### Method Summary

Methods
`void` `flushHeaders()` Flushes Header
`Map` `getKeyFrameData()` Gets the keyframe data
`IMetaData` `getMetaData()` Returns a map of the metadata
`boolean` `hasKeyFrameData()` Returns a boolean stating whether a flv has keyframedata
`boolean` `hasMetaData()` Returns a boolean stating whether the flv has metadata
`ITagReader` `readerFromNearestKeyFrame(int seekPoint)` Returns a Reader closest to the nearest keyframe
`void` `refreshHeaders()` Refreshes the headers.
`void` `setCache(ICacheStore cache)` Sets the caching implemenation
`void` `setKeyFrameData(Map keyframedata)` Sets the keyframe data of a flv file
`void` `setMetaData(IMetaData metadata)` Sets the metadata
`void` `setMetaService(IMetaService service)` Sets the MetaService through Spring
`ITagWriter` `writerFromNearestKeyFrame(int seekPoint)` Returns a Writer based on the nearest key frame

### Methods inherited from interface org.red5.io.IStreamableFile

`getAppendWriter, getReader, getWriter`

### Method Detail

#### hasMetaData

    boolean hasMetaData()

Returns a boolean stating whether the flv has metadata

Returns:
  boolean `true` if file has injected metadata, `false` otherwise

#### setMetaData

    void setMetaData(IMetaData metadata)
                     throws FileNotFoundException,
                            IOException

Sets the metadata

Parameters:
  `metadata` - Metadata object
Throws:
  `FileNotFoundException` - File not found
  `IOException` - Any other I/O exception

#### setMetaService

    void setMetaService(IMetaService service)

Sets the MetaService through Spring

Parameters:
  `service` - Metadata service

#### getMetaData

    IMetaData getMetaData()
                          throws FileNotFoundException

Returns a map of the metadata

Returns:
  metadata File metadata
Throws:
  `FileNotFoundException` - File not found

#### hasKeyFrameData

    boolean hasKeyFrameData()

Returns a boolean stating whether a flv has keyframedata

Returns:
  boolean `true` if file has keyframe metadata, `false` otherwise

#### setKeyFrameData

    void setKeyFrameData(Map keyframedata)

Sets the keyframe data of a flv file

Parameters:
  `keyframedata` - Keyframe metadata

#### getKeyFrameData

    Map getKeyFrameData()

Gets the keyframe data

Returns:
  keyframedata Keyframe metadata

#### refreshHeaders

    void refreshHeaders()
                        throws IOException

Refreshes the headers. Usually used after data is added to the flv file

Throws:
  `IOException` - Any I/O exception

#### flushHeaders

    void flushHeaders()
                      throws IOException

Flushes Header

Throws:
  `IOException` - Any I/O exception

#### readerFromNearestKeyFrame

    ITagReader readerFromNearestKeyFrame(int seekPoint)

Returns a Reader closest to the nearest keyframe

Parameters:
  `seekPoint` - Point in file we are seeking around
Returns:
  reader Tag reader closest to that point

#### writerFromNearestKeyFrame

    ITagWriter writerFromNearestKeyFrame(int seekPoint)

Returns a Writer based on the nearest key frame

Parameters:
  `seekPoint` - Point in file we are seeking around
Returns:
  writer Tag writer closest to that point

#### setCache

    void setCache(ICacheStore cache)

Sets the caching implemenation

Parameters:
  `cache` - cache