Bug 1459832 [wpt PR 10885] - Reland "Adds a test for basic WebRTC video codec conformance.", a=testonly

Automatic update from web-platform-testsReland "Adds a test for basic WebRTC video codec conformance."

This reverts commit 8d1dda318f73e9293d572e08b8773cf137ee7014.

Reason for revert: Now disabling test on relevant platforms.

Original change's description:
> Revert "Adds a test for basic WebRTC video codec conformance."
>
> This reverts commit 72aef1a4cea800fff0d5375c284c6d071cf3d46c.
>
> Reason for revert: Failing on Win / Mac / Linux bots
>
> Unexpected Failures:
> * external/wpt/webrtc/protocol/video-codecs.html
> * virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/protocol/video-codecs.html
>
> WebKit Win7 https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Win7/63947
> WebKit Win10 https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Win10/34576
> WebKit Mac10.10 https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Mac10.10/46846
> WebKit Mac10.11 https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Mac10.11/32883
> WebKit Linux Trusty https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty/44403
>
> (It passes on Mac 10.12.)
>
> Original change's description:
> > Adds a test for basic WebRTC video codec conformance.
> >
> > This tests that the browser conforms to RFC 7742, "WebRTC Video
> > Processing and Codec Requrements".
> >
> > It establishes a new subdirectory for protocol-related WebRTC tests.
> >
> > Bug: chromium:839753
> > Change-Id: Ia4795c4532fb74ae76e6a47329a41807479113c5
> > Reviewed-on: https://chromium-review.googlesource.com/1043886
> > Commit-Queue: Harald Alvestrand <hta@chromium.org>
> > Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#556454}
>
> TBR=mflodman@webrtc.org,hta@chromium.org,foolip@chromium.org
>
> Change-Id: Id3789b69df63d7e41be3573ca1fbb5a07b00e7e7
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:839753
> Reviewed-on: https://chromium-review.googlesource.com/1049088
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Commit-Queue: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#556645}

TBR=mflodman@webrtc.org,hta@chromium.org,ksakamoto@chromium.org,foolip@chromium.org

Change-Id: I867cf04bfc7cd48afea3b5a26f0af77eef731434
Bug: chromium:839753, chromium:840659
Reviewed-on: https://chromium-review.googlesource.com/1049525
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Harald Alvestrand <hta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556731}

--

wpt-commits: 41c88bf884562a5097c2e795b6a179f29f7f3d61
wpt-pr: 10885
This commit is contained in:
Harald Alvestrand 2018-05-10 18:51:12 +00:00 коммит произвёл moz-wptsync-bot
Родитель b90bdf960b
Коммит cacb76f2d3
3 изменённых файлов: 103 добавлений и 0 удалений

Просмотреть файл

@ -299084,6 +299084,11 @@
{}
]
],
"webrtc/protocol/README.txt": [
[
{}
]
],
"webrtc/tools/.eslintrc.js": [
[
{}
@ -373028,6 +373033,12 @@
{}
]
],
"webrtc/protocol/video-codecs.html": [
[
"/webrtc/protocol/video-codecs.html",
{}
]
],
"webrtc/simplecall.https.html": [
[
"/webrtc/simplecall.https.html",
@ -614045,6 +614056,14 @@
"f0292ca52ee86920d0fdb8bccae2bc40a8ef99af",
"testharness"
],
"webrtc/protocol/README.txt": [
"af7066f4e223c39ff45a095c78acf4ca59a211ba",
"support"
],
"webrtc/protocol/video-codecs.html": [
"60f8a95a3fe3aac9b361e52d2d974cdd2483a46d",
"testharness"
],
"webrtc/simplecall.https.html": [
"146432ca56e487a035df8ad9d5a7fa4a495b5405",
"testharness"

Просмотреть файл

@ -0,0 +1,21 @@
This directory contains files that test for behavior relevant to webrtc,
but which is specified in protocol specifications from the IETF, not in
API recommendations from the W3C.
The main specifications are given in the following internet-drafts:
- draft-ietf-rtcweb-overview
- draft-ietf-rtcweb-transports
- draft-ietf-rtcweb-security-arch
- draft-ietf-rtcweb-security
- draft-ietf-rtcweb-rtp-usage
- draft-ietf-rtcweb-jsep
- draft-ietf-rtcweb-ip-handling
- draft-ietf-rtcweb-fec
- draft-ietf-rtcweb-data-protocol
- draft-ietf-rtcweb-data-channel
- RFC 7742, "WebRTC Video Processing and Codec Requirements"
- RFC 7874, "WebRTC Audio Codec and Processing Requirements"
An overview of the dependencies involved is in draft-jennings-rtcweb-deps

Просмотреть файл

@ -0,0 +1,63 @@
<!doctype html>
<meta charset=utf-8>
<title>RTCPeerConnection.prototype.createOffer</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webrtc/RTCPeerConnection-helper.js"></script>
<script>
'use strict';
// Tests for conformance to RFC 7742,
// "WebRTC Video Processing and Codec Requirements"
// The document was formerly known as draft-ietf-rtcweb-video-codecs.
//
// This tests that the browser is a WebRTC Browser as defined there.
// TODO: Section 3.2: screen capture video MUST be prepared
// to handle resolution changes.
// TODO: Section 4: MUST support generating CVO (orientation)
// Section 5: Browsers MUST implement VP8 and H.264 Constrained Baseline
promise_test(async t => {
const pc = new RTCPeerConnection();
const offer = await pc.createOffer({offerToReceiveVideo: true});
let video_section_found = false;
for (let section of offer.sdp.split(/\r\nm=/)) {
if (section.search('video') != 0) {
continue;
}
video_section_found = true;
// RTPMAP lines have the format a=rtpmap:<pt> <codec>/<clock rate>
let rtpmap_regex = /\r\na=rtpmap:(\d+) (\S+)\/\d+\r\n/g;
let match = rtpmap_regex.exec(offer.sdp);
let payload_type_map = new Array();
while (match) {
payload_type_map[match[1]] = match[2];
match = rtpmap_regex.exec(offer.sdp);
}
assert_true(payload_type_map.indexOf('VP8') > -1,
'VP8 is supported');
assert_true(payload_type_map.indexOf('H264') > -1,
'H.264 is supported');
// TODO: Verify that one of the H.264 PTs supports constrained baseline
}
assert_true(video_section_found);
}, 'H.264 and VP8 should be supported in initial offer');
// TODO: Section 6: Recipients MUST be able to decode 320x240@20 fps
// TODO: Section 6.1: VP8 MUST support RFC 7741 payload formats
// TODO: Section 6.1: VP8 MUST respect max-fr/max-fs
// TODO: Section 6.1: VP8 MUST encode and decode square pixels
// TODO: Section 6.2: H.264 MUST support RFC 6184 payload formats
// TODO: Section 6.2: MUST support Constrained Baseline level 1.2
// TODO: Section 6.2: SHOULD support Constrained High level 1.3
// TODO: Section 6.2: MUST support packetization mode 1.
// TODO: Section 6.2: MUST include profile-level-id
// TODO: Section 6.2: SHOULD interpret max-mbps, max-smbps, max-fs et al
// TODO: Section 6.2: MUST NOT include sprop-parameter-sets
// TODO: Section 6.2: MUST support SEI "filler payload"
// TODO: Section 6.2: MUST support SEI "full frame freeze"
// TODO: Section 6.2: MUST be prepared to receive User Data messages
// TODO: Section 6.2: MUST encode and decode square pixels unless signaled
</script>