interceptor

package
v0.0.0-...-f8853a5 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRTXProbeBatchSize    = 5                      // Number of packets per batch
	DefaultRTXProbeInterval     = 100 * time.Millisecond // Interval between batches
	DefaultRTXProbeDuration     = 1 * time.Second        // Total probing duration
	DefaultRTXProbeInitialDelay = 50 * time.Millisecond  // Initial delay before probing starts
)

Default RTX probing configuration

Throughput estimate with defaults: - Batches: 1000ms / 100ms = 10 batches - Packets: 10 * 5 = 50 packets - Packet size: ~12 (RTP) + ~8 (extensions) + 1 (payload) = ~21 bytes RTP - With UDP/IP: ~21 + 28 = ~49 bytes on wire - Total: 50 * 49 ≈ 2.5 KB in first second ≈ 20 kbps

Variables

This section is empty.

Functions

This section is empty.

Types

type RTXProber

type RTXProber struct {
	interceptor.NoOp
	// contains filtered or unexported fields
}

RTXProber is an interceptor that sends RTX probe packets to help the remote peer discover RTX SSRC mappings via header extensions.

func (*RTXProber) BindLocalStream

func (p *RTXProber) BindLocalStream(info *interceptor.StreamInfo, writer interceptor.RTPWriter) interceptor.RTPWriter

BindLocalStream implements interceptor.Interceptor.

func (*RTXProber) UnbindLocalStream

func (p *RTXProber) UnbindLocalStream(info *interceptor.StreamInfo)

UnbindLocalStream implements interceptor.Interceptor.

type RTXProberConfig

type RTXProberConfig struct {
	BatchSize    int           // Number of packets per batch
	Interval     time.Duration // Interval between batches
	Duration     time.Duration // Total probing duration
	InitialDelay time.Duration // Initial delay before probing starts
}

RTXProberConfig holds configuration for the RTX prober.

type RTXProberFactory

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

RTXProberFactory creates RTX prober interceptors that send probe packets to help the SFU discover RTX SSRC mappings.

func NewRTXProberFactory

func NewRTXProberFactory() *RTXProberFactory

NewRTXProberFactory creates a new RTX prober factory with default configuration.

func NewRTXProberFactoryWithConfig

func NewRTXProberFactoryWithConfig(config RTXProberConfig) *RTXProberFactory

NewRTXProberFactoryWithConfig creates a new RTX prober factory with custom configuration.

func (*RTXProberFactory) NewInterceptor

func (f *RTXProberFactory) NewInterceptor(_ string) (interceptor.Interceptor, error)

NewInterceptor creates a new RTX prober interceptor.

Jump to

Keyboard shortcuts

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