forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding WPT for accepting an offer to receive simulcast.
This test checks that when a PeerConnection receives an offer from an SFU indicating that the SFU wants to receive simulcast, it generates an answer that negotiates sending simulcast. Bug: None Change-Id: I1b6623169a1c2fd18ee453bfbf8e63cee95e5bd3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1540306 Reviewed-by: Harald Alvestrand <hta@chromium.org> Commit-Queue: Amit Hilbuch <amithi@chromium.org> Cr-Commit-Position: refs/heads/master@{#644886}
- Loading branch information
1 parent
6bad42f
commit 3384f96
Showing
2 changed files
with
66 additions
and
0 deletions.
There are no files selected for viewing
62 changes: 62 additions & 0 deletions
62
third_party/blink/web_tests/external/wpt/webrtc/protocol/simulcast-answer.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<!doctype html> | ||
<meta charset=utf-8> | ||
<title>RTCPeerConnection Simulcast Answer</title> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script> | ||
'use strict'; | ||
|
||
// Tests for the construction of answers with simulcast according to: | ||
// draft-ietf-mmusic-sdp-simulcast-13 | ||
// draft-ietf-mmusic-rid-15 | ||
promise_test(async t => { | ||
const pc = new RTCPeerConnection(); | ||
t.add_cleanup(() => pc.close()); | ||
const expected_rids = ['foo', 'bar', 'baz']; | ||
|
||
const offer_sdp = `v=0 | ||
o=- 3840232462471583827 2 IN IP4 127.0.0.1 | ||
s=- | ||
t=0 0 | ||
a=group:BUNDLE 0 | ||
a=msid-semantic: WMS | ||
m=video 9 UDP/TLS/RTP/SAVPF 96 | ||
c=IN IP4 0.0.0.0 | ||
a=rtcp:9 IN IP4 0.0.0.0 | ||
a=ice-ufrag:Li6+ | ||
a=ice-pwd:3C05CTZBRQVmGCAq7hVasHlT | ||
a=ice-options:trickle | ||
a=fingerprint:sha-256 5B:D3:8E:66:0E:7D:D3:F3:8E:E6:80:28:19:FC:55:AD:58:5D:B9:3D:A8:DE:45:4A:E7:87:02:F8:3C:0B:3B:B3 | ||
a=setup:actpass | ||
a=mid:0 | ||
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id | ||
a=recvonly | ||
a=rtcp-mux | ||
a=rtpmap:96 VP8/90000 | ||
a=rtcp-fb:96 goog-remb | ||
a=rtcp-fb:96 transport-cc | ||
a=rtcp-fb:96 ccm fir | ||
a=rid:foo send | ||
a=rid:bar send | ||
a=rid:baz send | ||
a=simulcast:recv foo;bar;baz | ||
`; | ||
|
||
await pc.setRemoteDescription({type: 'offer', sdp: offer_sdp}); | ||
const transceiver = pc.getTransceivers()[0]; | ||
// The created transceiver should be in "recvonly" state. Allow it to send. | ||
transceiver.direction = "sendonly"; | ||
const answer = await pc.createAnswer(); | ||
let answer_lines = answer.sdp.split('\r\n'); | ||
// Check for a RID line for each layer. | ||
for (const rid of expected_rids) { | ||
let result = answer_lines.find(line => line.startsWith(`a=rid:${rid}`)); | ||
assert_not_equals(result, undefined, `RID attribute for '${rid}' missing.`); | ||
} | ||
|
||
// Check for simulcast attribute with send direction and all RIDs. | ||
let result = answer_lines.find( | ||
line => line.startsWith(`a=simulcast:send ${expected_rids.join(';')}`)); | ||
assert_not_equals(result, undefined, "Could not find simulcast attribute."); | ||
}, 'createOffer() with multiple send encodings should create simulcast offer'); | ||
</script> |
4 changes: 4 additions & 0 deletions
4
...ests/virtual/webrtc-wpt-plan-b/external/wpt/webrtc/protocol/simulcast-answer-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
This is a testharness.js-based test. | ||
FAIL createOffer() with multiple send encodings should create simulcast offer promise_test: Unhandled rejection with value: object "TypeError: Cannot set property 'direction' of undefined" | ||
Harness: the test ran to completion. | ||
|