public class AudioMixingPushBufferDataSource extends javax.media.protocol.PushBufferDataSource implements javax.media.protocol.CaptureDevice, MuteDataSource, InbandDTMFDataSource
| Constructor and Description |
|---|
AudioMixingPushBufferDataSource(AudioMixer audioMixer)
Initializes a new AudioMixingPushBufferDataSource instance which
gives access to the result of the audio mixing performed by a specific
AudioMixer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDTMF(DTMFInbandTone tone)
Adds a new inband DTMF tone to send.
|
void |
addInDataSource(javax.media.protocol.DataSource inDataSource)
Adds a new input DataSource to be mixed by the associated
AudioMixer of this instance and to not have its audio
contributions included in the mixing output represented by this
DataSource.
|
void |
connect()
Implements
DataSource.connect(). |
void |
disconnect()
Implements
DataSource.disconnect(). |
javax.media.CaptureDeviceInfo |
getCaptureDeviceInfo()
Implements
CaptureDevice.getCaptureDeviceInfo(). |
String |
getContentType()
Implements
DataSource.getContentType(). |
Object |
getControl(String controlType)
Implements
Controls.getControl(String). |
Object[] |
getControls()
Implements
Controls.getControls(). |
javax.media.Time |
getDuration()
Implements
Duration.getDuration(). |
javax.media.control.FormatControl[] |
getFormatControls()
Implements
CaptureDevice.getFormatControls(). |
short[] |
getNextToneSignal(double sampleRate,
int sampleSizeInBits)
Gets the next inband DTMF tone signal.
|
javax.media.protocol.PushBufferStream[] |
getStreams()
Implements
PushBufferDataSource.getStreams(). |
boolean |
isMute()
Determines whether this DataSource is mute.
|
boolean |
isSendingDTMF()
Determines whether this DataSource sends a DTMF tone.
|
void |
setMute(boolean mute)
Sets the mute state of this DataSource.
|
void |
start()
Implements
DataSource.start(). |
void |
stop()
Implements
DataSource.stop(). |
void |
updateInDataSource(javax.media.protocol.DataSource inDataSource)
The input DataSource has been updated.
|
public AudioMixingPushBufferDataSource(AudioMixer audioMixer)
audioMixer - the AudioMixer performing audio mixing,
managing the input DataSources and pushing the data of the new
output PushBufferDataSourcepublic void addDTMF(DTMFInbandTone tone)
addDTMF in interface InbandDTMFDataSourcetone - the DTMF tone to send.public void addInDataSource(javax.media.protocol.DataSource inDataSource)
inDataSource - a DataSource to be added for mixing to
the AudioMixer associate with this instance and to not have its
audio contributions included in the mixing output represented by this
DataSourcepublic void connect()
throws IOException
DataSource.connect(). Lets the AudioMixer
know that one of its output PushBufferDataSources has been
connected and marks this DataSource as connected.connect in interface javax.media.protocol.CaptureDeviceconnect in class javax.media.protocol.DataSourceIOException - if the AudioMixer fails to connectpublic void disconnect()
DataSource.disconnect(). Marks this
DataSource as disconnected and notifies the AudioMixer
that one of its output PushBufferDataSources has been
disconnected.disconnect in interface javax.media.protocol.CaptureDevicedisconnect in class javax.media.protocol.DataSourcepublic javax.media.CaptureDeviceInfo getCaptureDeviceInfo()
CaptureDevice.getCaptureDeviceInfo(). Delegates to the
associated AudioMixer because it knows which
CaptureDevice is being wrapped.getCaptureDeviceInfo in interface javax.media.protocol.CaptureDevicepublic String getContentType()
DataSource.getContentType(). Delegates to the
associated AudioMixer because it manages the inputs and knows
their characteristics.getContentType in class javax.media.protocol.DataSourcepublic Object getControl(String controlType)
Controls.getControl(String).getControl in interface javax.media.ControlscontrolType - a String value which names the type of the
control of this instance to be retrievedpublic Object[] getControls()
Controls.getControls(). Gets an array of
Objects which represent the controls available for this
DataSource.getControls in interface javax.media.Controlspublic javax.media.Time getDuration()
Duration.getDuration(). Delegates to the associated
AudioMixer because it manages the inputs and knows their
characteristics.getDuration in interface javax.media.Durationpublic javax.media.control.FormatControl[] getFormatControls()
CaptureDevice.getFormatControls(). Delegates to the
associated AudioMixer because it knows which
CaptureDevice is being wrapped.getFormatControls in interface javax.media.protocol.CaptureDevicepublic short[] getNextToneSignal(double sampleRate,
int sampleSizeInBits)
sampleRate - The sampling frequency (codec clock rate) in Hz of the
stream which will encapsulate this signal.sampleSizeInBits - The size of each sample (8 for a byte, 16 for a
short and 32 for an int)public javax.media.protocol.PushBufferStream[] getStreams()
PushBufferDataSource.getStreams(). Gets a
PushBufferStream which reads data from the associated
AudioMixer and mixes its inputs.getStreams in class javax.media.protocol.PushBufferDataSourcepublic boolean isMute()
isMute in interface MuteDataSourcepublic boolean isSendingDTMF()
public void setMute(boolean mute)
setMute in interface MuteDataSourcemute - true to mute this DataSource; otherwise,
falsepublic void start()
throws IOException
DataSource.start(). Starts the output
PushBufferStream of this DataSource (if it exists) and
notifies the AudioMixer that one of its output
PushBufferDataSources has been started.start in interface javax.media.protocol.CaptureDevicestart in class javax.media.protocol.DataSourceIOException - if anything wrong happens while starting the output
PushBufferStream of this DataSourcepublic void stop()
throws IOException
DataSource.stop(). Notifies the AudioMixer
that one of its output PushBufferDataSources has been stopped
and stops the output PushBufferStream of this
DataSource (if it exists).stop in interface javax.media.protocol.CaptureDevicestop in class javax.media.protocol.DataSourceIOException - if anything wrong happens while stopping the output
PushBufferStream of this DataSourcepublic void updateInDataSource(javax.media.protocol.DataSource inDataSource)
inDataSource - the DataSource that was updated.Copyright © 2022 jitsi.org. All rights reserved.