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. |