public class FileConsumer extends Object implements Constants, IPushableConsumer, IPipeConnectionListener, org.springframework.beans.factory.DisposableBean, IFileConsumer
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
|
FileConsumer(IScope scope,
String fileName,
String mode)
Creates file consumer
|
Modifier and Type | Method and Description |
---|---|
void |
destroy() |
File |
getFile()
Returns the file.
|
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 audioConfig) |
void |
setDelayWrite(boolean delayWrite)
Deprecated.
|
void |
setFile(File file)
Sets the file we're writing to.
|
void |
setMode(String mode)
Sets the recording mode.
|
void |
setOfferTimeout(long offerTimeout)
Amount of time in milliseconds to wait for an offer to be accepted.
|
void |
setQueueThreshold(int queueThreshold)
Sets the threshold for the queue.
|
void |
setScope(IScope scope)
Sets the scope for this consumer.
|
void |
setupOutputPath(String name)
Sets up the output file path for writing.
|
void |
setUsePriority(boolean usePriority)
Whether or not to use a PriorityBlockingQueue or LinkedBlockingQueue for data queue.
|
void |
setVideoDecoderConfiguration(IRTMPEvent videoConfig) |
void |
setWaitForVideoKeyframe(boolean waitForVideoKeyframe)
Whether or not to wait for the first keyframe before processing video frames.
|
void |
uninit()
Reset or uninitialize
|
public FileConsumer()
public FileConsumer(IScope scope, File file)
scope
- Scope of consumerfile
- Filepublic 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 void uninit()
public void setupOutputPath(String name)
name
- output filename to usepublic void setScope(IScope scope)
scope
- scopepublic void setFile(File file)
file
- filepublic File getFile()
public void setQueueThreshold(int queueThreshold)
queueThreshold
- number of items to queue before spawning worker@Deprecated public void setDelayWrite(boolean delayWrite)
delayWrite
- true to use the queue, false if notpublic void setWaitForVideoKeyframe(boolean waitForVideoKeyframe)
waitForVideoKeyframe
- public void setUsePriority(boolean usePriority)
usePriority
- public void setOfferTimeout(long offerTimeout)
offerTimeout
- public void setMode(String mode)
mode
- either "record" or "append" depending on the type of action to performpublic void setAudioDecoderConfiguration(IRTMPEvent audioConfig)
setAudioDecoderConfiguration
in interface IFileConsumer
public void setVideoDecoderConfiguration(IRTMPEvent videoConfig)
setVideoDecoderConfiguration
in interface IFileConsumer
Copyright © 2005–2019 Red5. All rights reserved.