Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.neomedia.jmfext.media.protocol
Class AbstractPushBufferStream

java.lang.Object
  extended by net.java.sip.communicator.impl.neomedia.control.AbstractControls
      extended by net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractBufferStream
          extended by net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractPushBufferStream
All Implemented Interfaces:
javax.media.Controls, javax.media.protocol.PushBufferStream, javax.media.protocol.SourceStream
Direct Known Subclasses:
DirectShowStream, QuickTimeStream

public abstract class AbstractPushBufferStream
extends AbstractBufferStream
implements javax.media.protocol.PushBufferStream

Provides a base implementation of PushBufferStream in order to facilitate implementers by taking care of boilerplate in the most common cases.

Author:
Lyubomir Marinov

Field Summary
protected  javax.media.protocol.BufferTransferHandler transferHandler
          The BufferTransferHandler which is notified by this PushBufferStream when data is available for reading.
 
Fields inherited from class net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractBufferStream
dataSource, formatControl
 
Fields inherited from interface javax.media.protocol.SourceStream
LENGTH_UNKNOWN
 
Constructor Summary
protected AbstractPushBufferStream(javax.media.protocol.PushBufferDataSource dataSource, javax.media.control.FormatControl formatControl)
          Initializes a new AbstractPushBufferStream instance which is to have its Format-related information abstracted by a specific FormatControl.
 
Method Summary
 void setTransferHandler(javax.media.protocol.BufferTransferHandler transferHandler)
          Sets the BufferTransferHandler which is to be notified by this PushBufferStream when data is available for reading.
 
Methods inherited from class net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractBufferStream
close, doGetFormat, doSetFormat, endOfStream, getContentDescriptor, getContentLength, getControls, getFormat, internalGetFormat, internalSetFormat, start, stop
 
Methods inherited from class net.java.sip.communicator.impl.neomedia.control.AbstractControls
getControl, getControl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.media.protocol.PushBufferStream
getFormat, read
 
Methods inherited from interface javax.media.protocol.SourceStream
endOfStream, getContentDescriptor, getContentLength
 
Methods inherited from interface javax.media.Controls
getControl, getControls
 

Field Detail

transferHandler

protected javax.media.protocol.BufferTransferHandler transferHandler
The BufferTransferHandler which is notified by this PushBufferStream when data is available for reading.

Constructor Detail

AbstractPushBufferStream

protected AbstractPushBufferStream(javax.media.protocol.PushBufferDataSource dataSource,
                                   javax.media.control.FormatControl formatControl)
Initializes a new AbstractPushBufferStream instance which is to have its Format-related information abstracted by a specific FormatControl.

Parameters:
dataSource - the PushBufferDataSource which is creating the new instance so that it becomes one of its streams
formatControl - the FormatControl which is to abstract the Format-related information of the new instance
Method Detail

setTransferHandler

public void setTransferHandler(javax.media.protocol.BufferTransferHandler transferHandler)
Sets the BufferTransferHandler which is to be notified by this PushBufferStream when data is available for reading.

Specified by:
setTransferHandler in interface javax.media.protocol.PushBufferStream
Parameters:
transferHandler - the BufferTransferHandler which is to be notified by this PushBufferStream when data is available for reading

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.