public class TransportCCEngine extends RTCPPacketListenerAdapter implements RemoteBitrateObserver, CallStatsObserver
TransformEngine
. 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-01Modifier and Type | Class and Description |
---|---|
class |
TransportCCEngine.EgressEngine
Handles outgoing RTP packets for this
TransportCCEngine . |
class |
TransportCCEngine.IngressEngine
Handles incoming RTP packets for this
TransportCCEngine . |
Constructor and Description |
---|
TransportCCEngine(@NotNull DiagnosticContext diagnosticContext)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
addMediaStream(MediaStream mediaStream)
|
TransformEngine |
getEgressEngine()
Gets the engine which handles outgoing RTP packets for this instance.
|
TransformEngine |
getIngressEngine()
Gets the engine which handles incoming RTP packets for this instance.
|
void |
onReceiveBitrateChanged(java.util.Collection<java.lang.Long> ssrcs,
long bitrate)
Called when a receive channel group has a new bitrate estimate for the
incoming streams.
|
void |
onRttUpdate(long avgRttMs,
long maxRttMs) |
void |
removeMediaStream(MediaStream mediaStream)
|
void |
setExtensionID(int id)
Sets the ID of the transport-cc RTP extension.
|
void |
tccReceived(RTCPTCCPacket tccPacket)
Handles an incoming RTCP transport-cc feedback packet.
|
nackReceived, rembReceived, srReceived
public TransportCCEngine(@NotNull @NotNull DiagnosticContext diagnosticContext)
diagnosticContext
- the DiagnosticContext
of this instance.public void onRttUpdate(long avgRttMs, long maxRttMs)
onRttUpdate
in interface CallStatsObserver
public void setExtensionID(int id)
id
- the ID to set.public void onReceiveBitrateChanged(java.util.Collection<java.lang.Long> ssrcs, long bitrate)
onReceiveBitrateChanged
in interface RemoteBitrateObserver
ssrcs
- bitrate
- public void tccReceived(RTCPTCCPacket tccPacket)
tccReceived
in interface RTCPPacketListener
tccReceived
in class RTCPPacketListenerAdapter
tccPacket
- the received TCC packet.public TransformEngine getEgressEngine()
public TransformEngine getIngressEngine()
public void addMediaStream(MediaStream mediaStream)
mediaStream
- the stream to add.public void removeMediaStream(MediaStream mediaStream)
mediaStream
- the stream to remove.
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.