public class MediaHandler
extends org.jitsi.util.event.PropertyChangeNotifier
Constructor and Description |
---|
MediaHandler() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
Adds a specific CsrcAudioLevelListener to the list of
CsrcAudioLevelListeners to be notified about audio level-related
information received from the remote peer(s).
|
(package private) void |
addDtmfListener(DTMFListener listener)
Adds a DTMFListener which will be notified when DTMF events
are received from the MediaHandler's audio stream.
|
(package private) boolean |
addKeyFrameRequester(int index,
org.jitsi.service.neomedia.control.KeyFrameControl.KeyFrameRequester keyFrameRequester) |
(package private) void |
addLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
Adds a specific SimpleAudioLevelListener to the list of
SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the local peer/user to the remote peer(s).
|
(package private) void |
addSrtpListener(org.jitsi.service.neomedia.event.SrtpListener listener) |
(package private) void |
addStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
Adds a specific SimpleAudioLevelListener to the list of
SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from remote peer(s) to the local peer/user.
|
(package private) 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.
|
protected void |
closeStream(CallPeerMediaHandler<?> callPeerMediaHandler,
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.MediaStream |
configureStream(CallPeerMediaHandler<?> callPeerMediaHandler,
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,
org.jitsi.service.neomedia.MediaStream stream,
boolean masterStream)
Configures stream to use the specified device,
format, target, direction, etc.
|
protected boolean |
fireVideoEvent(int type,
java.awt.Component visualComponent,
int origin)
Notifies the VideoListeners registered with this
MediaHandler about a specific type of change in the availability
of a specific visual Component depicting video.
|
protected void |
fireVideoEvent(org.jitsi.util.event.VideoEvent event)
Notifies the VideoListeners registered with this
MediaHandler about a specific VideoEvent.
|
(package private) org.jitsi.service.neomedia.SrtpControl |
getEncryptionMethod(CallPeerMediaHandler<?> callPeerMediaHandler,
org.jitsi.service.neomedia.MediaType mediaType)
Gets the SRTP control type used for a given media type.
|
(package private) long |
getRemoteSSRC(CallPeerMediaHandler<?> callPeerMediaHandler,
org.jitsi.service.neomedia.MediaType mediaType) |
(package private) SrtpControls |
getSrtpControls(CallPeerMediaHandler<?> callPeerMediaHandler)
Gets the SrtpControls of the MediaStreams of this
instance.
|
(package private) org.jitsi.service.neomedia.MediaStream |
getStream(CallPeerMediaHandler<?> callPeerMediaHandler,
org.jitsi.service.neomedia.MediaType mediaType)
Gets the MediaStream of this instance which is of a specific
MediaType.
|
(package private) org.jitsi.service.neomedia.MediaStream |
initStream(CallPeerMediaHandler<?> callPeerMediaHandler,
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.
|
(package private) boolean |
processKeyFrameRequest(CallPeerMediaHandler<?> callPeerMediaHandler)
Processes a request for a (video) key frame from a remote peer to the
local peer.
|
(package private) void |
removeCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
Removes a specific CsrcAudioLevelListener to the list of
CsrcAudioLevelListeners to be notified about audio level-related
information received from the remote peer(s).
|
(package private) void |
removeDtmfListener(DTMFListener listener)
Removes a DTMFListener from the set of listeners to be notified
for DTMF events from this MediaHandler's audio steam.
|
(package private) boolean |
removeKeyFrameRequester(org.jitsi.service.neomedia.control.KeyFrameControl.KeyFrameRequester keyFrameRequester) |
(package private) void |
removeLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
Removes a specific SimpleAudioLevelListener to the list of
SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the local peer/user to the remote peer(s).
|
(package private) void |
removeSrtpListener(org.jitsi.service.neomedia.event.SrtpListener listener) |
(package private) void |
removeStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
Removes a specific SimpleAudioLevelListener to the list of
SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from remote peer(s) to the local peer/user.
|
(package private) 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 MediaHandler.
|
void addCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
listener
- the CsrcAudioLevelListener to add to the list of
CsrcAudioLevelListeners to be notified about audio level-related
information received from the remote peer(s)boolean addKeyFrameRequester(int index, org.jitsi.service.neomedia.control.KeyFrameControl.KeyFrameRequester keyFrameRequester)
void addLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to add to the list
of SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the local peer/user to the remote peer(s)void addSrtpListener(org.jitsi.service.neomedia.event.SrtpListener listener)
void addDtmfListener(DTMFListener listener)
listener
- the listener to add.void removeDtmfListener(DTMFListener listener)
listener
- the listener to remove.void addStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to add to the list
of SimpleAudioLevelListeners to be notified about changes in the
level of the audio sent from the remote peer(s) to the local peer/uservoid 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 videoprotected void closeStream(CallPeerMediaHandler<?> callPeerMediaHandler, org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType that we'd like to stop a stream
for.protected org.jitsi.service.neomedia.MediaStream configureStream(CallPeerMediaHandler<?> callPeerMediaHandler, 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, org.jitsi.service.neomedia.MediaStream stream, boolean masterStream) throws OperationFailedException
device
- the MediaDevice to be used by stream
for capture and playbackformat
- the MediaFormat that we'd like the new stream
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.stream
- the MediaStream that we'd like to configure.masterStream
- whether the stream to be used as master if securedOperationFailedException
- if setting the MediaFormat
or connecting to the specified MediaDevice fails for some
reason.protected 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 MediaHandlerorigin
- 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)protected void fireVideoEvent(org.jitsi.util.event.VideoEvent event)
event
- the VideoEvent to fire to the
VideoListeners registered with this MediaHandlerorg.jitsi.service.neomedia.SrtpControl getEncryptionMethod(CallPeerMediaHandler<?> callPeerMediaHandler, org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType to get the SRTP control type forlong getRemoteSSRC(CallPeerMediaHandler<?> callPeerMediaHandler, org.jitsi.service.neomedia.MediaType mediaType)
SrtpControls getSrtpControls(CallPeerMediaHandler<?> callPeerMediaHandler)
org.jitsi.service.neomedia.MediaStream getStream(CallPeerMediaHandler<?> callPeerMediaHandler, org.jitsi.service.neomedia.MediaType mediaType)
mediaType
- the MediaType of the MediaStream to
retrieveorg.jitsi.service.neomedia.MediaStream initStream(CallPeerMediaHandler<?> callPeerMediaHandler, 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).boolean processKeyFrameRequest(CallPeerMediaHandler<?> callPeerMediaHandler)
void removeCsrcAudioLevelListener(org.jitsi.service.neomedia.event.CsrcAudioLevelListener listener)
listener
- the CsrcAudioLevelListener to remove from the
list of CsrcAudioLevelListeners to be notified about audio
level-related information received from the remote peer(s)boolean removeKeyFrameRequester(org.jitsi.service.neomedia.control.KeyFrameControl.KeyFrameRequester keyFrameRequester)
void removeLocalUserAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to remove from the
list of SimpleAudioLevelListeners to be notified about changes
in the level of the audio sent from the local peer/user to the remote
peer(s)void removeSrtpListener(org.jitsi.service.neomedia.event.SrtpListener listener)
void removeStreamAudioLevelListener(org.jitsi.service.neomedia.event.SimpleAudioLevelListener listener)
listener
- the SimpleAudioLevelListener to remote from the
list of SimpleAudioLevelListeners to be notified about changes
in the level of the audio sent from the remote peer(s) to the local
peer/uservoid 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()
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.