public class FileConsumer extends Object implements Constants, IPushableConsumer, IPipeConnectionListener
HANDSHAKE_SIZE, HEADER_CONTINUE, HEADER_NEW, HEADER_SAME_SOURCE, HEADER_TIMER_CHANGE, MEDIUM_INT_MAX, SO_CLIENT_CLEAR_DATA, SO_CLIENT_DELETE_DATA, SO_CLIENT_INITIAL_DATA, SO_CLIENT_SEND_MESSAGE, SO_CLIENT_STATUS, SO_CLIENT_UPDATE_ATTRIBUTE, SO_CLIENT_UPDATE_DATA, SO_CONNECT, SO_DELETE_ATTRIBUTE, SO_DISCONNECT, SO_SEND_MESSAGE, SO_SET_ATTRIBUTE, SOURCE_TYPE_LIVE, SOURCE_TYPE_VOD, TYPE_ABORT, TYPE_AGGREGATE, TYPE_AUDIO_DATA, TYPE_BYTES_READ, TYPE_CHUNK_SIZE, TYPE_CLIENT_BANDWIDTH, TYPE_EDGE_ORIGIN, TYPE_FLEX_MESSAGE, TYPE_FLEX_SHARED_OBJECT, TYPE_FLEX_STREAM_SEND, TYPE_INVOKE, TYPE_NOTIFY, TYPE_PING, TYPE_SERVER_BANDWIDTH, TYPE_SHARED_OBJECT, TYPE_STREAM_METADATA, TYPE_VIDEO_DATA
KEY
Constructor and Description |
---|
FileConsumer()
Default ctor
|
FileConsumer(IScope scope,
File file)
Creates file consumer
|
Modifier and Type | Method and Description |
---|---|
void |
doWrites()
Write all the queued items to the writer.
|
void |
doWrites(org.red5.server.stream.consumer.FileConsumer.QueuedData[] slice)
Write a slice of the queued items to the writer.
|
int |
getQueueThreshold()
Returns the size of the delayed writing queue.
|
int |
getSchedulerThreadSize() |
int |
getSliceLength()
Returns the amount of queued data items to be written at a time.
|
boolean |
isDelayWrite()
Whether or not the queue should be utilized.
|
void |
onOOBControlMessage(IMessageComponent source,
IPipe pipe,
OOBControlMessage oobCtrlMsg)
Out-of-band control message handler
|
void |
onPipeConnectionEvent(PipeConnectionEvent event)
Pipe connection event handler
|
void |
pushMessage(IPipe pipe,
IMessage message)
Push message through pipe
|
void |
setAudioDecoderConfiguration(IRTMPEvent decoderConfig)
Sets a audio decoder configuration; some codecs require this, such as AAC.
|
void |
setDelayWrite(boolean delayWrite)
Sets whether or not to use the queue.
|
void |
setFile(File file)
Sets the file we're writing to.
|
void |
setQueueThreshold(int queueThreshold)
Sets the threshold for the queue.
|
void |
setSchedulerThreadSize(int schedulerThreadSize) |
void |
setScope(IScope scope)
Sets the scope for this consumer.
|
void |
setSliceLength(int sliceLength)
Sets the amount of queued data items to be written at a time.
|
void |
setVideoDecoderConfiguration(IRTMPEvent decoderConfig)
Sets a video decoder configuration; some codecs require this, such as AVC.
|
public void pushMessage(IPipe pipe, IMessage message) throws IOException
pushMessage
in interface IPushableConsumer
pipe
- Pipemessage
- Message to pushIOException
- if message could not be writtenpublic void onOOBControlMessage(IMessageComponent source, IPipe pipe, OOBControlMessage oobCtrlMsg)
onOOBControlMessage
in interface IMessageComponent
source
- Source of messagepipe
- Pipe that is used to transmit OOB messageoobCtrlMsg
- OOB control messagepublic void onPipeConnectionEvent(PipeConnectionEvent event)
onPipeConnectionEvent
in interface IPipeConnectionListener
event
- Pipe connection eventpublic final void doWrites()
public final void doWrites(org.red5.server.stream.consumer.FileConsumer.QueuedData[] slice)
public void setVideoDecoderConfiguration(IRTMPEvent decoderConfig)
decoderConfig
- video codec configurationpublic void setAudioDecoderConfiguration(IRTMPEvent decoderConfig)
decoderConfig
- audio codec configurationpublic void setScope(IScope scope)
scope
- public void setFile(File file)
file
- public void setQueueThreshold(int queueThreshold)
queueThreshold
- number of items to queue before spawning workerpublic int getQueueThreshold()
public void setSliceLength(int sliceLength)
sliceLength
- public int getSliceLength()
public boolean isDelayWrite()
public void setDelayWrite(boolean delayWrite)
delayWrite
- true to use the queue, false if notpublic int getSchedulerThreadSize()
public void setSchedulerThreadSize(int schedulerThreadSize)
schedulerThreadSize
- the schedulerThreadSize to setCopyright © 2006-2012 The Red5 Project