SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.media
Class MutePushBufferDataSource

java.lang.Object
  extended by javax.media.protocol.DataSource
      extended by javax.media.protocol.PushBufferDataSource
          extended by net.java.sip.communicator.impl.media.CaptureDeviceDelegatePushBufferDataSource
              extended by net.java.sip.communicator.impl.media.MutePushBufferDataSource
All Implemented Interfaces:
javax.media.Controls, javax.media.Duration, javax.media.protocol.CaptureDevice

public class MutePushBufferDataSource
extends CaptureDeviceDelegatePushBufferDataSource

Implements a PushBufferDataSource wrapper which provides mute support for the wrapped instance.

Because the class wouldn't work for our use case without it, CaptureDevice is implemented and is being delegated to the wrapped DataSource (if it supports the interface in question).

Author:
Lubomir Marinov

Field Summary
 
Fields inherited from interface javax.media.Duration
DURATION_UNBOUNDED, DURATION_UNKNOWN
 
Constructor Summary
MutePushBufferDataSource(javax.media.protocol.PushBufferDataSource dataSource)
          Initializes a new MutePushBufferDataSource instance which is to provide mute support for a specific PushBufferDataSource.
 
Method Summary
 void connect()
           
 void disconnect()
           
 String getContentType()
           
 Object getControl(String controlType)
           
 Object[] getControls()
           
 javax.media.Time getDuration()
           
 javax.media.protocol.PushBufferStream[] getStreams()
           
 boolean isMute()
          Determines whether this DataSource is mute.
 void setMute(boolean mute)
          Sets the mute state of this DataSource.
 void start()
           
 void stop()
           
 
Methods inherited from class net.java.sip.communicator.impl.media.CaptureDeviceDelegatePushBufferDataSource
getCaptureDeviceInfo, getFormatControls
 
Methods inherited from class javax.media.protocol.DataSource
getLocator, initCheck, setLocator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MutePushBufferDataSource

public MutePushBufferDataSource(javax.media.protocol.PushBufferDataSource dataSource)
Initializes a new MutePushBufferDataSource instance which is to provide mute support for a specific PushBufferDataSource.

Parameters:
dataSource - the PushBufferDataSource the new instance is to provide mute support for
Method Detail

connect

public void connect()
             throws IOException
Specified by:
connect in interface javax.media.protocol.CaptureDevice
Specified by:
connect in class javax.media.protocol.DataSource
Throws:
IOException

disconnect

public void disconnect()
Specified by:
disconnect in interface javax.media.protocol.CaptureDevice
Specified by:
disconnect in class javax.media.protocol.DataSource

getContentType

public String getContentType()
Specified by:
getContentType in class javax.media.protocol.DataSource

getControl

public Object getControl(String controlType)
Specified by:
getControl in interface javax.media.Controls
Specified by:
getControl in class javax.media.protocol.DataSource

getControls

public Object[] getControls()
Specified by:
getControls in interface javax.media.Controls
Specified by:
getControls in class javax.media.protocol.DataSource

getDuration

public javax.media.Time getDuration()
Specified by:
getDuration in interface javax.media.Duration
Specified by:
getDuration in class javax.media.protocol.DataSource

getStreams

public javax.media.protocol.PushBufferStream[] getStreams()
Specified by:
getStreams in class javax.media.protocol.PushBufferDataSource

isMute

public boolean isMute()
Determines whether this DataSource is mute.

Returns:
true if this DataSource is mute; otherwise, false

setMute

public void setMute(boolean mute)
Sets the mute state of this DataSource.

Parameters:
mute - true to mute this DataSource; otherwise, false

start

public void start()
           throws IOException
Specified by:
start in interface javax.media.protocol.CaptureDevice
Specified by:
start in class javax.media.protocol.DataSource
Throws:
IOException

stop

public void stop()
          throws IOException
Specified by:
stop in interface javax.media.protocol.CaptureDevice
Specified by:
stop in class javax.media.protocol.DataSource
Throws:
IOException

SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.