Title: [222445] trunk/LayoutTests
- Revision
- 222445
- Author
- [email protected]
- Date
- 2017-09-25 08:59:58 -0700 (Mon, 25 Sep 2017)
Log Message
LayoutTest webrtc/video-mute.html is very often failing
https://bugs.webkit.org/show_bug.cgi?id=177331
Patch by Youenn Fablet <[email protected]> on 2017-09-25
Reviewed by Darin Adler.
* webrtc/video-mute.html: using getStats instead of internals to check whether black frames are received.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (222444 => 222445)
--- trunk/LayoutTests/ChangeLog 2017-09-25 13:38:57 UTC (rev 222444)
+++ trunk/LayoutTests/ChangeLog 2017-09-25 15:59:58 UTC (rev 222445)
@@ -1,3 +1,12 @@
+2017-09-25 Youenn Fablet <[email protected]>
+
+ LayoutTest webrtc/video-mute.html is very often failing
+ https://bugs.webkit.org/show_bug.cgi?id=177331
+
+ Reviewed by Darin Adler.
+
+ * webrtc/video-mute.html: using getStats instead of internals to check whether black frames are received.
+
2017-09-25 Ms2ger <[email protected]>
Update waitSync and the TIMEOUT_IGNORED constant to use signed integers.
Modified: trunk/LayoutTests/webrtc/video-mute.html (222444 => 222445)
--- trunk/LayoutTests/webrtc/video-mute.html 2017-09-25 13:38:57 UTC (rev 222444)
+++ trunk/LayoutTests/webrtc/video-mute.html 2017-09-25 15:59:58 UTC (rev 222445)
@@ -64,19 +64,38 @@
return checkVideoBlack(true, canvas2, video);
}, "Track is disabled, video should be black");
+async function getInboundRTPStatsNumberOfDecodedFrames(connection)
+{
+ var report = await connection.getStats();
+ var framesDecoded;
+ report.forEach((statItem) => {
+ if (statItem.type === "inbound-rtp")
+ framesDecoded = statItem.framesDecoded;
+ });
+ return framesDecoded;
+}
+
+async function testFrameDecodedIncreased(connection, count, previousFramesNumber)
+{
+ if (previousFramesNumber === undefined) {
+ let number = await getInboundRTPStatsNumberOfDecodedFrames(connection);
+ await waitFor(1000);
+ return testFrameDecodedIncreased(connection, 0, number);
+ }
+
+ var number = await getInboundRTPStatsNumberOfDecodedFrames(connection);
+ if (previousFramesNumber && number > previousFramesNumber)
+ return;
+
+ if (count >= 20)
+ return Promise.reject("test increasing frame encoded timed out");
+
+ await waitFor(1000);
+ return testFrameDecodedIncreased(connection, ++count, previousFramesNumber);
+}
+
promise_test((test) => {
- if (!window.internals)
- return Promise.reject("This test requires internals API");
- internals.observeMediaStreamTrack(remoteTrack);
- let counter = internals.trackVideoSampleCount;
- return new Promise((resolve, reject) => {
- setInterval(() => {
- // Should get 1 frame per second.
- if (internals.trackVideoSampleCount - counter >= 2)
- resolve();
- }, 300);
- setTimeout(() => reject("did not get frames"), 5000);
- });
+ return testFrameDecodedIncreased(receivingConnection);
}, "If disabled, black frames should still be coming");
promise_test((test) => {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes