package rtc import ( "github.com/pion/rtp" "github.com/pion/rtp/codecs" "github.com/pion/webrtc/v3" "strings" ) func payloaderForCodec(codec webrtc.RTPCodecCapability) (rtp.Payloader, error) { switch strings.ToLower(codec.MimeType) { case strings.ToLower(webrtc.MimeTypeH264): return &codecs.H264Payloader{}, nil case strings.ToLower(webrtc.MimeTypeOpus): return &codecs.OpusPayloader{}, nil case strings.ToLower(webrtc.MimeTypeVP8): return &codecs.VP8Payloader{}, nil case strings.ToLower(webrtc.MimeTypeVP9): return &codecs.VP9Payloader{}, nil case strings.ToLower(webrtc.MimeTypeG722): return &codecs.G722Payloader{}, nil case strings.ToLower(webrtc.MimeTypePCMU), strings.ToLower(webrtc.MimeTypePCMA): return &codecs.G711Payloader{}, nil default: return nil, webrtc.ErrNoPayloaderForCodec } }