Add ability to control peer connection constraints for the loopback test.

R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11419005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5879 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
andresp@webrtc.org
2014-04-10 09:40:16 +00:00
parent 15192f909e
commit 0273fa98e0
2 changed files with 18 additions and 5 deletions

View File

@ -15,13 +15,20 @@
//
// Usage:
// var test = new LoopbackTest(stream, callDurationMs,
// forceTurn, maxVideoBitrateKbps);
// forceTurn, pcConstraints,
// maxVideoBitrateKbps);
// test.run(onDone);
// function onDone() {
// test.getResults(); // return stats recorded during the loopback test.
// }
//
function LoopbackTest(stream, callDurationMs, forceTurn, maxVideoBitrateKbps) {
function LoopbackTest(
stream,
callDurationMs,
forceTurn,
pcConstraints,
maxVideoBitrateKbps) {
var pc1StatTracker;
var pc2StatTracker;
@ -87,7 +94,7 @@ function LoopbackTest(stream, callDurationMs, forceTurn, maxVideoBitrateKbps) {
function start(turnServer) {
var pcConfig = forceTurn ? { iceServers: [turnServer] } : null;
console.log(pcConfig);
var pc1 = new RTCPeerConnection(pcConfig);
var pc1 = new RTCPeerConnection(pcConfig, pcConstraints);
constrainTurnCandidates(pc1);
constrainOfferToRemoveFec(pc1);
pc1StatTracker = new StatTracker(pc1, 50);
@ -100,7 +107,7 @@ function LoopbackTest(stream, callDurationMs, forceTurn, maxVideoBitrateKbps) {
pc1StatTracker.recordStat("ActualEncodedBitrate",
"bweforvideo", "googActualEncBitrate");
var pc2 = new RTCPeerConnection(pcConfig);
var pc2 = new RTCPeerConnection(pcConfig, pcConstraints);
constrainTurnCandidates(pc2);
constrainBitrateAnswer(pc2);
pc2StatTracker = new StatTracker(pc2, 50);