org.red5.server.stream
public class SingleItemSubscriberStream extends AbstractClientStream implements ISingleItemSubscriberStream
Modifier and Type | Class and Description |
---|---|
class |
SingleItemSubscriberStream.Notifier
Handles notifications in a separate thread.
|
Modifier and Type | Field and Description |
---|---|
protected int |
bufferCheckInterval
Interval in ms to check for buffer underruns in VOD streams.
|
protected long |
creationTime
Timestamp this stream was created.
|
protected PlayEngine |
engine
Plays items back
|
protected static ScheduledThreadPoolExecutor |
executor
Executor that will be used to schedule stream playback to keep
the client buffer filled.
|
protected int |
underrunTrigger
Number of pending messages at which a
NetStream.Play.InsufficientBW
message is generated for VOD streams. |
metaData, state
MODE_APPEND, MODE_LIVE, MODE_PUBLISH, MODE_READ, MODE_RECORD
Constructor and Description |
---|
SingleItemSubscriberStream() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close this stream.
|
ScheduledThreadPoolExecutor |
getExecutor()
Return the executor to use.
|
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 |
setBufferCheckInterval(int bufferCheckInterval)
Set interval to check for buffer underruns.
|
void |
setExecutor(ScheduledThreadPoolExecutor executor)
Set the executor to use.
|
void |
setPlayItem(IPlayItem item)
Setter for property 'playItem'.
|
void |
setUnderrunTrigger(int underrunTrigger)
Set maximum number of pending messages at which a
NetStream.Play.InsufficientBW message will be
generated for VOD streams |
void |
start()
Start this stream.
|
void |
stop()
Stop playing.
|
getBroadcastStreamPublishName, getClientBufferDuration, getConnection, getState, getStreamId, setBroadcastStreamPublishName, setClientBufferDuration, setConnection, setState, setStreamId
getCodecInfo, getCreationTime, getMetaData, getName, getScope, getStreamAwareHandler, setCodecInfo, setName, setScope
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getState, setState
getBroadcastStreamPublishName, getClientBufferDuration, getConnection, getStreamId, setClientBufferDuration
getCodecInfo, getCreationTime, getName, getScope
protected static ScheduledThreadPoolExecutor executor
protected int bufferCheckInterval
protected int underrunTrigger
NetStream.Play.InsufficientBW
message is generated for VOD streams.protected long creationTime
protected PlayEngine engine
public void setPlayItem(IPlayItem item)
ISingleItemSubscriberStream
setPlayItem
in interface ISingleItemSubscriberStream
item
- Value to set for property 'playItem'.public void play() throws IOException
ISubscriberStream
play
in interface ISubscriberStream
IOException
- if an IO error occurred while starting to play the streampublic void pause(int position)
pause
in interface ISubscriberStream
position
- Position for pause in millisecond.public void resume(int position)
resume
in interface ISubscriberStream
position
- Position for resume in millisecond.public void stop()
stop
in interface IStream
stop
in interface ISubscriberStream
public void seek(int position) throws OperationNotSupportedException
seek
in interface ISubscriberStream
position
- Position for seek in millisecond.OperationNotSupportedException
- if the stream doesn't support seeking.public boolean isPaused()
ISubscriberStream
isPaused
in interface ISubscriberStream
public void receiveVideo(boolean receive)
receiveVideo
in interface ISubscriberStream
public void receiveAudio(boolean receive)
receiveAudio
in interface ISubscriberStream
public void setExecutor(ScheduledThreadPoolExecutor executor)
executor
- the executorpublic ScheduledThreadPoolExecutor getExecutor()
getExecutor
in interface ISubscriberStream
public void setBufferCheckInterval(int bufferCheckInterval)
0
to
disable.bufferCheckInterval
- interval in mspublic void setUnderrunTrigger(int underrunTrigger)
NetStream.Play.InsufficientBW
message will be
generated for VOD streamsunderrunTrigger
- the maximum number of pending messagespublic void start()
IStream
public void close()
IStream
public void onChange(StreamState state, Object... changed)
onChange
in interface ISubscriberStream
state
- new statechanged
- parameters associated with the changeCopyright © 2006-2012 The Red5 Project