зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
b90bdf960b
Коммит
cacb76f2d3
|
@ -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>
|
Загрузка…
Ссылка в новой задаче