|
4 | 4 | <script src="/resources/testharness.js"></script>
|
5 | 5 | <script src="/resources/testharnessreport.js"></script>
|
6 | 6 | <script src="dictionary-helper.js"></script>
|
| 7 | +<script src="RTCPeerConnection-helper.js"></script> |
7 | 8 | <script src="RTCRtpParameters-helper.js"></script>
|
8 | 9 | <script>
|
9 | 10 | 'use strict';
|
|
70 | 71 | assert_greater_than(param.headerExtensions.length, 0);
|
71 | 72 | assert_greater_than(param.codecs.length, 0);
|
72 | 73 | }, '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 | + |
73 | 101 | </script>
|
0 commit comments