T
- the peer extension class like for example CallPeerSipImpl
or CallPeerJabberImplpublic abstract class CallPeerMediaHandler<T extends MediaAwareCallPeer<?,?,?>>
extends org.jitsi.util.event.PropertyChangeNotifier
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AUDIO_LOCAL_SSRC
The name of the CallPeerMediaHandler property which specifies
the local SSRC of its audio MediaStream.
|
static java.lang.String |
AUDIO_REMOTE_SSRC
The name of the CallPeerMediaHandler property which specifies
the remote SSRC of its audio MediaStream.
|
protected boolean |
locallyOnHold
Determines whether we have placed the call on hold locally.
|
static long |
SSRC_UNKNOWN
The constant which signals that a SSRC value is unknown.
|
static java.lang.String |
VIDEO_LOCAL_SSRC
The name of the CallPeerMediaHandler property which specifies
the local SSRC of its video MediaStream.
|
static java.lang.String |
VIDEO_REMOTE_SSRC
The name of the CallPeerMediaHandler property which specifies
the remote SSRC of its video MediaStream.
|
Constructor and Description |
---|
CallPeerMediaHandler(T peer,
org.jitsi.service.neomedia.event.SrtpListener srtpListener)
Creates a new handler that will be managing media streams for
peer.
|
Modifier and Type | Method and Description |
---|---|
void |
addAdvertisedEncryptionMethod(org.jitsi.service.neomedia.SrtpControlType encryptionMethod)
Adds encryption method to the list of advertised secure methods.
|
void |
addVideoListener(org.jitsi.util.event.VideoListener listener)
Registers a specific VideoListener with this instance so that it
starts receiving notifications from it about changes in the availability
of visual Components displaying video.
|
void |
close()
Closes and null-ifies all streams and connectors and readies this media
handler for garbage collection (or reuse).
|
protected void |
closeStream(org.jitsi.service.neomedia.MediaType mediaType)
Closes the MediaStream that this instance uses for a specific
MediaType and prepares it for garbage collection.
|
protected org.jitsi.service.neomedia.format.MediaFormat |
findMediaFormat(java.util.List<org.jitsi.service.neomedia.format.MediaFormat> formats,
org.jitsi.service.neomedia.format.MediaFormat format)
Finds a MediaFormat in a specific list of MediaFormats
which matches a specific MediaFormat.
|
protected boolean |
fireVideoEvent(int type,
java.awt.Component visualComponent,
int origin)
Notifies the VideoListeners registered with this
CallPeerMediaHandler about a specific type of change in the
availability of a specific visual Component depicting video.
|
void |
fireVideoEvent(org.jitsi.util.event.VideoEvent event)
Notifies the VideoListeners registered with this
CallPeerMediaHandler about a specific VideoEvent.
|
org.jitsi.service.neomedia.SrtpControlType[] |
getAdvertisedEncryptionMethods()
Returns the advertised methods for securing the call,
this are the methods like SDES, ZRTP that are
indicated in the initial session initialization.
|
protected org.jitsi.service.neomedia.device.MediaDevice |
getDefaultDevice(org.jitsi.service.neomedia.MediaType mediaType)
Gets a MediaDevice which is capable of capture and/or playback
of media of the specified MediaType, is the default choice of
the user for a MediaDevice with the specified MediaType
and is appropriate for the current states of the associated
CallPeer and Call.
|
protected org.jitsi.service.neomedia.MediaDirection |
getDirectionUserPreference(org.jitsi.service.neomedia.MediaType mediaType)
Gets the MediaDirection value which represents the preference of
the user with respect to streaming media of the specified
MediaType.
|
protected DynamicPayloadTypeRegistry |
getDynamicPayloadTypes()
Returns the
DynamicPayloadTypeRegistry instance we are currently
using. |
org.jitsi.service.neomedia.SrtpControl |
getEncryptionMethod(org.jitsi.service.neomedia.MediaType mediaType)
Gets the SRTP control type used for a given media type.
|
protected java.util.List<org.jitsi.service.neomedia.RTPExtension> |
getExtensionsForType(org.jitsi.service.neomedia.MediaType type)
Returns a (possibly empty) List of RTPExtensions
supported by the device that this media handler uses to handle media of
the specified type.
|
long |
getHarvestingTime(java.lang.String harvesterName)
Returns the harvesting time (in ms) for the harvester given in parameter.
|
java.lang.String |
getICECandidateExtendedType(java.lang.String streamName)
Returns the extended type of the candidate selected if this transport
manager is using ICE.
|
java.net.InetSocketAddress |
getICELocalHostAddress(java.lang.String streamName)
Returns the ICE local host address.
|
java.net.InetSocketAddress |
getICELocalReflexiveAddress(java.lang.String streamName)
Returns the ICE local reflexive address (server or peer reflexive).
|
java.net.InetSocketAddress |
getICELocalRelayedAddress(java.lang.String streamName)
Returns the ICE local relayed address (server or peer relayed).
|
java.net.InetSocketAddress |
getICERemoteHostAddress(java.lang.String streamName)
Returns the ICE remote host address.
|
java.net.InetSocketAddress |
getICERemoteReflexiveAddress(java.lang.String streamName)
Returns the ICE remote reflexive address (server or peer reflexive).
|
java.net.InetSocketAddress |
getICERemoteRelayedAddress(java.lang.String streamName)
Returns the ICE remote relayed address (server or peer relayed).
|
java.lang.String |
getICEState()
Returns the current state of ICE processing.
|
java.lang.String |
getLabel(org.jitsi.service.neomedia.MediaType mediaType)
Returns the value to use for the 'label' source-specific SDP media
attribute (RFC5576) for the stream of type mediaType towards
the CallPeer.
|
java.util.List<org.jitsi.service.neomedia.format.MediaFormat> |
getLocallySupportedFormats(org.jitsi.service.neomedia.device.MediaDevice mediaDevice)
Returns a list of locally supported MediaFormats for the
given MediaDevice, ordered in descending priority.
|
java.util.List<org.jitsi.service.neomedia.format.MediaFormat> |
getLocallySupportedFormats(org.jitsi.service.neomedia.device.MediaDevice mediaDevice,
org.jitsi.service.neomedia.QualityPreset sendPreset,
org.jitsi.service.neomedia.QualityPreset receivePreset)
Returns a list of locally supported MediaFormats for the
given MediaDevice, ordered in descending priority.
|
java.awt.Component |
getLocalVisualComponent()
Gets the visual Component, if any, depicting the video streamed
from the local peer to the remote peer.
|
MediaHandler |
getMediaHandler() |
java.lang.String |
getMsid(org.jitsi.service.neomedia.MediaType mediaType)
Returns the value to use for the 'msid' source-specific SDP media
attribute (RFC5576) for the stream of type mediaType towards
the CallPeer.
|
java.lang.String |
getMsLabel()
Returns the value to use for the 'mslabel' source-specific SDP media
attribute (RFC5576).
|
int |
getNbHarvesting()
Returns the number of harvesting for this agent.
|
int |
getNbHarvesting(java.lang.String harvesterName)
Returns the number of harvesting time for the harvester given in
parameter.
|
T |
getPeer()
Returns the peer that is this media handler's "raison d'etre".
|
long |
getRemoteSSRC(org.jitsi.service.neomedia.MediaType mediaType)
Gets the last-known SSRC of an RTP stream with a specific
MediaType received by a MediaStream of this instance.
|
protected DynamicRTPExtensionsRegistry |
getRtpExtensionsRegistry()
Returns the
DynamicRTPExtensionsRegistry instance we are
currently using. |
SrtpControls |
getSrtpControls()
Gets the SrtpControls of the MediaStreams of this
instance.
|
org.jitsi.service.neomedia.MediaStream |
getStream(org.jitsi.service.neomedia.MediaType mediaType)
Gets the MediaStream of this CallPeerMediaHandler which
is of a specific MediaType.
|
long |
getTotalHarvestingTime()
Returns the total harvesting time (in ms) for all harvesters.
|
protected abstract TransportManager<T> |
getTransportManager()
Gets the TransportManager implementation handling our address
management.
|
java.awt.Component |
getVisualComponent()
Deprecated.
|
java.util.List<java.awt.Component> |
getVisualComponents()
Gets the visual Components in which videos from the remote peer
are currently being rendered.
|
protected org.jitsi.service.neomedia.MediaStream |
initStream(org.jitsi.service.neomedia.StreamConnector connector,
org.jitsi.service.neomedia.device.MediaDevice device,
org.jitsi.service.neomedia.format.MediaFormat format,
org.jitsi.service.neomedia.MediaStreamTarget target,
org.jitsi.service.neomedia.MediaDirection direction,
java.util.List<org.jitsi.service.neomedia.RTPExtension> rtpExtensions,
boolean masterStream)
Creates if necessary, and configures the stream that this
MediaHandler is using for the MediaType matching the
one of the MediaDevice.
|
protected java.util.List<org.jitsi.service.neomedia.format.MediaFormat> |
intersectFormats(java.util.List<org.jitsi.service.neomedia.format.MediaFormat> remoteFormats,
java.util.List<org.jitsi.service.neomedia.format.MediaFormat> localFormats)
Compares a list of MediaFormats offered by a remote party
to the list of locally supported RTPExtensions as returned
by one of our local MediaDevices and returns a third
List that contains their intersection.
|
protected java.util.List<org.jitsi.service.neomedia.RTPExtension> |
intersectRTPExtensions(java.util.List<org.jitsi.service.neomedia.RTPExtension> remoteExtensions,
java.util.List<org.jitsi.service.neomedia.RTPExtension> supportedExtensions)
Compares a list of RTPExtensions offered by a remote party
to the list of locally supported RTPExtensions as returned
by one of our local MediaDevices and returns a third
List that contains their intersection.
|
boolean |
isDeviceActive(org.jitsi.service.neomedia.device.MediaDevice dev)
Checks whether dev can be used for a call.
|
boolean |
isDeviceActive(org.jitsi.service.neomedia.device.MediaDevice dev,
org.jitsi.service.neomedia.QualityPreset sendPreset,
org.jitsi.service.neomedia.QualityPreset receivePreset)
Checks whether dev can be used for a call, using
sendPreset and reveicePreset
|
boolean |
isLocalAudioTransmissionEnabled()
Determines whether this media handler is currently set to transmit local
audio.
|
boolean |
isLocallyOnHold()
Determines whether this handler's streams have been placed on hold.
|
boolean |
isLocalVideoTransmissionEnabled()
Determines whether this media handler is currently set to transmit local
video.
|
boolean |
isMute()
Determines whether the audio stream of this media handler is currently
on mute.
|
boolean |
isRemotelyOnHold()
Determines whether the remote party has placed all our streams on hold.
|
boolean |
isRTPTranslationEnabled(org.jitsi.service.neomedia.MediaType mediaType)
Determines whether RTP translation is enabled for the CallPeer
represented by this CallPeerMediaHandler and for a specific
MediaType.
|
boolean |
isSecure()
Returns the secure state of the call.
|
protected void |
mediaHandlerPropertyChange(java.beans.PropertyChangeEvent ev)
Notifies this instance about a PropertyChangeEvent fired by the
associated
MediaHandler . |
boolean |
processKeyFrameRequest()
Processes a request for a (video) key frame from the remote peer to the
local peer.
|
protected abstract TransportManager<T> |
queryTransportManager()
Gets the TransportManager implementation handling our address
management.
|
protected void |
removeAndCleanupOtherSrtpControls(org.jitsi.service.neomedia.MediaType mediaType,
org.jitsi.service.neomedia.SrtpControlType srtpControlType)
Removes from this instance and cleans up the SrtpControl which
are not of a specific SrtpControlType.
|
void |
removeVideoListener(org.jitsi.util.event.VideoListener listener)
Unregisters a specific VideoListener from this instance so that
it stops receiving notifications from it about changes in the
availability of visual Components displaying video.
|
protected boolean |
requestKeyFrame()
Requests a key frame from the remote peer of the associated
VideoMediaStream of this CallPeerMediaHandler.
|
protected void |
sendHolePunchPacket(org.jitsi.service.neomedia.MediaStream stream,
org.jitsi.service.neomedia.MediaType mediaType)
Sends empty UDP packets to target destination data/control ports in order
to open port on NAT or RTP proxy if any.
|
void |
setCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
Sets csrcAudioLevelListener as the listener that will be
receiving notifications for changes in the audio levels of the remote
participants that our peer is mixing.
|
void |
setDisableHolePunching(boolean disableHolePunching)
Changes whether hole punching is enabled/disabled.
|
void |
setLocalAudioTransmissionEnabled(boolean enabled)
Specifies whether this media handler should be allowed to transmit
local audio.
|
void |
setLocallyOnHold(boolean locallyOnHold)
Puts all MediaStreams in this handler locally on or off hold
(according to the value of locallyOnHold).
|
void |
setLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
If the local AudioMediaStream has already been created, sets
listener as the SimpleAudioLevelListener that it should
notify for local user level events.
|
void |
setLocalVideoTransmissionEnabled(boolean enabled)
Specifies whether this media handler should be allowed to transmit
local video.
|
void |
setMediaHandler(MediaHandler mediaHandler) |
void |
setMute(boolean mute)
Causes this handler's AudioMediaStream to stop transmitting the
audio being fed from this stream's MediaDevice and transmit
silence instead.
|
void |
setStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
If the local AudioMediaStream has already been created, sets
listener as the SimpleAudioLevelListener that it should
notify for stream user level events.
|
void |
start()
Starts this CallPeerMediaHandler.
|
void |
startSrtpMultistream(org.jitsi.service.neomedia.SrtpControl master)
Passes multiStreamData to the video stream that we are using
in this media handler (if any) so that the underlying SRTP lib could
properly handle stream security.
|
protected abstract void |
throwOperationFailedException(java.lang.String message,
int errorCode,
java.lang.Throwable cause)
Lets the underlying implementation take note of this error and only
then throws it to the using bundles.
|
public static final java.lang.String AUDIO_LOCAL_SSRC
public static final java.lang.String AUDIO_REMOTE_SSRC
public static final long SSRC_UNKNOWN
public static final java.lang.String VIDEO_LOCAL_SSRC
public static final java.lang.String VIDEO_REMOTE_SSRC
protected boolean locallyOnHold
public CallPeerMediaHandler(T peer, org.jitsi.service.neomedia.event.SrtpListener srtpListener)
peer
- the CallPeer instance that we will be managing
media for.srtpListener
- the object that receives SRTP security events.public void addAdvertisedEncryptionMethod(org.jitsi.service.neomedia.SrtpControlType encryptionMethod)
encryptionMethod
- the method to add.public void addVideoListener(org.jitsi.util.event.VideoListener listener)
listener
- the VideoListener to be registered with this
instance and to start receiving notifications from it about changes in
the availability of visual Components displaying videopublic void close()
protected void closeStream(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType that we'd like to stop a stream
for.protected org.jitsi.service.neomedia.format.MediaFormat findMediaFormat(java.util.List<org.jitsi.service.neomedia.format.MediaFormat> formats, org.jitsi.service.neomedia.format.MediaFormat format)
formats
- the list of MediaFormats to find the specified
matching MediaFormat intoformat
- encoding of the MediaFormat to findprotected boolean fireVideoEvent(int type, java.awt.Component visualComponent, int origin)
type
- the type of change as defined by VideoEvent in the
availability of the specified visual Component depicting videovisualComponent
- the visual Component depicting video
which has been added or removed in this CallPeerMediaHandlerorigin
- VideoEvent.LOCAL
if the origin of the video is
local (e.g. it is being locally captured); VideoEvent.REMOTE
if
the origin of the video is remote (e.g. a remote peer is streaming it)public void fireVideoEvent(org.jitsi.util.event.VideoEvent event)
event
- the VideoEvent to fire to the
VideoListeners registered with this
CallPeerMediaHandlerpublic org.jitsi.service.neomedia.SrtpControlType[] getAdvertisedEncryptionMethods()
protected org.jitsi.service.neomedia.device.MediaDevice getDefaultDevice(org.jitsi.service.neomedia.MediaType mediaType)
For example, when the local peer is acting as a conference focus in the Call of the associated CallPeer, the audio device must be a mixer.
mediaType
- the MediaType in which the retrieved
MediaDevice is to capture and/or play back mediaprotected org.jitsi.service.neomedia.MediaDirection getDirectionUserPreference(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType to retrieve the user preference
forprotected DynamicPayloadTypeRegistry getDynamicPayloadTypes()
DynamicPayloadTypeRegistry
instance we are currently
using.DynamicPayloadTypeRegistry
instance we are currently
using.public org.jitsi.service.neomedia.SrtpControl getEncryptionMethod(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType to get the SRTP control type forprotected java.util.List<org.jitsi.service.neomedia.RTPExtension> getExtensionsForType(org.jitsi.service.neomedia.MediaType type)
type
- the MediaType of the device whose
RTPExtensions we are interested in.public long getHarvestingTime(java.lang.String harvesterName)
harvesterName
- The class name if the harvester.public java.lang.String getICECandidateExtendedType(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICELocalHostAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICELocalReflexiveAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICELocalRelayedAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteHostAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteReflexiveAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteRelayedAddress(java.lang.String streamName)
streamName
- The stream name (AUDIO, VIDEO);public java.lang.String getICEState()
public java.util.List<org.jitsi.service.neomedia.format.MediaFormat> getLocallySupportedFormats(org.jitsi.service.neomedia.device.MediaDevice mediaDevice)
mediaDevice
- the MediaDevice.getLocallySupportedFormats(MediaDevice,
QualityPreset, QualityPreset)
public java.util.List<org.jitsi.service.neomedia.format.MediaFormat> getLocallySupportedFormats(org.jitsi.service.neomedia.device.MediaDevice mediaDevice, org.jitsi.service.neomedia.QualityPreset sendPreset, org.jitsi.service.neomedia.QualityPreset receivePreset)
mediaDevice
- the MediaDevice.sendPreset
- the preset used to set some of the format parameters,
used for video and settings.receivePreset
- the preset used to set the receive format
parameters, used for video and settings.public java.awt.Component getLocalVisualComponent()
public MediaHandler getMediaHandler()
public int getNbHarvesting()
public int getNbHarvesting(java.lang.String harvesterName)
harvesterName
- The class name if the harvester.public T getPeer()
MediaAwareCallPeer
that this handler is servicing.public long getRemoteSSRC(org.jitsi.service.neomedia.MediaType mediaType)
protected DynamicRTPExtensionsRegistry getRtpExtensionsRegistry()
DynamicRTPExtensionsRegistry
instance we are
currently using.DynamicRTPExtensionsRegistry
instance we are
currently using.public SrtpControls getSrtpControls()
public org.jitsi.service.neomedia.MediaStream getStream(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType of the MediaStream to
retrievepublic long getTotalHarvestingTime()
protected abstract TransportManager<T> getTransportManager()
protected abstract TransportManager<T> queryTransportManager()
@Deprecated public java.awt.Component getVisualComponent()
public java.util.List<java.awt.Component> getVisualComponents()
protected org.jitsi.service.neomedia.MediaStream initStream(org.jitsi.service.neomedia.StreamConnector connector, org.jitsi.service.neomedia.device.MediaDevice device, org.jitsi.service.neomedia.format.MediaFormat format, org.jitsi.service.neomedia.MediaStreamTarget target, org.jitsi.service.neomedia.MediaDirection direction, java.util.List<org.jitsi.service.neomedia.RTPExtension> rtpExtensions, boolean masterStream) throws OperationFailedException
connector
- the MediaConnector that we'd like to bind the
newly created stream to.device
- the MediaDevice that we'd like to attach the newly
created MediaStream to.format
- the MediaFormat that we'd like the new
MediaStream to be set to transmit in.target
- the MediaStreamTarget containing the RTP and RTCP
address:port couples that the new stream would be sending packets to.direction
- the MediaDirection that we'd like the new
stream to use (i.e. sendonly, sendrecv, recvonly, or inactive).rtpExtensions
- the list of RTPExtensions that should be
enabled for this stream.masterStream
- whether the stream to be used as master if securedOperationFailedException
- if creating the stream fails for any
reason (like, for example, accessing the device or setting the format).protected java.util.List<org.jitsi.service.neomedia.format.MediaFormat> intersectFormats(java.util.List<org.jitsi.service.neomedia.format.MediaFormat> remoteFormats, java.util.List<org.jitsi.service.neomedia.format.MediaFormat> localFormats)
remoteFormats
- remote MediaFormat found in the
SDP messagelocalFormats
- local supported MediaFormat of our deviceprotected java.util.List<org.jitsi.service.neomedia.RTPExtension> intersectRTPExtensions(java.util.List<org.jitsi.service.neomedia.RTPExtension> remoteExtensions, java.util.List<org.jitsi.service.neomedia.RTPExtension> supportedExtensions)
remoteExtensions
- the List of RTPExtensions as
advertised by the remote party.supportedExtensions
- the List of RTPExtensions
that a local MediaDevice returned as supported.public boolean isDeviceActive(org.jitsi.service.neomedia.device.MediaDevice dev)
public boolean isDeviceActive(org.jitsi.service.neomedia.device.MediaDevice dev, org.jitsi.service.neomedia.QualityPreset sendPreset, org.jitsi.service.neomedia.QualityPreset receivePreset)
public boolean isLocalAudioTransmissionEnabled()
public boolean isLocallyOnHold()
public boolean isLocalVideoTransmissionEnabled()
public boolean isMute()
public boolean isRemotelyOnHold()
public boolean isRTPTranslationEnabled(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType for which it is to be determined
whether RTP translation is enabled for the CallPeeer represented
by this CallPeerMediaHandlerpublic boolean isSecure()
protected void mediaHandlerPropertyChange(java.beans.PropertyChangeEvent ev)
MediaHandler
. Since this instance wraps around the
associated MediaHandler, it forwards the property changes as its
own. Allows extenders to override.ev
- the PropertyChangeEvent fired by the associated
MediaHandlerpublic boolean processKeyFrameRequest()
protected void removeAndCleanupOtherSrtpControls(org.jitsi.service.neomedia.MediaType mediaType, org.jitsi.service.neomedia.SrtpControlType srtpControlType)
mediaType
- the MediaType of the SrtpControl to be
examinedsrtpControlType
- the SrtpControlType of the
SrtpControls to not be removed from this instance and cleaned
up. If null, all SrtpControls are removed from this
instance and cleaned uppublic void removeVideoListener(org.jitsi.util.event.VideoListener listener)
listener
- the VideoListener to be unregistered from this
instance and to stop receiving notifications from it about changes in the
availability of visual Components displaying videoprotected boolean requestKeyFrame()
protected void sendHolePunchPacket(org.jitsi.service.neomedia.MediaStream stream, org.jitsi.service.neomedia.MediaType mediaType)
stream
- MediaStream non-null streammediaType
- MediaTypepublic void setCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
listener
- the CsrcAudioLevelListener to set to our audio
stream.public void setLocalAudioTransmissionEnabled(boolean enabled)
enabled
- true if the media handler should transmit local
audio and false otherwise.public void setLocallyOnHold(boolean locallyOnHold)
locallyOnHold
- true if we are to make our streams
stop transmitting and false if we are to start transmitting
again.public void setLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to add or
null if we are trying to remove it.public void setLocalVideoTransmissionEnabled(boolean enabled)
enabled
- true if the media handler should transmit local
video and false otherwise.public void setMediaHandler(MediaHandler mediaHandler)
public void setMute(boolean mute)
mute
- true if we are to make our audio stream start
transmitting silence and false if we are to end the transmission
of silence and use our stream's MediaDevice again.public void setStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to add or
null if we are trying to remove it.public void start() throws java.lang.IllegalStateException
java.lang.IllegalStateException
- if this method is called without this
handler having first seen a media description or having generated an
offer.public void startSrtpMultistream(org.jitsi.service.neomedia.SrtpControl master)
master
- the data that we are supposed to pass to our
video stream.protected abstract void throwOperationFailedException(java.lang.String message, int errorCode, java.lang.Throwable cause) throws OperationFailedException
message
- the message to be logged and then wrapped in a new
OperationFailedExceptionerrorCode
- the error code to be assigned to the new
OperationFailedExceptioncause
- the Throwable that has caused the necessity to log
an error and have a new OperationFailedException thrownOperationFailedException
- the exception that we wanted this method
to throw.public java.lang.String getMsid(org.jitsi.service.neomedia.MediaType mediaType)
http://tools.ietf.org/html/draft-ietf-mmusic-msid
mediaType
- the media type of the stream for which to return the
value for 'msid'public java.lang.String getLabel(org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the media type of the stream for which to return the
value for 'label'public java.lang.String getMsLabel()
public void setDisableHolePunching(boolean disableHolePunching)
disableHolePunching
- the new value
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.