Package org.jitsi.impl.neomedia.rtp
Class TransportCCEngine
- java.lang.Object
-
- org.jitsi.impl.neomedia.rtp.RTCPPacketListenerAdapter
-
- org.jitsi.impl.neomedia.rtp.TransportCCEngine
-
- All Implemented Interfaces:
RemoteBitrateObserver,CallStatsObserver,RTCPPacketListener
public class TransportCCEngine extends RTCPPacketListenerAdapter implements RemoteBitrateObserver, CallStatsObserver
Implements transport-cc functionality as aTransformEngine. The intention is to have the same instance shared between all media streams of a transport channel, so we expect it will be accessed by multiple threads. See https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01- Author:
- Boris Grozev, Julian Chukwu, George Politis
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classTransportCCEngine.EgressEngineHandles outgoing RTP packets for thisTransportCCEngine.classTransportCCEngine.IngressEngineHandles incoming RTP packets for thisTransportCCEngine.
-
Constructor Summary
Constructors Constructor Description TransportCCEngine(@NotNull org.jitsi.utils.logging.DiagnosticContext diagnosticContext)Ctor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMediaStream(MediaStream mediaStream)TransformEnginegetEgressEngine()Gets the engine which handles outgoing RTP packets for this instance.TransformEnginegetIngressEngine()Gets the engine which handles incoming RTP packets for this instance.voidonReceiveBitrateChanged(Collection<Long> ssrcs, long bitrate)Called when a receive channel group has a new bitrate estimate for the incoming streams.voidonRttUpdate(long avgRttMs, long maxRttMs)voidremoveMediaStream(MediaStream mediaStream)voidsetExtensionID(int id)Sets the ID of the transport-cc RTP extension.voidtccReceived(RTCPTCCPacket tccPacket)Handles an incoming RTCP transport-cc feedback packet.-
Methods inherited from class org.jitsi.impl.neomedia.rtp.RTCPPacketListenerAdapter
nackReceived, rembReceived, srReceived
-
-
-
-
Method Detail
-
onRttUpdate
public void onRttUpdate(long avgRttMs, long maxRttMs)- Specified by:
onRttUpdatein interfaceCallStatsObserver
-
setExtensionID
public void setExtensionID(int id)
Sets the ID of the transport-cc RTP extension. Set to -1 to effectively disable.- Parameters:
id- the ID to set.
-
onReceiveBitrateChanged
public void onReceiveBitrateChanged(Collection<Long> ssrcs, long bitrate)
Called when a receive channel group has a new bitrate estimate for the incoming streams.- Specified by:
onReceiveBitrateChangedin interfaceRemoteBitrateObserver- Parameters:
ssrcs-bitrate-
-
tccReceived
public void tccReceived(RTCPTCCPacket tccPacket)
Handles an incoming RTCP transport-cc feedback packet.- Specified by:
tccReceivedin interfaceRTCPPacketListener- Overrides:
tccReceivedin classRTCPPacketListenerAdapter- Parameters:
tccPacket- the received TCC packet.
-
getEgressEngine
public TransformEngine getEgressEngine()
Gets the engine which handles outgoing RTP packets for this instance.
-
getIngressEngine
public TransformEngine getIngressEngine()
Gets the engine which handles incoming RTP packets for this instance.
-
addMediaStream
public void addMediaStream(MediaStream mediaStream)
- Parameters:
mediaStream- the stream to add.
-
removeMediaStream
public void removeMediaStream(MediaStream mediaStream)
- Parameters:
mediaStream- the stream to remove.
-
-