Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1195)

Side by Side Diff: content/test/data/media/webrtc_test_utilities.js

Issue 131613005: Fixed video muting test on Android, added logging. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/test/data/media/webrtc_test_audio.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // These must match with how the video and canvas tags are declared in html. 5 // These must match with how the video and canvas tags are declared in html.
6 const VIDEO_TAG_WIDTH = 320; 6 const VIDEO_TAG_WIDTH = 320;
7 const VIDEO_TAG_HEIGHT = 240; 7 const VIDEO_TAG_HEIGHT = 240;
8 8
9 // Fake video capture background green is of value 135. 9 // Fake video capture background green is of value 135.
10 const COLOR_BACKGROUND_GREEN = 135; 10 const COLOR_BACKGROUND_GREEN = 135;
(...skipping 19 matching lines...) Expand all
30 30
31 function detectVideoStopped(videoElementName, callback) { 31 function detectVideoStopped(videoElementName, callback) {
32 detectVideo(videoElementName, 32 detectVideo(videoElementName,
33 function (pixels, previous_pixels) { 33 function (pixels, previous_pixels) {
34 return !isVideoPlaying(pixels, previous_pixels); 34 return !isVideoPlaying(pixels, previous_pixels);
35 }, 35 },
36 callback); 36 callback);
37 } 37 }
38 38
39 function detectVideo(videoElementName, predicate, callback) { 39 function detectVideo(videoElementName, predicate, callback) {
40 console.log('Looking at video in element ' + videoElementName);
41
40 var width = VIDEO_TAG_WIDTH; 42 var width = VIDEO_TAG_WIDTH;
41 var height = VIDEO_TAG_HEIGHT; 43 var height = VIDEO_TAG_HEIGHT;
42 var videoElement = $(videoElementName); 44 var videoElement = $(videoElementName);
43 var canvas = $(videoElementName + '-canvas'); 45 var canvas = $(videoElementName + '-canvas');
44 var old_pixels = []; 46 var oldPixels = [];
45 var waitVideo = setInterval(function() { 47 var waitVideo = setInterval(function() {
46 var context = canvas.getContext('2d'); 48 var context = canvas.getContext('2d');
47 context.drawImage(videoElement, 0, 0, width, height); 49 context.drawImage(videoElement, 0, 0, width, height);
48 var pixels = context.getImageData(0, 0 , width, height / 3).data; 50 var pixels = context.getImageData(0, 0 , width, height / 3).data;
49 // Check that there is an old and a new picture with the same size to 51 // Check that there is an old and a new picture with the same size to
50 // compare and use the function |predicate| to detect the video state in 52 // compare and use the function |predicate| to detect the video state in
51 // that case. 53 // that case.
52 if (old_pixels.length == pixels.length && 54 if (oldPixels.length == pixels.length &&
53 predicate(pixels, old_pixels)) { 55 predicate(pixels, oldPixels)) {
56 console.log('Done looking at video in element ' + videoElementName);
54 clearInterval(waitVideo); 57 clearInterval(waitVideo);
55 callback(); 58 callback();
56 } 59 }
57 old_pixels = pixels; 60 oldPixels = pixels;
58 }, 200); 61 }, 200);
59 } 62 }
60 63
61 function waitForVideo(videoElement) { 64 function waitForVideo(videoElement) {
62 document.title = 'Waiting for video...'; 65 document.title = 'Waiting for video...';
63 addExpectedEvent(); 66 addExpectedEvent();
64 detectVideoPlaying(videoElement, function () { eventOccured(); }); 67 detectVideoPlaying(videoElement, function () { eventOccured(); });
65 } 68 }
66 69
67 function waitForVideoToStop(videoElement) { 70 function waitForVideoToStop(videoElement) {
(...skipping 17 matching lines...) Expand all
85 88
86 function eventOccured() { 89 function eventOccured() {
87 ++gNumberOfEvents; 90 ++gNumberOfEvents;
88 if (gNumberOfEvents == gNumberOfExpectedEvents) { 91 if (gNumberOfEvents == gNumberOfExpectedEvents) {
89 gAllEventsOccured(); 92 gAllEventsOccured();
90 } 93 }
91 } 94 }
92 95
93 // This very basic video verification algorithm will be satisfied if any 96 // This very basic video verification algorithm will be satisfied if any
94 // pixels are changed. 97 // pixels are changed.
95 function isVideoPlaying(pixels, previous_pixels) { 98 function isVideoPlaying(pixels, previousPixels) {
96 for (var i = 0; i < pixels.length; i++) { 99 for (var i = 0; i < pixels.length; i++) {
97 if (pixels[i] != previous_pixels[i]) { 100 if (pixels[i] != previousPixels[i]) {
98 return true; 101 return true;
99 } 102 }
100 } 103 }
101 return false; 104 return false;
102 } 105 }
103 106
104 // This function matches |left| and |right| and throws an exception if the 107 // This function matches |left| and |right| and throws an exception if the
105 // values don't match. 108 // values don't match.
106 function expectEquals(left, right) { 109 function expectEquals(left, right) {
107 if (left != right) { 110 if (left != right) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 detectedAspectRatioString += " cropped"; 193 detectedAspectRatioString += " cropped";
191 } else 194 } else
192 detectedAspectRatioString += " letterbox"; 195 detectedAspectRatioString += " letterbox";
193 196
194 console.log("Original image is: " + detectedAspectRatioString); 197 console.log("Original image is: " + detectedAspectRatioString);
195 callback(detectedAspectRatioString); 198 callback(detectedAspectRatioString);
196 } 199 }
197 }, 200 },
198 50); 201 50);
199 } 202 }
OLDNEW
« no previous file with comments | « content/test/data/media/webrtc_test_audio.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698