summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc/simulcast/h264.https.html
blob: ed85131c2ccd0857da9a3fa7bd748271c1d07d3a (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
<!doctype html>
<meta charset=utf-8>
<title>RTCPeerConnection Simulcast Tests</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>
/*
 * Chromium note: this requires build bots with H264 support. See
 *   https://bugs.chromium.org/p/chromium/issues/detail?id=840659
 * for details on how to enable support.
 */
promise_test(async t => {
  assert_implements('getCapabilities' in RTCRtpSender, 'RTCRtpSender.getCapabilities not supported');
  assert_implements(RTCRtpSender.getCapabilities('video').codecs.find(c => c.mimeType === 'video/H264'), 'H264 not supported');

  const rids = [0, 1];
  const pc1 = new RTCPeerConnection();
  t.add_cleanup(() => pc1.close());
  const pc2 = new RTCPeerConnection();
  t.add_cleanup(() => pc2.close());

  return negotiateSimulcastAndWaitForVideo(t, rids, pc1, pc2, {mimeType: 'video/H264'});
}, 'H264 simulcast setup with two spatial layers');
</script>