| <!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> |
| 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> |