org.red5.server.api.stream

## Interface ISubscriberStream

All Superinterfaces:
  IClientStream, IStream

All Known Subinterfaces:
  IPlaylistSubscriberStream, ISingleItemSubscriberStream

All Known Implementing Classes:
  PlaylistSubscriberStream, SingleItemSubscriberStream

    public interface ISubscriberStream
    extends IClientStream

ISubscriberStream is a stream from subscriber's point of view. That is, it provides methods for common stream operations like play, pause or seek.

### Field Summary

### Fields inherited from interface org.red5.server.api.stream.IClientStream

`MODE_APPEND, MODE_LIVE, MODE_PUBLISH, MODE_READ, MODE_RECORD`

### Method Summary

Methods
`ScheduledThreadPoolExecutor` `getExecutor()` Returns the Executor.
`StreamState` `getState()` Return the streams state enum.
`boolean` `isPaused()` Check if the stream is currently paused.
`void` `onChange(StreamState state, Object... changed)` Notification of state change and associated parameters.
`void` `pause(int position)` Pause at a position for current playing item.
`void` `play()` Start playing.
`void` `receiveAudio(boolean receive)` Should the stream send audio to the client?
`void` `receiveVideo(boolean receive)` Should the stream send video to the client?
`void` `resume(int position)` Resume from a position for current playing item.
`void` `seek(int position)` Seek into a position for current playing item.
`void` `setState(StreamState state)` Sets the streams state enum.
`void` `stop()` Stop playing.

### Methods inherited from interface org.red5.server.api.stream.IClientStream

`getBroadcastStreamPublishName, getClientBufferDuration, getConnection, getStreamId, setClientBufferDuration`

### Methods inherited from interface org.red5.server.api.stream.IStream

`close, getCodecInfo, getCreationTime, getName, getScope, start`

### Method Detail

#### play

    void play()
              throws IOException

Start playing.

Throws:
  `IOException` - if an IO error occurred while starting to play the stream

#### pause

    void pause(int position)

Pause at a position for current playing item.

Parameters:
  `position` - Position for pause in millisecond.

#### resume

    void resume(int position)

Resume from a position for current playing item.

Parameters:
  `position` - Position for resume in millisecond.

#### stop

    void stop()

Stop playing.

Specified by:
  `stop` in interface `IStream`

#### seek

    void seek(int position)
              throws OperationNotSupportedException

Seek into a position for current playing item.

Parameters:
  `position` - Position for seek in millisecond.
Throws:
  `OperationNotSupportedException` - if the stream doesn't support seeking.

#### isPaused

    boolean isPaused()

Check if the stream is currently paused.

Returns:
  stream is paused

#### receiveVideo

    void receiveVideo(boolean receive)

Should the stream send video to the client?

Parameters:
  `receive` -

#### receiveAudio

    void receiveAudio(boolean receive)

Should the stream send audio to the client?

Parameters:
  `receive` -

#### getState

    StreamState getState()

Return the streams state enum.

Returns:
  current state

#### setState

    void setState(StreamState state)

Sets the streams state enum.

Parameters:
  `state` - sets current state

#### onChange

    void onChange(StreamState state,
                Object... changed)

Notification of state change and associated parameters.

Parameters:
  `state` - new state
  `changed` - parameters associated with the change

#### getExecutor

    ScheduledThreadPoolExecutor getExecutor()

Returns the Executor.

Returns:
  executor