net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.directshow
Class DirectShowStream
java.lang.Object
net.java.sip.communicator.impl.neomedia.control.AbstractControls
net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractBufferStream
net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.AbstractPushBufferStream
net.java.sip.communicator.impl.neomedia.jmfext.media.protocol.directshow.DirectShowStream
- All Implemented Interfaces:
- javax.media.Controls, javax.media.protocol.PushBufferStream, javax.media.protocol.SourceStream
public class DirectShowStream
- extends AbstractPushBufferStream
Implements a PushBufferStream using DirectShow.
- Author:
- Lyubomir Marinov, Sebastien Vincent
| Fields inherited from interface javax.media.protocol.SourceStream |
LENGTH_UNKNOWN |
|
Constructor Summary |
DirectShowStream(DataSource dataSource,
javax.media.control.FormatControl formatControl)
Initializes a new DirectShowStream instance which is to have its
Format-related information abstracted by a specific
FormatControl. |
|
Method Summary |
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 PushBufferStream as directly
known by it. |
void |
read(javax.media.Buffer buffer)
Reads media data from this PushBufferStream into a specific
Buffer without blocking. |
void |
start()
Starts the transfer of media data from this PushBufferStream. |
void |
stop()
Stops the transfer of media data from this PushBufferStream. |
| 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 |
| Methods inherited from interface javax.media.protocol.SourceStream |
endOfStream, getContentDescriptor, getContentLength |
| Methods inherited from interface javax.media.Controls |
getControl, getControls |
grabber
final DSCaptureDevice.GrabberDelegate grabber
- Delegate class to handle video data.
DirectShowStream
DirectShowStream(DataSource dataSource,
javax.media.control.FormatControl formatControl)
- Initializes a new DirectShowStream instance which is to have its
Format-related information abstracted by a specific
FormatControl.
- Parameters:
dataSource - the DataSource which is creating the new
instance so that it becomes one of its streamsformatControl - the FormatControl which is to abstract the
Format-related information of the new instance
doGetFormat
protected javax.media.Format doGetFormat()
- Gets the Format of this PushBufferStream as directly
known by it.
- Overrides:
doGetFormat in class AbstractBufferStream
- Returns:
- the Format of this PushBufferStream as directly
known by it or null if this PushBufferStream does not
directly know its Format and it relies on the
PushBufferDataSource which created it to report its
Format
close
public void close()
- Releases the resources used by this instance throughout its existence and
makes it available for garbage collection. This instance is considered
unusable after closing.
- Overrides:
close in class AbstractBufferStream
- See Also:
AbstractBufferStream.close()
start
public void start()
throws IOException
- Starts the transfer of media data from this PushBufferStream.
- Overrides:
start in class AbstractBufferStream
- Throws:
IOException - if anything goes wrong while starting the transfer of
media data from this PushBufferStream
stop
public void stop()
throws IOException
- Stops the transfer of media data from this PushBufferStream.
- Overrides:
stop in class AbstractBufferStream
- Throws:
IOException - if anything goes wrong while stopping the transfer of
media data from this PushBufferStream
read
public void read(javax.media.Buffer buffer)
throws IOException
- Reads media data from this PushBufferStream into a specific
Buffer without blocking.
- Parameters:
buffer - the Buffer in which media data is to be read from
this PushBufferStream
- Throws:
IOException - if anything goes wrong while reading media data from
this PushBufferStream into the specified buffer
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.