public class RawUdpTransportManager extends TransportManagerJabberImpl
TransportManagerJabberImpl
implementation that would only gather a
single candidate pair (i.e. RTP and RTCP).isEstablishingConnectivityWithJitsiVideobridge, startConnectivityEstablishmentWithJitsiVideobridge
Constructor and Description |
---|
RawUdpTransportManager(CallPeerJabberImpl callPeer)
Creates a new instance of this transport manager, binding it to the
specified peer.
|
Modifier and Type | Method and Description |
---|---|
protected org.jivesoftware.smack.packet.PacketExtension |
createTransport(java.lang.String media) |
protected org.jivesoftware.smack.packet.PacketExtension |
createTransportPacketExtension()
Initializes a new PacketExtension instance appropriate to the
type of Jingle transport represented by this TransportManager.
|
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.
|
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.
|
org.jitsi.service.neomedia.MediaStreamTarget |
getStreamTarget(org.jitsi.service.neomedia.MediaType mediaType)
|
long |
getTotalHarvestingTime()
Returns the total harvesting time (in ms) for all harvesters.
|
java.lang.String |
getXmlNamespace()
Implements
TransportManagerJabberImpl.getXmlNamespace() . |
void |
removeContent(java.lang.String name)
Removes a content with a specific name from the transport-related part of
the session represented by this TransportManagerJabberImpl which
may have been reported through previous calls to the
startCandidateHarvest and
startConnectivityEstablishment methods.
|
protected org.jivesoftware.smack.packet.PacketExtension |
startCandidateHarvest(ContentPacketExtension theirContent,
ContentPacketExtension ourContent,
TransportInfoSender transportInfoSender,
java.lang.String media)
Starts transport candidate harvest for a specific
ContentPacketExtension that we are going to offer or answer
with.
|
void |
startCandidateHarvest(java.util.List<ContentPacketExtension> theirOffer,
java.util.List<ContentPacketExtension> ourAnswer,
TransportInfoSender transportInfoSender)
Starts transport candidate harvest.
|
boolean |
startConnectivityEstablishment(java.lang.Iterable<ContentPacketExtension> remote)
Overrides the super implementation in order to remember the remote
counterpart of the negotiation between the local and the remote peer for
subsequent calls to
getStreamTarget(MediaType) . |
java.util.List<ContentPacketExtension> |
wrapupCandidateHarvest()
Simply returns the list of local candidates that we gathered during the
harvest.
|
cloneTransportAndCandidates, close, closeStreamConnector, createStreamConnector, createTransportForStartCandidateHarvest, doCreateStreamConnector, findContentByName, findTransportManagerEstablishingConnectivityWithJitsiVideobridge, getColibriChannel, getCurrentGeneration, getIntendedDestination, getNextID, incrementGeneration, removeContent, sendTransportInfoToJitsiVideobridge, startCandidateHarvest, startConnectivityEstablishment, wrapupConnectivityEstablishment
closeStreamConnector, createIceAgent, createIceStream, getCallPeer, getICECandidateExtendedType, getLastUsedLocalHost, getPortTracker, getPortTracker, getStreamConnector, initializePortNumbers, sendHolePunchPacket, sendHolePunchPacket, setTrafficClass
public RawUdpTransportManager(CallPeerJabberImpl callPeer)
callPeer
- the CallPeer
whose traffic we will be taking
care of.protected org.jivesoftware.smack.packet.PacketExtension createTransport(java.lang.String media) throws OperationFailedException
createTransport
in class TransportManagerJabberImpl
OperationFailedException
protected org.jivesoftware.smack.packet.PacketExtension createTransportPacketExtension()
createTransportPacketExtension
in class TransportManagerJabberImpl
public org.jitsi.service.neomedia.MediaStreamTarget getStreamTarget(org.jitsi.service.neomedia.MediaType mediaType)
TransportManagerJabberImpl.getStreamTarget(MediaType)
.
Gets the MediaStreamTarget to be used as the target of
the MediaStream with a specific MediaType.getStreamTarget
in class TransportManagerJabberImpl
mediaType
- the MediaType of the MediaStream which
is to have its target set to the returned
MediaStreamTargetTransportManagerJabberImpl.getStreamTarget(MediaType)
public java.lang.String getXmlNamespace()
TransportManagerJabberImpl.getXmlNamespace()
. Gets the
XML namespace of the Jingle transport implemented by this
TransportManagerJabberImpl.getXmlNamespace
in class TransportManagerJabberImpl
TransportManagerJabberImpl.getXmlNamespace()
public void removeContent(java.lang.String name)
removeContent
in class TransportManagerJabberImpl
name
- the name of the content to be removed from the
transport-related part of the session represented by this
TransportManagerJabberImplTransportManagerJabberImpl.removeContent(String)
protected org.jivesoftware.smack.packet.PacketExtension startCandidateHarvest(ContentPacketExtension theirContent, ContentPacketExtension ourContent, TransportInfoSender transportInfoSender, java.lang.String media) throws OperationFailedException
startCandidateHarvest
in class TransportManagerJabberImpl
theirContent
- the ContentPacketExtension offered by the
remote peer to which we are going to answer with ourContent or
null if ourContent will be an offer to the remote peerourContent
- the ContentPacketExtension for which transport
candidate harvest is to be startedtransportInfoSender
- a TransportInfoSender if the
harvested transport candidates are to be sent in a
transport-info rather than in ourContent; otherwise,
nullmedia
- the media of the RtpDescriptionPacketExtension
child of ourContentOperationFailedException
- if anything goes wrong while starting
transport candidate harvest for the specified ourContentpublic void startCandidateHarvest(java.util.List<ContentPacketExtension> theirOffer, java.util.List<ContentPacketExtension> ourAnswer, TransportInfoSender transportInfoSender) throws OperationFailedException
wrapupCandidateHarvest()
method which would be called once we
absolutely need the candidates.startCandidateHarvest
in class TransportManagerJabberImpl
theirOffer
- a media description offer that we've received from the
remote party and that we should use in case we need to know what
transports our peer is using.ourAnswer
- the content descriptions that we should be adding our
transport lists to (although not necessarily in this very instance).transportInfoSender
- the TransportInfoSender to be used by
this TransportManagerJabberImpl to send transport-info
JingleIQs from the local peer to the remote peer if this
TransportManagerJabberImpl wishes to utilize
transport-info. Local candidate addresses sent by this
TransportManagerJabberImpl in transport-info are
expected to not be included in the result of
wrapupCandidateHarvest()
.OperationFailedException
- if we fail to allocate a port number.TransportManagerJabberImpl.startCandidateHarvest(List, List,
TransportInfoSender)
public boolean startConnectivityEstablishment(java.lang.Iterable<ContentPacketExtension> remote)
getStreamTarget(MediaType)
.startConnectivityEstablishment
in class TransportManagerJabberImpl
remote
- the collection of ContentPacketExtensions which
represents the remote counterpart of the negotiation between the local
and the remote peerTransportManagerJabberImpl.startConnectivityEstablishment(Iterable)
public java.util.List<ContentPacketExtension> wrapupCandidateHarvest()
wrapupCandidateHarvest
in class TransportManagerJabberImpl
TransportManagerJabberImpl.wrapupCandidateHarvest()
public java.lang.String getICECandidateExtendedType(java.lang.String streamName)
getICECandidateExtendedType
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.lang.String getICEState()
getICEState
in class TransportManager<CallPeerJabberImpl>
public java.net.InetSocketAddress getICELocalHostAddress(java.lang.String streamName)
getICELocalHostAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteHostAddress(java.lang.String streamName)
getICERemoteHostAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICELocalReflexiveAddress(java.lang.String streamName)
getICELocalReflexiveAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteReflexiveAddress(java.lang.String streamName)
getICERemoteReflexiveAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICELocalRelayedAddress(java.lang.String streamName)
getICELocalRelayedAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public java.net.InetSocketAddress getICERemoteRelayedAddress(java.lang.String streamName)
getICERemoteRelayedAddress
in class TransportManager<CallPeerJabberImpl>
streamName
- The stream name (AUDIO, VIDEO);public long getTotalHarvestingTime()
getTotalHarvestingTime
in class TransportManager<CallPeerJabberImpl>
public long getHarvestingTime(java.lang.String harvesterName)
getHarvestingTime
in class TransportManager<CallPeerJabberImpl>
harvesterName
- The class name if the harvester.public int getNbHarvesting()
getNbHarvesting
in class TransportManager<CallPeerJabberImpl>
public int getNbHarvesting(java.lang.String harvesterName)
getNbHarvesting
in class TransportManager<CallPeerJabberImpl>
harvesterName
- The class name if the harvester.
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.