Class DataSource
- java.lang.Object
-
- javax.media.protocol.DataSource
-
- javax.media.protocol.PushBufferDataSource
-
- org.jitsi.impl.neomedia.jmfext.media.protocol.AbstractPushBufferCaptureDevice
-
- org.jitsi.impl.neomedia.jmfext.media.protocol.wasapi.DataSource
-
- All Implemented Interfaces:
javax.media.Controls,javax.media.Duration,javax.media.protocol.CaptureDevice,javax.media.protocol.Controls
public class DataSource extends AbstractPushBufferCaptureDevice
Implements CaptureDevice and DataSource using Windows Audio Session API (WASAPI) and related Core Audio APIs such as Multimedia Device (MMDevice) API.- Author:
- Lyubomir Marinov
-
-
Constructor Summary
Constructors Constructor Description DataSource()Initializes a new DataSource instance.DataSource(javax.media.MediaLocator locator)Initializes a new DataSource instance with a specific MediaLocator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected WASAPIStreamcreateStream(int streamIndex, javax.media.control.FormatControl formatControl)Create a new PushBufferStream which is to be at a specific zero-based index in the list of streams of this PushBufferDataSource.protected voiddoConnect()Opens a connection to the media source specified by the MediaLocator of this DataSource.protected voiddoDisconnect()Closes the connection to the media source specified by the MediaLocator of this DataSource.protected javax.media.Format[]getSupportedFormats(int streamIndex)Gets the Formats which are to be reported by a FormatControl as supported formats for a PushBufferStream at a specific zero-based index in the list of streams of this PushBufferDataSource.-
Methods inherited from class org.jitsi.impl.neomedia.jmfext.media.protocol.AbstractPushBufferCaptureDevice
connect, createFrameRateControl, disconnect, doStart, doStop, getCaptureDeviceInfo, getContentType, getControl, getControls, getDuration, getFormat, getFormatControls, getStreams, getStreamSyncRoot, setFormat, start, stop, streams
-
-
-
-
Method Detail
-
createStream
protected WASAPIStream createStream(int streamIndex, javax.media.control.FormatControl formatControl)
Create a new PushBufferStream which is to be at a specific zero-based index in the list of streams of this PushBufferDataSource. The Format-related information of the new instance is to be abstracted by a specific FormatControl.- Specified by:
createStreamin classAbstractPushBufferCaptureDevice- Parameters:
streamIndex- the zero-based index of the PushBufferStream in the list of streams of this PushBufferDataSourceformatControl- the FormatControl which is to abstract the Format-related information of the new instance- Returns:
- a new PushBufferStream which is to be at the specified streamIndex in the list of streams of this PushBufferDataSource and which has its Format-related information abstracted by the specified formatControl
-
doConnect
protected void doConnect() throws IOExceptionOpens a connection to the media source specified by the MediaLocator of this DataSource. Allows extenders to override and be sure that there will be no request to open a connection if the connection has already been opened.- Overrides:
doConnectin classAbstractPushBufferCaptureDevice- Throws:
IOException- if anything goes wrong while opening the connection to the media source specified by the MediaLocator of this DataSource
-
doDisconnect
protected void doDisconnect()
Closes the connection to the media source specified by the MediaLocator of this DataSource. Allows extenders to override and be sure that there will be no request to close a connection if the connection has not been opened yet.- Overrides:
doDisconnectin classAbstractPushBufferCaptureDevice
-
getSupportedFormats
protected javax.media.Format[] getSupportedFormats(int streamIndex)
Gets the Formats which are to be reported by a FormatControl as supported formats for a PushBufferStream at a specific zero-based index in the list of streams of this PushBufferDataSource. The Formats supported by this CaptureDevice/DataSource are either the ones supported by the capture endpoint device or the ones supported by the voice capture DMO that implements the acoustic echo cancellation (AEC) feature depending on whether the feature in question is disabled or enabled.- Overrides:
getSupportedFormatsin classAbstractPushBufferCaptureDevice- Parameters:
streamIndex- the zero-based index of the PushBufferStream for which the specified FormatControl is to report the list of supported Formats- Returns:
- an array of Formats to be reported by a FormatControl as the supported formats for the PushBufferStream at the specified streamIndex in the list of streams of this PushBufferDataSource
-
-