Documentation ¶
Overview ¶
Package rfc8888 provides an interceptor that generates congestion control feedback reports as defined by RFC 8888.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(*SenderInterceptor) error
An Option is a function that can be used to configure a SenderInterceptor
func SendInterval ¶
SendInterval sets the feedback send interval for the interceptor
func SenderTicker ¶
func SenderTicker(f TickerFactory) Option
SenderTicker sets an alternative for time.Ticker.
type Recorder ¶
type Recorder struct {
// contains filtered or unexported fields
}
Recorder records incoming RTP packets and their arrival times. Recorder can be used to create feedback reports as defined by RFC 8888.
func (*Recorder) BuildReport ¶
BuildReport creates a new rtcp.CCFeedbackReport containing all packets that were added by AddPacket and missing packets.
type SenderInterceptor ¶
type SenderInterceptor struct { interceptor.NoOp // contains filtered or unexported fields }
SenderInterceptor sends congestion control feedback as specified in RFC 8888.
func (*SenderInterceptor) BindRTCPWriter ¶
func (s *SenderInterceptor) BindRTCPWriter(writer interceptor.RTCPWriter) interceptor.RTCPWriter
BindRTCPWriter lets you modify any outgoing RTCP packets. It is called once per PeerConnection. The returned method will be called once per packet batch.
func (*SenderInterceptor) BindRemoteStream ¶
func (s *SenderInterceptor) BindRemoteStream(_ *interceptor.StreamInfo, reader interceptor.RTPReader) interceptor.RTPReader
BindRemoteStream lets you modify any incoming RTP packets. It is called once for per RemoteStream. The returned method will be called once per rtp packet.
func (*SenderInterceptor) Close ¶
func (s *SenderInterceptor) Close() error
Close closes the interceptor.
type SenderInterceptorFactory ¶
type SenderInterceptorFactory struct {
// contains filtered or unexported fields
}
SenderInterceptorFactory is a interceptor.Factory for a SenderInterceptor
func NewSenderInterceptor ¶
func NewSenderInterceptor(opts ...Option) (*SenderInterceptorFactory, error)
NewSenderInterceptor returns a new SenderInterceptorFactory configured with the given options.
func (*SenderInterceptorFactory) NewInterceptor ¶
func (s *SenderInterceptorFactory) NewInterceptor(_ string) (interceptor.Interceptor, error)
NewInterceptor constructs a new SenderInterceptor
type TickerFactory ¶
TickerFactory is a factory to create new tickers