public class ReceiveStreamPushBufferDataSource extends PushBufferDataSourceDelegate<javax.media.protocol.PushBufferDataSource>
DataSource.disconnect()
can be explicitly controlled. It
is introduced because it seems that after the DataSource of a
ReceiveStream is disconnected, it cannot be connected to or started
and if a Processor is created on it, it freezes in the
Processor.Configuring
state.dataSource
captureDevice, EMPTY_STREAMS
Constructor and Description |
---|
ReceiveStreamPushBufferDataSource(javax.media.rtp.ReceiveStream receiveStream,
javax.media.protocol.PushBufferDataSource dataSource)
Initializes a new ReceiveStreamPushBufferDataSource instance
which is to wrap a specific DataSource of a specific
ReceiveStream for the purposes of enabling explicitly control of
calls to its
DataSource.disconnect() . |
ReceiveStreamPushBufferDataSource(javax.media.rtp.ReceiveStream receiveStream,
javax.media.protocol.PushBufferDataSource dataSource,
boolean suppressDisconnect)
Initializes a new ReceiveStreamPushBufferDataSource instance
which is to wrap a specific DataSource of a specific
ReceiveStream for the purposes of enabling explicitly control of
calls to its
DataSource.disconnect() and, optionally, activates
the suppresses the call in question. |
Modifier and Type | Method and Description |
---|---|
void |
disconnect()
Implements
DataSource.disconnect() . |
javax.media.rtp.ReceiveStream |
getReceiveStream()
Gets the ReceiveStream which has its DataSource wrapped
by this instance.
|
javax.media.protocol.PushBufferStream[] |
getStreams()
Implements
PushBufferDataSource.getStreams() . |
static void |
setNullTransferHandler(javax.media.rtp.ReceiveStream receiveStream)
Sets a BufferTransferHandler on a specific
ReceiveStream which reads data as soon as possible and throws it
away.
|
void |
setSuppressDisconnect(boolean suppressDisconnect)
Sets the indicator which determines whether calls to
DataSource.disconnect() on the wrapped DataSource are to
be suppressed when there are such calls on this instance. |
connect, getContentType, getControl, getControls, getDataSource, getDuration, getLocator, start, stop
getCaptureDeviceInfo, getFormatControls
public ReceiveStreamPushBufferDataSource(javax.media.rtp.ReceiveStream receiveStream, javax.media.protocol.PushBufferDataSource dataSource)
DataSource.disconnect()
.receiveStream
- the ReceiveStream which is to have its
DataSourcedataSource
- the DataSource of receiveStream which
is to be wrapped by this instancepublic ReceiveStreamPushBufferDataSource(javax.media.rtp.ReceiveStream receiveStream, javax.media.protocol.PushBufferDataSource dataSource, boolean suppressDisconnect)
DataSource.disconnect()
and, optionally, activates
the suppresses the call in question.receiveStream
- the ReceiveStream which is to have its
DataSourcedataSource
- the DataSource of receiveStream which
is to be wrapped by this instancesuppressDisconnect
- true if calls to
DataSource#disconnect() on the wrapped dataSource are
to be suppressed when there are such calls on the new instance;
otherwise, falsepublic static void setNullTransferHandler(javax.media.rtp.ReceiveStream receiveStream)
receiveStream
- the ReceiveStream on which to set a
BufferTransferHandler which reads data as soon as possible and
throws it awaypublic void disconnect()
DataSource.disconnect()
. Disconnects the wrapped
DataSource if it has not been explicitly suppressed by setting
the suppressDisconnect property of this instance.disconnect
in interface javax.media.protocol.CaptureDevice
disconnect
in class PushBufferDataSourceDelegate<javax.media.protocol.PushBufferDataSource>
public javax.media.rtp.ReceiveStream getReceiveStream()
public javax.media.protocol.PushBufferStream[] getStreams()
PushBufferDataSource.getStreams()
. Delegates to the
wrapped DataSource of the ReceiveStream.getStreams
in class PushBufferDataSourceDelegate<javax.media.protocol.PushBufferDataSource>
public void setSuppressDisconnect(boolean suppressDisconnect)
DataSource.disconnect()
on the wrapped DataSource are to
be suppressed when there are such calls on this instance.suppressDisconnect
- true to suppress calls to
DataSource#disconnect() on the wrapped DataSource when
there are such calls on this instance; otherwise, false
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.