package nack

Import Path
	github.com/pion/interceptor/pkg/nack (on go.dev)

Dependency Relation
	imports 9 packages, and imported by one package

Involved Source Files errors.go generator_interceptor.go generator_option.go Package nack provides interceptors to implement sending and receiving negative acknowledgements receive_log.go responder_interceptor.go responder_option.go
Package-Level Type Names (total 6)
/* sort by: | */
GeneratorInterceptor interceptor generates nack feedback messages. NoOp interceptor.NoOp BindLocalStream lets you modify any outgoing RTP packets. It is called once for per LocalStream. The returned method will be called once per rtp packet. BindRTCPReader lets you modify any incoming RTCP packets. It is called once per sender/receiver, however this might change in the future. The returned method will be called once per packet batch. BindRTCPWriter lets you modify any outgoing RTCP packets. It is called once per PeerConnection. The returned method will be called once per packet batch. 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. Close closes the interceptor. UnbindLocalStream is called when the Stream is removed. It can be used to clean up any data related to that track. UnbindRemoteStream is called when the Stream is removed. It can be used to clean up any data related to that track. *GeneratorInterceptor : github.com/pion/interceptor.Interceptor *GeneratorInterceptor : github.com/prometheus/common/expfmt.Closer *GeneratorInterceptor : io.Closer
GeneratorInterceptorFactory is a interceptor.Factory for a GeneratorInterceptor. NewInterceptor constructs a new ReceiverInterceptor. *GeneratorInterceptorFactory : github.com/pion/interceptor.Factory func NewGeneratorInterceptor(opts ...GeneratorOption) (*GeneratorInterceptorFactory, error)
GeneratorOption can be used to configure GeneratorInterceptor. func GeneratorInterval(interval time.Duration) GeneratorOption func GeneratorLog(log logging.LeveledLogger) GeneratorOption func GeneratorMaxNacksPerPacket(maxNacks uint16) GeneratorOption func GeneratorSize(size uint16) GeneratorOption func GeneratorSkipLastN(skipLastN uint16) GeneratorOption func GeneratorStreamsFilter(filter func(info *interceptor.StreamInfo) bool) GeneratorOption func NewGeneratorInterceptor(opts ...GeneratorOption) (*GeneratorInterceptorFactory, error)
ResponderInterceptor responds to nack feedback messages. NoOp interceptor.NoOp BindLocalStream lets you modify any outgoing RTP packets. It is called once for per LocalStream. The returned method will be called once per rtp packet. BindRTCPReader lets you modify any incoming RTCP packets. It is called once per sender/receiver, however this might change in the future. The returned method will be called once per packet batch. BindRTCPWriter lets you modify any outgoing RTCP packets. It is called once per PeerConnection. The returned method will be called once per packet batch. 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. Close closes the Interceptor, cleaning up any data if necessary. UnbindLocalStream is called when the Stream is removed. It can be used to clean up any data related to that track. UnbindRemoteStream is called when the Stream is removed. It can be used to clean up any data related to that track. *ResponderInterceptor : github.com/pion/interceptor.Interceptor *ResponderInterceptor : github.com/prometheus/common/expfmt.Closer *ResponderInterceptor : io.Closer
ResponderInterceptorFactory is a interceptor.Factory for a ResponderInterceptor. NewInterceptor constructs a new ResponderInterceptor. *ResponderInterceptorFactory : github.com/pion/interceptor.Factory func NewResponderInterceptor(opts ...ResponderOption) (*ResponderInterceptorFactory, error)
ResponderOption can be used to configure ResponderInterceptor. func DisableCopy() ResponderOption func ResponderLog(log logging.LeveledLogger) ResponderOption func ResponderSize(size uint16) ResponderOption func ResponderStreamsFilter(filter func(info *interceptor.StreamInfo) bool) ResponderOption func NewResponderInterceptor(opts ...ResponderOption) (*ResponderInterceptorFactory, error)
Package-Level Functions (total 12)
DisableCopy bypasses copy of underlying packets. It should be used when you are not re-using underlying buffers of packets that have been written.
GeneratorInterval sets the nack send interval for the interceptor.
GeneratorLog sets a logger for the interceptor.
GeneratorMaxNacksPerPacket sets the maximum number of NACKs sent per missing packet, e.g. if set to 2, a missing packet will only be NACKed at most twice. If set to 0 (default), max number of NACKs is unlimited.
GeneratorSize sets the size of the interceptor. Size must be one of: 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768.
GeneratorSkipLastN sets the number of packets (n-1 packets before the last received packets) to ignore when generating nack requests.
GeneratorStreamsFilter sets filter for generator streams.
NewGeneratorInterceptor returns a new GeneratorInterceptorFactory.
NewResponderInterceptor returns a new ResponderInterceptorFactor.
ResponderLog sets a logger for the interceptor.
ResponderSize sets the size of the interceptor. Size must be one of: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768.
ResponderStreamsFilter sets filter for local streams.
Package-Level Variables (only one)
ErrInvalidSize is returned by newReceiveLog/newRTPBuffer, when an incorrect buffer size is supplied.