FileDocCategorySizeDatePackage
BufferControl.javaAPI DocJMF 2.1.1e3800Mon May 12 12:20:34 BST 2003javax.media.control

BufferControl

public abstract interface BufferControl implements Control
(#)BufferControl.java
1.5 02/08/21 The BufferControl is used to exercise user level control over the buffering done by a particular object. The object exporting this control is responsible for buffering data, and users may change the length of the buffer and the minimum threshold of the buffer based on their needs. By default, the buffer length and minimum threshold will be set to certain default values. These default values can be retrieved and changed by the user if desired. A buffer length is always set by this object. A minimum threshold for jitter buffering may or may not be set depending on the format. .e.g. in case of audio, a non-zero minimum threshold will be set (jitter buffering will be done), while in case of video, a zero minimum threshold will be set (no jitter buffering will be done). Each buffer control should have its own default and maximum buffer lengths, which are set using MAX_VALUE and DEFAULT_VALUE.

Fields Summary
static final long
DEFAULT_VALUE
static final long
MAX_VALUE
Constructors Summary
Methods Summary
public longgetBufferLength()
Retrieves the buffer length set on the object exporting this control. The buffer length is in millisecs. The actual size of the buffer will be calculated depending on the format of the stream.

return
the buffer length in millisecs.

public booleangetEnabledThreshold()
Returns true if threshold calculations are enabled, false otherwise

return
true if threshold is enabled, false otherwise

public longgetMinimumThreshold()
Retrieve the minimum threshold value in milliseconds of the buffer maintained by this control. The minimum threshold is used to siginify the minimum amount of data that is to be buffered by the control before pushing data out or allowing data to be pulled out (jitter buffer). Data will only be available from this object when this minimum threshold has been reached. In case the amount of data in the buffer reduces below this value, data will again be buffered until this minimum threshold is reached.

return
The minimum threshold set on this control

public longsetBufferLength(long time)
Sets the buffer length of the buffer maintained by this object in milliseconds. Returns the actual buffer length set. A value of MAX_VALUE indicates that the buffer length should be set to a large enough value so as not to drop any packets. i.e. the limit is only to prevent abnormal usage of memory, but would indicate buffering of all data is to be done and no packet dropping is to be implemented. DEFAULT_VALUE indicates that the buffer length should be restored to its default value.

return
the actual buffer length set on this control

public voidsetEnabledThreshold(boolean b)
If false, the set minimum threshold value will not be used by this control in any of its buffer calculations. If true, data is not available until the threshold condition is satisifed. The default is that the threshold is enabled.

public longsetMinimumThreshold(long time)
Sets the minimum threshold value in milliseconds for the buffer maintained by this control. Returns the actual minimum threshold value set.A value of MAX_VALUE indicates the minimum threshold should be set to the maximum value as maintained by this cotrol. A value of DEFAULT_VALUE indicates that the threshold should be restored to its original length.

return
the actual minimum threshold set on this control