utils

package
v0.0.0-...-c2cc3df Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidRTPVersion      = errors.New("invalid RTP version")
	ErrRTPPayloadTypeMismatch = errors.New("RTP payload type mismatch")
	ErrRTPSSRCMismatch        = errors.New("RTP SSRC mismatch")
)
View Source
var OWDEstimatorParamsDefault = OWDEstimatorParams{

	PropagationDelayFallFactor: 0.9,
	PropagationDelayRiseFactor: 0.1,

	PropagationDelaySpikeAdaptationFactor: 0.5,

	PropagationDelayDeltaThresholdMin:                10 * time.Millisecond,
	PropagationDelayDeltaThresholdMaxFactor:          2,
	PropagationDelayDeltaHighResetNumReports:         2,
	PropagationDelayDeltaHighResetWait:               10 * time.Second,
	PropagationDelayDeltaLongTermAdaptationThreshold: 50 * time.Millisecond,
}

Functions

func CodecParametersFuzzySearch

func CodecParametersFuzzySearch(needle webrtc.RTPCodecParameters, haystack []webrtc.RTPCodecParameters) (webrtc.RTPCodecParameters, error)

Do a fuzzy find for a codec in the list of codecs Used for lookup up a codec in an existing list to find a match

func GetHeaderExtensionID

func GetHeaderExtensionID(extensions []interceptor.RTPHeaderExtension, extension webrtc.RTPHeaderExtensionCapability) int

GetHeaderExtensionID returns the ID of a header extension, or 0 if not found

func ValidateRTPPacket

func ValidateRTPPacket(pkt *rtp.Packet, expectedPayloadType uint8, expectedSSRC uint32) error

ValidateRTPPacket checks for a valid RTP packet and returns an error if fields are incorrect

Types

type Debouncer

type Debouncer struct {
	// contains filtered or unexported fields
}

func NewDebouncer

func NewDebouncer(after time.Duration) *Debouncer

func (*Debouncer) Add

func (d *Debouncer) Add(f func())

func (*Debouncer) SetDuration

func (d *Debouncer) SetDuration(after time.Duration)

type OWDEstimator

type OWDEstimator struct {
	// contains filtered or unexported fields
}

func NewOWDEstimator

func NewOWDEstimator(params OWDEstimatorParams) *OWDEstimator

func (*OWDEstimator) EstimatedPropagationDelay

func (o *OWDEstimator) EstimatedPropagationDelay() time.Duration

func (*OWDEstimator) MarshalLogObject

func (o *OWDEstimator) MarshalLogObject(e zapcore.ObjectEncoder) error

func (*OWDEstimator) Update

func (o *OWDEstimator) Update(senderClockTime time.Time, receiverClockTime time.Time) (time.Duration, bool)

type OWDEstimatorParams

type OWDEstimatorParams struct {
	PropagationDelayFallFactor float64
	PropagationDelayRiseFactor float64

	PropagationDelaySpikeAdaptationFactor float64

	PropagationDelayDeltaThresholdMin                time.Duration
	PropagationDelayDeltaThresholdMaxFactor          int
	PropagationDelayDeltaHighResetNumReports         int
	PropagationDelayDeltaHighResetWait               time.Duration
	PropagationDelayDeltaLongTermAdaptationThreshold time.Duration
}

type RangeMap

type RangeMap[RT rangeType, VT valueType] struct {
	// contains filtered or unexported fields
}

func NewRangeMap

func NewRangeMap[RT rangeType, VT valueType](size int) *RangeMap[RT, VT]

func (*RangeMap[RT, VT]) ClearAndResetValue

func (r *RangeMap[RT, VT]) ClearAndResetValue(start RT, val VT)

func (*RangeMap[RT, VT]) DecValue

func (r *RangeMap[RT, VT]) DecValue(end RT, dec VT)

func (*RangeMap[RT, VT]) ExcludeRange

func (r *RangeMap[RT, VT]) ExcludeRange(startInclusive RT, endExclusive RT) error

func (*RangeMap[RT, VT]) GetValue

func (r *RangeMap[RT, VT]) GetValue(key RT) (VT, error)

func (*RangeMap[RT, VT]) MarshalLogObject

func (r *RangeMap[RT, VT]) MarshalLogObject(e zapcore.ObjectEncoder) error

type WrapAround

type WrapAround[T number, ET extendedNumber] struct {
	// contains filtered or unexported fields
}

func NewWrapAround

func NewWrapAround[T number, ET extendedNumber](params WrapAroundParams) *WrapAround[T, ET]

func (*WrapAround[T, ET]) GetExtendedHighest

func (w *WrapAround[T, ET]) GetExtendedHighest() ET

func (*WrapAround[T, ET]) GetExtendedStart

func (w *WrapAround[T, ET]) GetExtendedStart() ET

func (*WrapAround[T, ET]) GetHighest

func (w *WrapAround[T, ET]) GetHighest() T

func (*WrapAround[T, ET]) GetStart

func (w *WrapAround[T, ET]) GetStart() T

func (*WrapAround[T, ET]) ResetHighest

func (w *WrapAround[T, ET]) ResetHighest(ev ET)

func (*WrapAround[T, ET]) RollbackRestart

func (w *WrapAround[T, ET]) RollbackRestart(ev ET)

func (*WrapAround[T, ET]) Rollover

func (w *WrapAround[T, ET]) Rollover(val T, numCycles int) (result WrapAroundUpdateResult[ET])

func (*WrapAround[T, ET]) Seed

func (w *WrapAround[T, ET]) Seed(from *WrapAround[T, ET])

func (*WrapAround[T, ET]) UndoUpdate

func (w *WrapAround[T, ET]) UndoUpdate(result WrapAroundUpdateResult[ET])

func (*WrapAround[T, ET]) Update

func (w *WrapAround[T, ET]) Update(val T) (result WrapAroundUpdateResult[ET])

type WrapAroundParams

type WrapAroundParams struct {
	IsRestartAllowed bool
}

type WrapAroundUpdateResult

type WrapAroundUpdateResult[ET extendedNumber] struct {
	IsUnhandled        bool // when set, other fields are invalid
	IsRestart          bool
	PreExtendedStart   ET // valid only if IsRestart = true
	PreExtendedHighest ET
	ExtendedVal        ET
}

func (*WrapAroundUpdateResult[ET]) MarshalLogObject

func (w *WrapAroundUpdateResult[ET]) MarshalLogObject(e zapcore.ObjectEncoder) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL