Package org.red5.server.stream.filter
Class StreamBandwidthController
java.lang.Object
org.red5.server.stream.filter.StreamBandwidthController
- All Implemented Interfaces:
Runnable,IConsumer,IFilter,IMessageComponent,IPipeConnectionListener,IProvider
public class StreamBandwidthController
extends Object
implements IFilter, IPipeConnectionListener, Runnable
Controls stream bandwidth
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IPipeStream consumer pipeprivate booleanStart statestatic final StringClass nameprivate static final org.slf4j.LoggerLoggerprivate IPipeStream provider pipeprivate ThreadDaemon thread that pulls data from provider and pushes to consumer, using this controller -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Stop pulling, close streamvoidonOOBControlMessage(IMessageComponent source, IPipe pipe, OOBControlMessage oobCtrlMsg) voidPipe connection event handlervoidrun()voidstart()Start pulling (streaming)private voidStart puller thread
-
Field Details
-
log
private static final org.slf4j.Logger logLogger -
KEY
Class name -
providerPipe
Stream provider pipe -
consumerPipe
Stream consumer pipe -
puller
Daemon thread that pulls data from provider and pushes to consumer, using this controller -
isStarted
private volatile boolean isStartedStart state
-
-
Constructor Details
-
StreamBandwidthController
public StreamBandwidthController()
-
-
Method Details
-
onPipeConnectionEvent
Pipe connection event handler- Specified by:
onPipeConnectionEventin interfaceIPipeConnectionListener- Parameters:
event- Pipe connection event
-
onOOBControlMessage
- Specified by:
onOOBControlMessagein interfaceIMessageComponent- Parameters:
source- Message component sourcepipe- Connection pipeoobCtrlMsg- Out-of-band control message
-
run
public void run() -
start
public void start()Start pulling (streaming) -
close
public void close()Stop pulling, close stream -
startThread
private void startThread()Start puller thread
-