
2 changed files with 142 additions and 59 deletions
@ -0,0 +1,98 @@ |
|||
package webrtc |
|||
|
|||
import ( |
|||
. "github.com/pion/webrtc/v3" |
|||
) |
|||
|
|||
func RegisterCodecs(m *MediaEngine) error { |
|||
for _, codec := range []RTPCodecParameters{ |
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypePCMU, 8000, 0, "", nil}, |
|||
PayloadType: 0, |
|||
}, |
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypePCMA, 8000, 0, "", nil}, |
|||
PayloadType: 8, |
|||
}, |
|||
} { |
|||
if err := m.RegisterCodec(codec, RTPCodecTypeAudio); err != nil { |
|||
return err |
|||
} |
|||
} |
|||
videoRTCPFeedback := []RTCPFeedback{{"goog-remb", ""}, {"ccm", "fir"}, {"nack", ""}, {"nack", "pli"}} |
|||
for _, codec := range []RTPCodecParameters{ |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=96", nil},
|
|||
// PayloadType: 97,
|
|||
// },
|
|||
|
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=98", nil},
|
|||
// PayloadType: 99,
|
|||
// },
|
|||
|
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=100", nil},
|
|||
// PayloadType: 101,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f", videoRTCPFeedback}, |
|||
PayloadType: 102, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=102", nil},
|
|||
// PayloadType: 121,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f", videoRTCPFeedback}, |
|||
PayloadType: 127, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=127", nil},
|
|||
// PayloadType: 120,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f", videoRTCPFeedback}, |
|||
PayloadType: 125, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=125", nil},
|
|||
// PayloadType: 107,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f", videoRTCPFeedback}, |
|||
PayloadType: 108, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=108", nil},
|
|||
// PayloadType: 109,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f", videoRTCPFeedback}, |
|||
PayloadType: 127, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=127", nil},
|
|||
// PayloadType: 120,
|
|||
// },
|
|||
|
|||
{ |
|||
RTPCodecCapability: RTPCodecCapability{MimeTypeH264, 90000, 0, "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032", videoRTCPFeedback}, |
|||
PayloadType: 123, |
|||
}, |
|||
// {
|
|||
// RTPCodecCapability: RTPCodecCapability{"video/rtx", 90000, 0, "apt=123", nil},
|
|||
// PayloadType: 118,
|
|||
// },
|
|||
} { |
|||
if err := m.RegisterCodec(codec, RTPCodecTypeVideo); err != nil { |
|||
return err |
|||
} |
|||
} |
|||
return nil |
|||
} |
Loading…
Reference in new issue