## org.red5.server.stream.provider
Class FileProvider

    java.lang.Object
      org.red5.server.stream.provider.FileProvider

All Implemented Interfaces:
  IMessageComponent, IPassive, IPipeConnectionListener, IProvider, IPullableProvider, ISeekableProvider, IStreamTypeAwareProvider

    public class FileProvider

extends Object
implements IPassive, ISeekableProvider, IPullableProvider, IPipeConnectionListener, IStreamTypeAwareProvider

Pullable provider for files

Field Summary
`static String` `KEY` Class name

Constructor Summary
`FileProvider(IScope scope, File file)` Create file provider for given file and scope

Method Summary
`boolean` `hasVideo()` Check if the provider contains video tags.
`void` `onOOBControlMessage(IMessageComponent source, IPipe pipe, OOBControlMessage oobCtrlMsg)`
`void` `onPipeConnectionEvent(PipeConnectionEvent event)` Pipe connection event handler
`IMessage` `pullMessage(IPipe pipe)`
`IMessage` `pullMessage(IPipe pipe, long wait)`
`int` `seek(int ts)` Seek the provider to timestamp ts (in milliseconds).
`void` `setStart(int start)` Setter for start position

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### KEY

    public static final String KEY

  Class name

Constructor Detail

### FileProvider

    public FileProvider(IScope scope,
                        File file)

  Create file provider for given file and scope

  Parameters:
    `scope` - Scope
    `file` - File

Method Detail

### setStart

    public void setStart(int start)

  Setter for start position

  Parameters:
    `start` - Start position

### hasVideo

    public boolean hasVideo()

  Check if the provider contains video tags.

  Specified by:
    `hasVideo` in interface `IStreamTypeAwareProvider`
  Returns:
    provider has video

### pullMessage

    public IMessage pullMessage(IPipe pipe)
                         throws IOException

  Specified by:
    `pullMessage` in interface `IPullableProvider`
  Throws:
    `IOException`

### pullMessage

    public IMessage pullMessage(IPipe pipe,
                                long wait)
                         throws IOException

  Specified by:
    `pullMessage` in interface `IPullableProvider`
  Throws:
    `IOException`

### onPipeConnectionEvent

    public void onPipeConnectionEvent(PipeConnectionEvent event)

  Pipe connection event handler

  Specified by:
    `onPipeConnectionEvent` in interface `IPipeConnectionListener`
  Parameters:
    `event` - Pipe connection event

### onOOBControlMessage

    public void onOOBControlMessage(IMessageComponent source,
                                    IPipe pipe,
                                    OOBControlMessage oobCtrlMsg)

  Specified by:
    `onOOBControlMessage` in interface `IMessageComponent`
  Parameters:
    `source` - Message component source
    `pipe` - Connection pipe TODO
    `oobCtrlMsg` - Out-of-band control message

### seek

    public int seek(int ts)

  Seek the provider to timestamp ts (in milliseconds).

  Specified by:
    `seek` in interface `ISeekableProvider`
  Parameters:
    `ts` - Timestamp to seek to
  Returns:
    Actual timestamp seeked to

Copyright © 2006-2010 The Red5 Project