mirror of
https://github.com/pion/webrtc.git
synced 2025-09-27 03:25:58 +08:00

Provide API so that handling around RTP can be easily defined by the user. See the design doc here[0] [0] https://github.com/pion/webrtc-v3-design/issues/34
27 lines
925 B
Go
27 lines
925 B
Go
// +build !js
|
|
|
|
package webrtc
|
|
|
|
import (
|
|
"github.com/pion/interceptor"
|
|
)
|
|
|
|
// RegisterDefaultInterceptors will register some useful interceptors. If you want to customize which interceptors are loaded,
|
|
// you should copy the code from this method and remove unwanted interceptors.
|
|
func RegisterDefaultInterceptors(mediaEngine *MediaEngine, interceptorRegistry *interceptor.Registry) error {
|
|
err := ConfigureNack(mediaEngine, interceptorRegistry)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// ConfigureNack will setup everything necessary for handling generating/responding to nack messages.
|
|
func ConfigureNack(mediaEngine *MediaEngine, interceptorRegistry *interceptor.Registry) error {
|
|
mediaEngine.RegisterFeedback(RTCPFeedback{Type: "nack"}, RTPCodecTypeVideo)
|
|
mediaEngine.RegisterFeedback(RTCPFeedback{Type: "nack", Parameter: "pli"}, RTPCodecTypeVideo)
|
|
interceptorRegistry.Add(&interceptor.NACK{})
|
|
return nil
|
|
}
|