summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc/simulcast/getStats.https.html
blob: b5a9e6eb28307ccb222adaf63d28f609020edf9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!doctype html>
<meta charset=utf-8>
<title>RTCPeerConnection Simulcast Tests - getStats</title>
<meta name="timeout" content="long">
<script src="../third_party/sdp/sdp.js"></script>
<script src="simulcast.js"></script>
<script src="../RTCPeerConnection-helper.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="../../mediacapture-streams/permission-helper.js"></script>
<script>
promise_test(async t => {
  const rids = [0, 1, 2];
  const pc1 = new RTCPeerConnection();
  t.add_cleanup(() => pc1.close());
  const pc2 = new RTCPeerConnection();
  t.add_cleanup(() => pc2.close());

  await negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2);

  const outboundStats = [];
  const senderStats = await pc1.getSenders()[0].getStats();
  senderStats.forEach(stat => {
    if (stat.type === 'outbound-rtp') {
      outboundStats.push(stat);
    }
  });
  assert_equals(outboundStats.length, 3, "getStats result should contain three layers");
  const statsRids = outboundStats.map(stat => parseInt(stat.rid, 10));
  assert_array_equals(rids, statsRids.sort(), "getStats result should match the rids provided");
}, 'Simulcast getStats results');
</script>