MCPcopy
hub / github.com/pion/webrtc / Test_RTPTransceiver_SetCodecPreferences

Function Test_RTPTransceiver_SetCodecPreferences

rtptransceiver_test.go:15–86  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

13)
14
15func Test_RTPTransceiver_SetCodecPreferences(t *testing.T) {
16 mediaEngine := &MediaEngine{}
17 api := NewAPI(WithMediaEngine(mediaEngine))
18 assert.NoError(t, mediaEngine.RegisterDefaultCodecs())
19
20 assert.NoError(t, mediaEngine.pushCodecs(mediaEngine.videoCodecs, RTPCodecTypeVideo))
21 assert.NoError(t, mediaEngine.pushCodecs(mediaEngine.audioCodecs, RTPCodecTypeAudio))
22
23 tr := RTPTransceiver{kind: RTPCodecTypeVideo, api: api, codecs: mediaEngine.videoCodecs}
24 assert.EqualValues(t, mediaEngine.videoCodecs, tr.getCodecs())
25
26 failTestCases := [][]RTPCodecParameters{
27 {
28 {
29 RTPCodecCapability: RTPCodecCapability{MimeTypeOpus, 48000, 2, "minptime=10;useinbandfec=1", nil},
30 PayloadType: 111,
31 },
32 },
33 {
34 {
35 RTPCodecCapability: RTPCodecCapability{MimeTypeVP8, 90000, 0, "", nil},
36 PayloadType: 96,
37 },
38 {
39 RTPCodecCapability: RTPCodecCapability{MimeTypeOpus, 48000, 2, "minptime=10;useinbandfec=1", nil},
40 PayloadType: 111,
41 },
42 },
43 }
44
45 for _, testCase := range failTestCases {
46 assert.ErrorIs(t, tr.SetCodecPreferences(testCase), errRTPTransceiverCodecUnsupported)
47 }
48
49 successTestCases := [][]RTPCodecParameters{
50 {
51 {
52 RTPCodecCapability: RTPCodecCapability{MimeTypeVP8, 90000, 0, "", nil},
53 PayloadType: 96,
54 },
55 },
56 {
57 {
58 RTPCodecCapability: RTPCodecCapability{MimeTypeVP8, 90000, 0, "", nil},
59 PayloadType: 96,
60 },
61 {
62 RTPCodecCapability: RTPCodecCapability{MimeTypeRTX, 90000, 0, "apt=96", nil},
63 PayloadType: 97,
64 },
65
66 {
67 RTPCodecCapability: RTPCodecCapability{MimeTypeVP9, 90000, 0, "profile-id=0", nil},
68 PayloadType: 98,
69 },
70 {
71 RTPCodecCapability: RTPCodecCapability{MimeTypeRTX, 90000, 0, "apt=98", nil},
72 PayloadType: 99,

Callers

nothing calls this directly

Calls 6

RegisterDefaultCodecsMethod · 0.95
pushCodecsMethod · 0.95
getCodecsMethod · 0.95
SetCodecPreferencesMethod · 0.95
WithMediaEngineFunction · 0.85
NewAPIFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…