Skip to content

Commit 6e78354

Browse files
alvestrandchromium-wpt-export-bot
authored andcommitted
Add tests for if codec info surfaces at the right time.
In support of landing this spec PR: w3c/webrtc-pc#2972 Bug: None Change-Id: I698276ccf739a872d791fc0923c2725ec303fbd3
1 parent a591743 commit 6e78354

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

webrtc/RTCRtpReceiver-getParameters.html

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<script src="/resources/testharness.js"></script>
55
<script src="/resources/testharnessreport.js"></script>
66
<script src="dictionary-helper.js"></script>
7+
<script src="RTCPeerConnection-helper.js"></script>
78
<script src="RTCRtpParameters-helper.js"></script>
89
<script>
910
'use strict';
@@ -70,4 +71,31 @@
7071
assert_greater_than(param.headerExtensions.length, 0);
7172
assert_greater_than(param.codecs.length, 0);
7273
}, 'getParameters() with simulcast video receiver');
74+
75+
promise_test(async t => {
76+
const stream = await getNoiseStream({video: true});
77+
t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
78+
const [track] = stream.getTracks();
79+
const caller = new RTCPeerConnection();
80+
t.add_cleanup(() => caller.close());
81+
caller.addTrack(track);
82+
const callee = new RTCPeerConnection();
83+
t.add_cleanup(() => callee.close());
84+
callee.addTrack(track);
85+
var callerReceiver = caller.getTransceivers()[0].receiver;
86+
assert_equals(callerReceiver.getParameters().codecs.length, 0);
87+
const offer = await caller.createOffer();
88+
await caller.setLocalDescription(offer);
89+
await callee.setRemoteDescription(offer);
90+
var calleeReceiver = callee.getTransceivers()[0].receiver;
91+
assert_equals(calleeReceiver.getParameters().codecs.length, 0);
92+
const answer = await callee.createAnswer();
93+
await callee.setLocalDescription(answer);
94+
assert_greater_than(calleeReceiver.getParameters().codecs.length, 0,
95+
"callee codecs after answer");
96+
await caller.setRemoteDescription(answer);
97+
assert_greater_than(callerReceiver.getParameters().codecs.length, 0,
98+
"caller codecs after answer");
99+
}, 'getParameters() surfaces codecs on two-way receiver at the right time');
100+
73101
</script>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!doctype html>
2+
<meta charset=utf-8>
3+
<title>RTCRtpSender.prototype.getParameters</title>
4+
<script src="/resources/testharness.js"></script>
5+
<script src="/resources/testharnessreport.js"></script>
6+
<script src="dictionary-helper.js"></script>
7+
<script src="RTCPeerConnection-helper.js"></script>
8+
<script src="RTCRtpParameters-helper.js"></script>
9+
<script>
10+
'use strict';
11+
12+
promise_test(async t => {
13+
const stream = await getNoiseStream({video: true});
14+
t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
15+
const [track] = stream.getTracks();
16+
const caller = new RTCPeerConnection();
17+
t.add_cleanup(() => caller.close());
18+
caller.addTrack(track);
19+
const callee = new RTCPeerConnection();
20+
t.add_cleanup(() => callee.close());
21+
callee.addTrack(track);
22+
var callerSender = caller.getTransceivers()[0].sender;
23+
assert_equals(callerSender.getParameters().codecs.length, 0);
24+
const offer = await caller.createOffer();
25+
await caller.setLocalDescription(offer);
26+
await callee.setRemoteDescription(offer);
27+
// Check that it is a single 2-way transceiver.
28+
assert_equals(callee.getTransceivers().length, 1);
29+
var calleeSender = callee.getTransceivers()[0].sender;
30+
assert_equals(calleeSender.getParameters().codecs.length, 0);
31+
const answer = await callee.createAnswer();
32+
await callee.setLocalDescription(answer);
33+
assert_greater_than(calleeSender.getParameters().codecs.length, 0,
34+
"callee codecs after answer");
35+
await caller.setRemoteDescription(answer);
36+
assert_greater_than(callerSender.getParameters().codecs.length, 0,
37+
"caller codecs after answer");
38+
}, 'getParameters() surfaces codecs on two-way sender with addTrack at the right time');
39+
40+
</script>

0 commit comments

Comments
 (0)