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

Unified Diff: chrome/test/data/webrtc/getusermedia.js

Issue 12472032: Add screen capture constraints, video tag resize and removed auto video resize (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@testingscreen
Patch Set: change border color to #aaa Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/test/data/webrtc/jsep01_call.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webrtc/getusermedia.js
diff --git a/chrome/test/data/webrtc/getusermedia.js b/chrome/test/data/webrtc/getusermedia.js
index bf21565aef739500f0987f2968f53c033a098520..dd849c89144474ce9f1324cf5873a68a4f302faf 100644
--- a/chrome/test/data/webrtc/getusermedia.js
+++ b/chrome/test/data/webrtc/getusermedia.js
@@ -35,7 +35,7 @@ var gRequestWebcamAndMicrophoneResult = 'not-called-yet';
* appears in Chrome, which will run either the OK or failed callback as a
* a result. To see which callback was called, use obtainGetUserMediaResult().
*
- * @param{string} constraints Defines what to be requested, with mandatory
+ * @param {string} constraints Defines what to be requested, with mandatory
* and optional constraints defined. The contents of this parameter depends
* on the WebRTC version. This should be JavaScript code that we eval().
*/
@@ -58,10 +58,11 @@ function getUserMedia(constraints) {
}
/**
- * Must be called after calling getUserMedia. Returns not-called-yet if we have
- * not yet been called back by WebRTC. Otherwise it returns either ok-got-stream
- * or failed-with-error-x (where x is the error code from the error callback)
- * depending on which callback got called by WebRTC.
+ * Must be called after calling getUserMedia.
+ * @return {string} Returns not-called-yet if we have not yet been called back
+ * by WebRTC. Otherwise it returns either ok-got-stream or
+ * failed-with-error-x (where x is the error code from the error
+ * callback) depending on which callback got called by WebRTC.
*/
function obtainGetUserMediaResult() {
returnToTest(gRequestWebcamAndMicrophoneResult);
@@ -84,7 +85,7 @@ function stopLocalStream() {
/**
* Adds the current local media stream to a peer connection.
- * @param{RTCPeerConnection} peerConnection
+ * @param {RTCPeerConnection} peerConnection
*/
function addLocalStreamToPeerConnection(peerConnection) {
if (gLocalStream == null)
@@ -101,7 +102,7 @@ function addLocalStreamToPeerConnection(peerConnection) {
/**
* Removes the local stream from the peer connection.
- * @param{rtcpeerconnection} peerconnection
+ * @param {rtcpeerconnection} peerConnection
*/
function removeLocalStreamFromPeerConnection(peerConnection) {
if (gLocalStream == null)
@@ -116,7 +117,7 @@ function removeLocalStreamFromPeerConnection(peerConnection) {
}
/**
- * Returns the current local stream - |gLocalStream|.
+ * @return {string} Returns the current local stream - |gLocalStream|.
*/
function getLocalStream() {
return gLocalStream;
@@ -134,25 +135,53 @@ function getUserMediaOkCallback_(stream) {
videoTag.src = webkitURL.createObjectURL(stream);
// Due to crbug.com/110938 the size is 0 when onloadedmetadata fires.
- // videoTag.onloadedmetadata = updateVideoTagSize_('local-view');
+ // videoTag.onloadedmetadata = displayVideoSize_(videoTag);.
// Use setTimeout as a workaround for now.
- setTimeout(function() {updateVideoTagSize_('local-view')}, 500);
gRequestWebcamAndMicrophoneResult = 'ok-got-stream';
+ setTimeout(function() {displayVideoSize_(videoTag);}, 500);
}
/**
* @private
* @param {string} videoTagId The ID of the video tag to update.
+ * @param {string} width The width of the video to update the video tag, if
+ * width or height is 0, size will be taken from videoTag.videoWidth.
+ * @param {string} height The height of the video to update the video tag, if
+ * width or height is 0 size will be taken from the videoTag.videoHeight.
*/
-function updateVideoTagSize_(videoTagId) {
+function updateVideoTagSize_(videoTagId, width, height) {
var videoTag = $(videoTagId);
- // Don't update if sizes are 0 (happens for Chrome M23).
- if (videoTag.videoWidth > 0 && videoTag.videoHeight > 0) {
- debug('Set video tag "' + videoTagId + '" width and height to ' +
- videoTag.videoWidth + 'x' + videoTag.videoHeight);
- videoTag.width = videoTag.videoWidth;
- videoTag.height = videoTag.videoHeight;
+ if (width > 0 || height > 0) {
+ videoTag.width = width;
+ videoTag.height = height;
}
+ else {
+ if (videoTag.videoWidth > 0 || videoTag.videoHeight > 0) {
+ videoTag.width = videoTag.videoWidth;
+ videoTag.height = videoTag.videoHeight;
+ }
+ else {
+ return debug('"' + videoTagId + '" video stream size is 0, skipping ' +
+ 'resize');
+ }
+ }
+ debug('Set video tag "' + videoTagId + '" size to ' + videoTag.width + 'x' +
+ videoTag.height);
+ displayVideoSize_(videoTag);
+}
+
+/**
+ * @private
+ * @param {string} videoTag The ID of the video tag + stream to
+ * write the size to a HTML tag based on id.
+ */
+function displayVideoSize_(videoTag) {
+ if (videoTag.videoWidth > 0 || videoTag.videoHeight > 0) {
+ $(videoTag.id + '-stream-size').innerHTML = '(stream size: ' +
+ videoTag.videoWidth + 'x' +
+ videoTag.videoHeight + ')';
+ }
+ $(videoTag.id + '-size').innerHTML = videoTag.width + 'x' + videoTag.height;
}
/**
@@ -162,6 +191,7 @@ function updateVideoTagSize_(videoTagId) {
function getUserMediaFailedCallback_(error) {
debug('GetUserMedia FAILED: Maybe the camera is in use by another process?');
gRequestWebcamAndMicrophoneResult = 'failed-with-error-' + error.code;
+ debug(gRequestWebcamAndMicrophoneResult);
}
$ = function(id) {
« no previous file with comments | « no previous file | chrome/test/data/webrtc/jsep01_call.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698