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

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

Issue 2545553003: WebRtcStatsPerfBrowserTest added, a perf test using the new getStats (Closed)
Patch Set: Addressed nits, rebase, default initialize Created 4 years 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 | « chrome/test/BUILD.gn ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webrtc/peerconnection.js
diff --git a/chrome/test/data/webrtc/peerconnection.js b/chrome/test/data/webrtc/peerconnection.js
index 46d57a5c4f6096fb62729b1750f568702c7d085e..8d0f976963353ddf0b254d52c905ad6451325664 100644
--- a/chrome/test/data/webrtc/peerconnection.js
+++ b/chrome/test/data/webrtc/peerconnection.js
@@ -23,7 +23,13 @@ var gIceCandidates = [];
var gHasSeenCryptoInSdp = 'no-crypto-seen';
/**
- * The default video codec that should be used.
+ * The default audio codec that should be used when creating an offer.
+ * @private
+ */
+var gDefaultAudioCodec = null;
+
+/**
+ * The default video codec that should be used when creating an offer.
* @private
*/
var gDefaultVideoCodec = null;
@@ -88,15 +94,29 @@ function forceOpusDtx() {
}
/**
- * Sets the default video codec be used when creating an offer.
+ * Sets the default audio codec to be used when creating an offer and returns
+ * "ok" to test.
+ * @param {string} audioCodec promotes the specified codec to be the default
+ * audio codec, e.g. the first one in the list on the 'm=audio' SDP offer
+ * line. |audioCodec| is the case-sensitive codec name, e.g. 'opus' or
+ * 'ISAC'.
+ */
+function setDefaultAudioCodec(audioCodec) {
+ gDefaultAudioCodec = audioCodec;
+ returnToTest('ok');
+}
+
+/**
+ * Sets the default video codec to be used when creating an offer and returns
+ * "ok" to test.
* @param {string} videoCodec promotes the specified codec to be the default
* video codec, e.g. the first one in the list on the 'm=video' SDP offer
* line. |videoCodec| is the case-sensitive codec name, e.g. 'VP8' or
* 'H264'.
*/
-function forceVideoCodec(videoCodec) {
+function setDefaultVideoCodec(videoCodec) {
gDefaultVideoCodec = videoCodec;
- returnToTest('ok-forced');
+ returnToTest('ok');
}
/**
@@ -121,6 +141,10 @@ function createLocalOffer(constraints) {
success('createOffer');
setLocalDescription(peerConnection, localOffer);
+ if (gDefaultAudioCodec !== null) {
+ localOffer.sdp = setSdpDefaultAudioCodec(localOffer.sdp,
+ gDefaultAudioCodec);
+ }
if (gDefaultVideoCodec !== null) {
localOffer.sdp = setSdpDefaultVideoCodec(localOffer.sdp,
gDefaultVideoCodec);
@@ -170,33 +194,47 @@ function receiveOfferFromPeer(sessionDescJson, constraints) {
}
/**
- * Verifies that the codec previously set using forceVideoCodec() is the
- * default video codec, e.g. the first one in the list on the 'm=video' SDP
- * answer line. If this is not the case, |failure| occurs. If no codec was
- * previously set using forceVideoCodec(), this function will return
- * 'ok-no-default-set'.
+ * Verifies that the codec previously set using setDefault[Audio/Video]Codec()
+ * is the default audio/video codec, e.g. the first one in the list on the
+ * 'm=audio'/'m=video' SDP answer line. If this is not the case, |failure|
+ * occurs. If no codec was previously set using setDefault[Audio/Video]Codec(),
+ * this function will return 'ok-no-defaults-set'.
*
* @param {!string} sessionDescJson A JSON-encoded session description.
*/
-function verifyDefaultVideoCodec(sessionDescJson) {
- var sessionDesc = parseJson_(sessionDescJson);
- if (gDefaultVideoCodec === null) {
- returnToTest('ok-no-default-set');
- return;
- }
+function verifyDefaultCodecs(sessionDescJson) {
+ let sessionDesc = parseJson_(sessionDescJson);
if (!sessionDesc.type) {
- failure('verifyDefaultVideoCodec',
+ failure('verifyDefaultCodecs',
'Invalid session description: ' + sessionDescJson);
}
- var defaultVideoCodec = getSdpDefaultVideoCodec(sessionDesc.sdp);
- if (defaultVideoCodec === null) {
- failure('verifyDefaultVideoCodec',
- 'Could not determine default video codec.');
+ if (gDefaultAudioCodec !== null && gDefaultVideoCodec !== null) {
+ returnToTest('ok-no-defaults-set');
+ return;
+ }
+ if (gDefaultAudioCodec !== null) {
+ let defaultAudioCodec = getSdpDefaultAudioCodec(sessionDesc.sdp);
+ if (defaultAudioCodec === null) {
+ failure('verifyDefaultCodecs',
+ 'Could not determine default audio codec.');
+ }
+ if (gDefaultAudioCodec !== defaultAudioCodec) {
+ failure('verifyDefaultCodecs',
+ 'Expected default audio codec ' + gDefaultAudioCodec +
+ ', got ' + defaultAudioCodec + '.');
+ }
}
- if (gDefaultVideoCodec !== defaultVideoCodec) {
- failure('verifyDefaultVideoCodec',
- 'Expected default video codec ' + gDefaultVideoCodec +
- ', got ' + defaultVideoCodec + '.');
+ if (gDefaultVideoCodec !== null) {
+ let defaultVideoCodec = getSdpDefaultVideoCodec(sessionDesc.sdp);
+ if (defaultVideoCodec === null) {
+ failure('verifyDefaultCodecs',
+ 'Could not determine default video codec.');
+ }
+ if (gDefaultVideoCodec !== defaultVideoCodec) {
+ failure('verifyDefaultCodecs',
+ 'Expected default video codec ' + gDefaultVideoCodec +
+ ', got ' + defaultVideoCodec + '.');
+ }
}
returnToTest('ok-verified');
}
« no previous file with comments | « chrome/test/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698