public class WASAPIStream extends AbstractPushBufferStream<DataSource>
| Modifier and Type | Field and Description |
|---|---|
protected T |
dataSource
The DataSource which has created this instance and which
contains it as one of its streams.
|
protected javax.media.control.FormatControl |
formatControl
The FormatControl which gives access to the Format of
the media data provided by this SourceStream and which,
optionally, allows setting it.
|
PUSH_BUFFER_STREAM_CLASS_NAME, transferHandler| Constructor and Description |
|---|
WASAPIStream(DataSource dataSource,
javax.media.control.FormatControl formatControl)
Initializes a new WASAPIStream instance which is to have its
Format-related information abstracted by a specific
FormatControl.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Releases the resources used by this instance throughout its existence and
makes it available for garbage collection.
|
protected javax.media.Format |
doGetFormat()
Gets the Format of this AbstractBufferStream as
directly known by it.
|
protected javax.media.Format |
doSetFormat(javax.media.Format format)
Attempts to set the Format of this
AbstractBufferStream.
|
boolean |
endOfStream()
Determines whether the end of this SourceStream has been
reached.
|
javax.media.protocol.ContentDescriptor |
getContentDescriptor()
Gets a ContentDescriptor which describes the type of the content
made available by this SourceStream.
|
long |
getContentLength()
Gets the length in bytes of the content made available by this
SourceStream.
|
Object[] |
getControls()
Implements
Controls.getControls(). |
javax.media.Format |
getFormat()
Gets the Format of the media data made available by this
AbstractBufferStream.
|
void |
read(javax.media.Buffer buffer)
|
void |
start()
Starts the transfer of media data from this
AbstractBufferStream.
|
void |
stop()
Stops the transfer of media data from this AbstractBufferStream.
|
setTransferHandlergetControl, getControl, queryInterface, queryInterfaceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprotected final T extends javax.media.protocol.DataSource dataSource
protected final javax.media.control.FormatControl formatControl
public WASAPIStream(DataSource dataSource, javax.media.control.FormatControl formatControl)
dataSource - the DataSource which is initializing the new
instance so that it becomes one of its streamsformatControl - the FormatControl which is to abstract the
Format-related information of the new instanceprotected javax.media.Format doGetFormat()
public javax.media.Format getFormat()
stop(). The stop() method is generally invoked with a
certain synchronization root locked, the implementation of
WASAPIStream waits for processThread to quit but
processThread indirectly invokes
AbstractBufferStream.getFormat() which in turn results in an
attempt to lock the mentioned synchronization root i.e. the thread
invoking the stop() method and processThread fall into
a deadlock.getFormat in interface javax.media.protocol.PushBufferStreampublic void read(javax.media.Buffer buffer)
throws IOException
resampler is non-null, uses it to resample the media
data read from capture or processed into
format.IOExceptionpublic void start()
throws IOException
IOException - if anything goes wrong while starting the transfer of
media data from this AbstractBufferStreampublic void stop()
throws IOException
IOException - if anything goes wrong while stopping the transfer of
media data from this AbstractBufferStreampublic void close()
Warning: The method is not invoked by the framework, extenders may choose to invoke it.
protected javax.media.Format doSetFormat(javax.media.Format format)
format - the Format to be set as the format of this
AbstractBufferStreampublic boolean endOfStream()
endOfStream in interface javax.media.protocol.SourceStreampublic javax.media.protocol.ContentDescriptor getContentDescriptor()
getContentDescriptor in interface javax.media.protocol.SourceStreampublic long getContentLength()
getContentLength in interface javax.media.protocol.SourceStreampublic Object[] getControls()
Controls.getControls(). Gets the
controls available for this instance.getControls in interface javax.media.ControlsCopyright © 2022 jitsi.org. All rights reserved.