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

Fields
`static String` `KEY` Class name

### Constructor Summary

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

### Method Summary

Methods
`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
  `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