FileDocCategorySizeDatePackage
PushBufferStream.javaAPI DocJMF 2.1.1e2734Mon May 12 12:20:40 BST 2003javax.media.protocol

PushBufferStream

public interface PushBufferStream implements SourceStream
Abstracts a read interface that pushes data in the form of Buffer objects This interface allows a source stream to transfer data in the form of an entire media chunk to the user of this source stream. 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 source stream in the read() method. The source 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 source stream

It is possible for the user of the stream to indicate to the source stream 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 an object 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
PushBufferDataSource
since
JMF 2.0

Fields Summary
Constructors Summary
Methods Summary
public javax.media.FormatgetFormat()
Get the format tupe 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)
Read from the stream without blocking.

throws
IOException Thrown if an error occurs while reading

public voidsetTransferHandler(javax.media.protocol.BufferTransferHandler transferHandler)
Register an object to service data transfers to this stream.

If a handler is already registered when setTransferHandler is called, the handler is replaced; there can only be one handler at a time. This method should be invoked with a parameter value of null if the currently registered handler doesn't wish to be notified of available data anymore.

param
transferHandler The handler to transfer data to.