Bug 79203
Summary: | [GTK] MediaStream implementation | ||
---|---|---|---|
Product: | WebKit | Reporter: | Philippe Normand <pnormand> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | aboya, agouaillard, aperez, bugs-noreply, bugzilla, clopez, crzwdjk, cturner, dpino, isair, magomez, slomo, tsaunier, vjaquez, yanbin.zhang, yujie.mao, zan |
Priority: | P2 | Keywords: | Gtk, LayoutTestFailure |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 110150, 122322, 122324, 122443, 122444, 122831, 122832, 122833, 122834, 123144, 123145, 123158, 123345, 142393, 142476 | ||
Bug Blocks: |
Philippe Normand
I wonder if this started failing after r108437. Diff:
--- /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/fast/dom/MediaStream/argument-types-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/fast/dom/MediaStream/argument-types-actual.txt
@@ -14,7 +14,7 @@
PASS navigator.webkitGetUserMedia(Infinity) threw exception TypeError: Not enough arguments.
PASS navigator.webkitGetUserMedia(-Infinity) threw exception TypeError: Not enough arguments.
PASS navigator.webkitGetUserMedia(emptyFunction) threw exception TypeError: Not enough arguments.
-PASS navigator.webkitGetUserMedia("video", emptyFunction) did not throw exception.
+FAIL navigator.webkitGetUserMedia("video", emptyFunction) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
PASS navigator.webkitGetUserMedia(undefined, emptyFunction) threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9.
PASS navigator.webkitGetUserMedia(null, emptyFunction) threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9.
PASS navigator.webkitGetUserMedia({}, emptyFunction) threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9.
@@ -27,22 +27,22 @@
PASS navigator.webkitGetUserMedia("video", "video") threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", undefined) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", null) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
-PASS navigator.webkitGetUserMedia("video", {}) did not throw exception.
-PASS navigator.webkitGetUserMedia("video", objectThrowingException) did not throw exception.
+FAIL navigator.webkitGetUserMedia("video", {}) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("video", objectThrowingException) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
PASS navigator.webkitGetUserMedia("video", true) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", 42) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", Infinity) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", -Infinity) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
-PASS navigator.webkitGetUserMedia("video", emptyFunction, emptyFunction) did not throw exception.
-PASS navigator.webkitGetUserMedia("video", emptyFunction, undefined) did not throw exception.
-PASS navigator.webkitGetUserMedia("audio, video", emptyFunction, undefined) did not throw exception.
-PASS navigator.webkitGetUserMedia("audio, somethingelse,,video", emptyFunction, undefined) did not throw exception.
-PASS navigator.webkitGetUserMedia("audio, video user", emptyFunction, undefined) did not throw exception.
-PASS navigator.webkitGetUserMedia("audio, video environment", emptyFunction, undefined) did not throw exception.
+FAIL navigator.webkitGetUserMedia("video", emptyFunction, emptyFunction) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("video", emptyFunction, undefined) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("audio, video", emptyFunction, undefined) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("audio, somethingelse,,video", emptyFunction, undefined) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("audio, video user", emptyFunction, undefined) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("audio, video environment", emptyFunction, undefined) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
PASS navigator.webkitGetUserMedia("video", emptyFunction, "video") threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
-PASS navigator.webkitGetUserMedia("video", emptyFunction, null) did not throw exception.
-PASS navigator.webkitGetUserMedia("video", emptyFunction, {}) did not throw exception.
-PASS navigator.webkitGetUserMedia("video", emptyFunction, objectThrowingException) did not throw exception.
+FAIL navigator.webkitGetUserMedia("video", emptyFunction, null) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("video", emptyFunction, {}) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
+FAIL navigator.webkitGetUserMedia("video", emptyFunction, objectThrowingException) should not throw exception. Threw exception Error: NOT_SUPPORTED_ERR: DOM Exception 9
PASS navigator.webkitGetUserMedia("video", emptyFunction, true) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", emptyFunction, 42) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS navigator.webkitGetUserMedia("video", emptyFunction, Infinity) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Philippe Normand
Also:
--- /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/fast/mediastream/peerconnection-Attributes-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-debug/build/layout-test-results/fast/mediastream/peerconnection-Attributes-actual.txt
@@ -1,32 +1,10 @@
+CONSOLE MESSAGE: line 62: NOT_SUPPORTED_ERR: DOM Exception 9: The implementation did not support the requested type of object or operation.
Tests PeerToPeerConnection related Attributes according to http://www.w3.org/TR/webrtc/
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS typeof pc.addStream == 'function' is true
-PASS typeof pc.removeStream == 'function' is true
-PASS typeof pc.close == 'function' is true
-PASS pc.NEW ==0 is true
-PASS pc.NEGOTIATING == 1 is true
-PASS pc.ACTIVE == 2 is true
-PASS pc.CLOSED == 3 is true
-FAIL pc.ICE_GATHERING == 0x100 should be true. Was false.
-FAIL pc.ICE_WAITING == 0x200 should be true. Was false.
-FAIL pc.ICE_CHECKING == 0x300 should be true. Was false.
-FAIL pc.ICE_CONNECTED == 0x400 should be true. Was false.
-FAIL pc.ICE_COMPLETED == 0x500 should be true. Was false.
-FAIL pc.ICE_FAILED == 0x600 should be true. Was false.
-FAIL pc.ICE_CLOSED == 0x700 should be true. Was false.
-FAIL pc.SDP_IDLE == 0x1000 should be true. Was false.
-FAIL pc.SDP_WAITING == 0x2000 should be true. Was false.
-FAIL pc.SDP_GLARE ==0x3000 should be true. Was false.
-PASS typeof pc.localStreams == 'object' is true
-PASS typeof pc.remoteStreams == 'object' is true
-PASS typeof pc.onaddstream == 'object' is true
-PASS typeof pc.onremovestream == 'object' is true
-PASS typeof pc.onconnecting == 'object' is true
-PASS typeof pc.onopen == 'object' is true
-PASS successfullyParsed is true
+FAIL successfullyParsed should be true (of type boolean). Was undefined (of type undefined).
TEST COMPLETE
Philippe Normand
And:
--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/mediastream/peerconnection-argument-types-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/mediastream/peerconnection-argument-types-actual.txt
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS typeof webkitPeerConnection== 'function' is true
+FAIL typeof webkitPeerConnection== 'function' should be true. Was false.
PASS new webkitPeerConnection() threw exception TypeError: Not enough arguments.
PASS new webkitPeerConnection("STUN 203.0.113.2:2478") threw exception TypeError: Not enough arguments.
PASS new webkitPeerConnection("STUN relay.example.net:3478") threw exception TypeError: Not enough arguments.
@@ -45,7 +45,7 @@
PASS new webkitPeerConnection("STUN NONE",emptyFunction) did not throw exception.
PASS new webkitPeerConnection("STUNS NONE",emptyFunction) did not throw exception.
PASS new webkitPeerConnection("TURN NONE",undefined) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
-PASS new webkitPeerConnection("TURNS NONE",{}) did not throw exception.
+FAIL new webkitPeerConnection("TURNS NONE",{}) should not throw exception. Threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17
PASS new webkitPeerConnection("STUN NONE",42) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS new webkitPeerConnection("STUNS NONE",Infinity) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
PASS new webkitPeerConnection("STUNS NONE",-Infinity) threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17.
Zan Dobersek
The following tests were found to be passing consistently after moving from using the Skipped list to using test_expectations.txt:
fast/mediastream/peerconnection-Attributes.html
Their expectations were removed in r116122[1] (covered by bug #85591). Tests that are covered by this bug and are still failing are the following:
fast/mediastream/argument-types.html
fast/mediastream/constructors.html
fast/mediastream/peerconnection-argument-types.html
fast/mediastream/peerconnection-iceoptions.html
1: http://trac.webkit.org/changeset/116122
Philippe Normand
As agreed with Martin we decided to skip the whole fast/mediastream suite until someone actually devotes time to complete the implementation.
Please note however that mediastream is still enabled in build-webkit so the bots still catch compilation issues.
Philippe Normand
Let's turn this one into a meta-bug.
Philippe Normand
We are going to leverage the OpenWebRTC library for mediastream/webrtc support in the GTK port.
Carlos Alberto Lopez Perez
Done: unskipped all the MediaStream tests and instead marked the ones still failing or timing out as such in r210838: <http://trac.webkit.org/changeset/210838>
Rationale: https://bugs.webkit.org/show_bug.cgi?id=160996#c2
Charlie Turner
fast/mediastream/MediaStream-video-element-track-stop.html is no longer timing out, but rather either passing or crashing. Will update in separate gardening commit.
Miguel Gomez
fast/mediastream/MediaStream-video-element.html is flaky pass/crash, updating the expectations file.
Miguel Gomez
fast/mediastream/MediaStream-video-element.html is flaky timeout/text/pass on WPE. Updated expectations.
Miguel Gomez
imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https.html
is flaky. It's marked as text failure but every now and then it passes.
Miguel Gomez
fast/mediastream/mock-media-source-webaudio.html is now flaky timeout/pass
Updating expectations.
Miguel Gomez
Since r238951 fast/mediastream/getUserMedia-webaudio.html doesn't fail. Most of the time it passes but sometimes it times out on the first round.
Alicia Boya GarcĂa
fast/mediastream/MediaStream-video-element-track-stop.html is now failing instead of [Crash Timeout]. It's a bit too son to say if the other expectations (e.g. flaky crashes) don't happen.
Diego Pino
It seems Miguel correctly diagnose the new status of `fast/mediastream/mock-media-source-webaudio.html` and `fast/mediastream/getUserMedia-webaudio.html` but test expectations were not updated. Fixed in https://trac.webkit.org/changeset/243930/webkit
Zan Dobersek
No longer crashing:
- fast/mediastream/MediaStream-video-element-track-stop.html (flaky failure/timeout)
- fast/mediastream/RTCPeerConnection-icecandidate-event.html (flaky pass/timeout)
- fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html (now passing)
- fast/mediastream/RTCPeerConnection-addIceCandidate.html (now passing)
- fast/mediastream/RTCPeerConnection-media-setup-callbacks-single-dialog.html (now passing)
Arcady Goldmints-Orlov
As of r282054, fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html is now a flaky failure instead of a consistent timeout.