FileDocCategorySizeDatePackage
PullBufferStream.javaAPI DocJMF 2.1.1e2503Mon May 12 12:20:42 BST 2003javax.media.protocol

PullBufferStream

public interface PullBufferStream implements SourceStream
Abstracts a read interface that data is pulled from in the form of Buffer objects This interface allows a sourcestream to transfer data in the form of an entire media chunk to the user of this sourcestream. The media object or chunk transferred is the Buffer object as defined in javax.media.Buffer. The user of the stream will allocate an empty Buffer object and pass this over to the sourcestream in the read() method. The source of the stream will allocate the Buffer object's data and header, set them on the Buffer and send them over to the user. The structure of the data and header of the Buffer object is determined by the format attribute of the Buffer object or the content type of the sourcestream

It is possible for the user of the stream to indicate to the sourcestream to NOT allocate the data object, but to instead use the data passed in the read() method. In this case, the user must pass non null data object to the stream in the Buffer object. The type of data can be determined by the getDataType() method on the format object returned by calling getFormat on this bufferstream. The getDataType method will return a Class describing the Buffer's data and can be used by the stream user to allocate its own data and hand it over to the read method.
see
javax.media.Format
see
javax.media.Buffer
see
PullBufferDataSource
since
JMF 2.0

Fields Summary
Constructors Summary
Methods Summary
public javax.media.FormatgetFormat()
Get the format type of the data that this source stream provides.

return
A Format object that describes the data in this stream.

public voidread(javax.media.Buffer buffer)
Block and read a buffer from the stream. buffer should be non-null.

throws
IOException Thrown if an error occurs while reading.

public booleanwillReadBlock()
Find out if data is available now. Returns true if a call to read would block for data.

return
true if read would block; otherwise returns false.