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)
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.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |