Documentation
¶
Index ¶
- Variables
- type Base
- type LeakyBucket
- type NoQueue
- type Pacer
- type PacerBehavior
- type PacerProbeObserverListener
- type Packet
- type PassThrough
- type ProbeObserver
- func (po *ProbeObserver) EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
- func (po *ProbeObserver) RecordPacket(size int, isRTX bool, probeClusterId ccutils.ProbeClusterId, isProbe bool)
- func (po *ProbeObserver) SetPacerProbeObserverListener(listener PacerProbeObserverListener)
- func (po *ProbeObserver) StartProbeCluster(pci ccutils.ProbeClusterInfo)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( PacketFactory = &sync.Pool{ New: func() any { return &Packet{} }, } )
Functions ¶
This section is empty.
Types ¶
type Base ¶
type Base struct {
*ProbeObserver
// contains filtered or unexported fields
}
func (*Base) SetBitrate ¶ added in v1.4.5
func (*Base) SetInterval ¶ added in v1.4.5
func (*Base) TimeSinceLastSentPacket ¶ added in v1.8.1
type LeakyBucket ¶ added in v1.4.5
type LeakyBucket struct {
*Base
// contains filtered or unexported fields
}
func NewLeakyBucket ¶ added in v1.4.5
func (*LeakyBucket) Enqueue ¶ added in v1.4.5
func (l *LeakyBucket) Enqueue(p *Packet)
func (*LeakyBucket) SetBitrate ¶ added in v1.4.5
func (l *LeakyBucket) SetBitrate(bitrate int)
func (*LeakyBucket) SetInterval ¶ added in v1.4.5
func (l *LeakyBucket) SetInterval(interval time.Duration)
func (*LeakyBucket) Stop ¶ added in v1.4.5
func (l *LeakyBucket) Stop()
type Pacer ¶
type Pacer interface {
Enqueue(p *Packet)
Stop()
SetInterval(interval time.Duration)
SetBitrate(bitrate int)
TimeSinceLastSentPacket() time.Duration
SetPacerProbeObserverListener(listener PacerProbeObserverListener)
StartProbeCluster(pci ccutils.ProbeClusterInfo)
EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
}
type PacerBehavior ¶ added in v1.9.0
type PacerBehavior string
const ( PacerBehaviorPassThrough PacerBehavior = "pass-through" PacerBehaviorNoQueue PacerBehavior = "no-queue" PacerBehaviorLeakybucket PacerBehavior = "leaky-bucket" )
type PacerProbeObserverListener ¶ added in v1.8.1
type PacerProbeObserverListener interface {
OnPacerProbeObserverClusterComplete(probeClusterId ccutils.ProbeClusterId)
}
type Packet ¶
type Packet struct {
Header *rtp.Header
HeaderPool *sync.Pool
HeaderSize int
Payload []byte
IsRTX bool
ProbeClusterId ccutils.ProbeClusterId
IsProbe bool
AbsSendTimeExtID uint8
TransportWideExtID uint8
WriteStream webrtc.TrackLocalWriter
Pool *sync.Pool
PoolEntity *[]byte
// contains filtered or unexported fields
}
func (*Packet) HoldExtension ¶ added in v1.13.8
HoldExtension copies ext into the next free scratch slot, which the header can point at until SendPacket returns. It returns nil when ext does not fit or every slot is held.
type PassThrough ¶
type PassThrough struct {
*Base
}
func NewPassThrough ¶
func NewPassThrough(logger logger.Logger, bwe bwe.BWE) *PassThrough
func (*PassThrough) Enqueue ¶
func (p *PassThrough) Enqueue(pkt *Packet)
func (*PassThrough) Stop ¶
func (p *PassThrough) Stop()
type ProbeObserver ¶ added in v1.8.1
type ProbeObserver struct {
// contains filtered or unexported fields
}
func NewProbeObserver ¶ added in v1.8.1
func NewProbeObserver(logger logger.Logger) *ProbeObserver
func (*ProbeObserver) EndProbeCluster ¶ added in v1.8.1
func (po *ProbeObserver) EndProbeCluster(probeClusterId ccutils.ProbeClusterId) ccutils.ProbeClusterInfo
func (*ProbeObserver) RecordPacket ¶ added in v1.8.1
func (po *ProbeObserver) RecordPacket(size int, isRTX bool, probeClusterId ccutils.ProbeClusterId, isProbe bool)
func (*ProbeObserver) SetPacerProbeObserverListener ¶ added in v1.8.1
func (po *ProbeObserver) SetPacerProbeObserverListener(listener PacerProbeObserverListener)
func (*ProbeObserver) StartProbeCluster ¶ added in v1.8.1
func (po *ProbeObserver) StartProbeCluster(pci ccutils.ProbeClusterInfo)
Click to show internal directories.
Click to hide internal directories.