public abstract class AbstractCallPeerMediaHandlerJabberGTalkImpl<T extends AbstractCallPeerJabberGTalkImpl<?,?,?>> extends CallPeerMediaHandler<T>
AUDIO_LOCAL_SSRC, AUDIO_REMOTE_SSRC, locallyOnHold, SSRC_UNKNOWN, VIDEO_LOCAL_SSRC, VIDEO_REMOTE_SSRC
Constructor and Description |
---|
AbstractCallPeerMediaHandlerJabberGTalkImpl(T peer)
Creates a new handler that will be managing media streams for
peer.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addSDesAdvertisedEncryptions(boolean isInitiator,
RtpDescriptionPacketExtension description,
org.jitsi.service.neomedia.MediaType mediaType)
Detects and adds SDES available encryption method present in the
description given in parameter.
|
protected void |
addZrtpAdvertisedEncryptions(boolean isInitiator,
RtpDescriptionPacketExtension description,
org.jitsi.service.neomedia.MediaType mediaType)
Detects and adds ZRTP available encryption method present in the
description given in parameter.
|
boolean |
getLocalInputEvtAware()
Gets the inputevt support: true for enable, false for disable.
|
protected boolean |
isRemoteZrtpCapable(EncryptionPacketExtension encryptionPacketExtension)
Returns if the remote peer supports ZRTP.
|
protected ch.imvs.sdes4j.srtp.SrtpCryptoAttribute |
selectSdesCryptoSuite(boolean isInitiator,
org.jitsi.service.neomedia.SDesControl sDesControl,
EncryptionPacketExtension encryptionPacketExtension)
Returns the selected SDES crypto suite selected.
|
protected void |
setAndAddPreferredEncryptionProtocol(org.jitsi.service.neomedia.MediaType mediaType,
RtpDescriptionPacketExtension localDescription,
RtpDescriptionPacketExtension remoteDescription)
Selects the preferred encryption protocol (only used by the callee).
|
protected boolean |
setAndAddPreferredEncryptionProtocol(org.jitsi.service.neomedia.SrtpControlType srtpControlType,
org.jitsi.service.neomedia.MediaType mediaType,
RtpDescriptionPacketExtension localDescription,
RtpDescriptionPacketExtension remoteDescription)
Selects a specific encryption protocol if it is the preferred (only used
by the callee).
|
void |
setLocalInputEvtAware(boolean enable)
Enable or disable inputevt support (remote-control).
|
protected boolean |
setSDesEncryptionOnDescription(org.jitsi.service.neomedia.MediaType mediaType,
RtpDescriptionPacketExtension localDescription,
RtpDescriptionPacketExtension remoteDescription)
Sets SDES element(s) to the ENCRYPTION element of the DESCRIPTION for a
given media.
|
protected boolean |
setZrtpEncryptionOnDescription(org.jitsi.service.neomedia.MediaType mediaType,
RtpDescriptionPacketExtension description,
RtpDescriptionPacketExtension remoteDescription)
Sets ZRTP element to the ENCRYPTION element of the DESCRIPTION for a
given media.
|
addAdvertisedEncryptionMethod, addVideoListener, close, closeStream, findMediaFormat, fireVideoEvent, fireVideoEvent, getAdvertisedEncryptionMethods, getDefaultDevice, getDirectionUserPreference, getDynamicPayloadTypes, getEncryptionMethod, getExtensionsForType, getHarvestingTime, getICECandidateExtendedType, getICELocalHostAddress, getICELocalReflexiveAddress, getICELocalRelayedAddress, getICERemoteHostAddress, getICERemoteReflexiveAddress, getICERemoteRelayedAddress, getICEState, getLabel, getLocallySupportedFormats, getLocallySupportedFormats, getLocalVisualComponent, getMediaHandler, getMsid, getMsLabel, getNbHarvesting, getNbHarvesting, getPeer, getRemoteSSRC, getRtpExtensionsRegistry, getSrtpControls, getStream, getTotalHarvestingTime, getTransportManager, getVisualComponent, getVisualComponents, initStream, intersectFormats, intersectRTPExtensions, isDeviceActive, isDeviceActive, isLocalAudioTransmissionEnabled, isLocallyOnHold, isLocalVideoTransmissionEnabled, isMute, isRemotelyOnHold, isRTPTranslationEnabled, isSecure, mediaHandlerPropertyChange, processKeyFrameRequest, queryTransportManager, removeAndCleanupOtherSrtpControls, removeVideoListener, requestKeyFrame, sendHolePunchPacket, setCsrcAudioLevelListener, setDisableHolePunching, setLocalAudioTransmissionEnabled, setLocallyOnHold, setLocalUserAudioLevelListener, setLocalVideoTransmissionEnabled, setMediaHandler, setMute, setStreamAudioLevelListener, start, startSrtpMultistream, throwOperationFailedException
public AbstractCallPeerMediaHandlerJabberGTalkImpl(T peer)
peer
- that AbstractCallPeerJabberGTalkImpl instance that
we will be managing media for.public boolean getLocalInputEvtAware()
public void setLocalInputEvtAware(boolean enable)
enable
- new state of inputevt supportprotected void addZrtpAdvertisedEncryptions(boolean isInitiator, RtpDescriptionPacketExtension description, org.jitsi.service.neomedia.MediaType mediaType)
isInitiator
- True if the local call instance is the initiator of
the call. False otherwise.description
- The DESCRIPTION element of the JINGLE element which
contains the PAYLOAD-TYPE and (more important here) the ENCRYPTION.mediaType
- The type of media (AUDIO or VIDEO).protected void addSDesAdvertisedEncryptions(boolean isInitiator, RtpDescriptionPacketExtension description, org.jitsi.service.neomedia.MediaType mediaType)
isInitiator
- True if the local call instance is the initiator of
the call. False otherwise.description
- The DESCRIPTION element of the JINGLE element which
contains the PAYLOAD-TYPE and (more important here) the ENCRYPTION.mediaType
- The type of media (AUDIO or VIDEO).protected ch.imvs.sdes4j.srtp.SrtpCryptoAttribute selectSdesCryptoSuite(boolean isInitiator, org.jitsi.service.neomedia.SDesControl sDesControl, EncryptionPacketExtension encryptionPacketExtension)
isInitiator
- True if the local call instance is the initiator of
the call. False otherwise.sDesControl
- The SDES based SRTP MediaStream encryption
control.encryptionPacketExtension
- The ENCRYPTION element received from the
remote peer. This may contain the SDES crypto suites available for the
remote peer.protected boolean isRemoteZrtpCapable(EncryptionPacketExtension encryptionPacketExtension)
encryptionPacketExtension
- The ENCRYPTION element received from
the remote peer. This may contain the ZRTP packet element for the remote
peer.protected boolean setZrtpEncryptionOnDescription(org.jitsi.service.neomedia.MediaType mediaType, RtpDescriptionPacketExtension description, RtpDescriptionPacketExtension remoteDescription)
mediaType
- The type of media we are modifying the DESCRIPTION to
integrate the ENCRYPTION element.description
- The element containing the media DESCRIPTION and its
encryption.remoteDescription
- The element containing the media DESCRIPTION and
its encryption for the remote peer. Null, if the local peer is the
initiator of the call.protected boolean setSDesEncryptionOnDescription(org.jitsi.service.neomedia.MediaType mediaType, RtpDescriptionPacketExtension localDescription, RtpDescriptionPacketExtension remoteDescription)
mediaType
- The type of media we are modifying the DESCRIPTION to
integrate the ENCRYPTION element.localDescription
- The element containing the media DESCRIPTION and
its encryption.remoteDescription
- The element containing the media DESCRIPTION and
its encryption for the remote peer. Null, if the local peer is the
initiator of the call.protected void setAndAddPreferredEncryptionProtocol(org.jitsi.service.neomedia.MediaType mediaType, RtpDescriptionPacketExtension localDescription, RtpDescriptionPacketExtension remoteDescription)
mediaType
- The type of media (AUDIO or VIDEO).localDescription
- The element containing the media DESCRIPTION and
its encryption.remoteDescription
- The element containing the media DESCRIPTION and
its encryption for the remote peer; null if the local peer is
the initiator of the call.protected boolean setAndAddPreferredEncryptionProtocol(org.jitsi.service.neomedia.SrtpControlType srtpControlType, org.jitsi.service.neomedia.MediaType mediaType, RtpDescriptionPacketExtension localDescription, RtpDescriptionPacketExtension remoteDescription)
mediaType
- The type of media (AUDIO or VIDEO).localDescription
- The element containing the media DESCRIPTION and
its encryption.remoteDescription
- The element containing the media DESCRIPTION and
its encryption for the remote peer; null if the local peer is
the initiator of the call.
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.