## org.red5.io.mp4
Interface IMP4

All Superinterfaces:
  IStreamableFile

All Known Implementing Classes:
  MP4

    public interface IMP4

extends IStreamableFile

Represents MP4 file

Author:
  Paul Gregoire (mondain@gmail.com)

Method Summary
`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 mp4 has keyframedata
`boolean` `hasMetaData()` Returns a boolean stating whether the mp4 has metadata
`ITagReader` `readerFromNearestKeyFrame(int seekPoint)` Returns a Reader closest to the nearest keyframe
`void` `refreshHeaders()` Refreshes the headers.
`void` `setKeyFrameData(Map<?,?> keyframedata)` Sets the keyframe data of a mp4 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 mp4 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 mp4 has keyframedata

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

### setKeyFrameData

    void setKeyFrameData(Map<?,?> keyframedata)

  Sets the keyframe data of a mp4 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 mp4 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

Copyright © 2006-2010 The Red5 Project