Browse Source

reliable bandwidth integration

Michelle Bu 12 years ago
parent
commit
f9534f56a4
3 changed files with 26 additions and 0 deletions
  1. 18 0
      dist/peer.js
  2. 0 0
      dist/peer.min.js
  3. 8 0
      lib/connection.js

+ 18 - 0
dist/peer.js

@@ -1112,6 +1112,16 @@ Reliable.prototype._complete = function(id) {
   delete this._incoming[id];
 };
 
+// Ups bandwidth limit on SDP. Meant to be called during offer/answer.
+Reliable.higherBandwidthSDP = function(sdp) {
+  // AS stands for Application-Specific Maximum.
+  // Bandwidth number is in kilobits / sec.
+  // See RFC for more info: http://www.ietf.org/rfc/rfc2327.txt
+  var parts = sdp.split('b=AS:30');
+  var replace = 'b=AS:102400'; // 100 Mbps
+  return parts[0] + replace + parts[1];
+};
+
 exports.Reliable = Reliable;
 var RTCPeerConnection = null;
 var getUserMedia = null;
@@ -1568,6 +1578,10 @@ DataConnection.prototype._makeOffer = function() {
   var self = this;
   this._pc.createOffer(function(offer) {
     util.log('Created offer');
+    // Reliable hack.
+    if (self._options.reliable) {
+      offer.sdp = Reliable.higherBandwidthSDP(offer.sdp);
+    }
     self._pc.setLocalDescription(offer, function() {
       util.log('Set localDescription to offer');
       self._socket.send({
@@ -1592,6 +1606,10 @@ DataConnection.prototype._makeAnswer = function() {
   var self = this;
   this._pc.createAnswer(function(answer) {
     util.log('Created answer');
+    // Reliable hack.
+    if (self._options.reliable) {
+      answer.sdp = Reliable.higherBandwidthSDP(answer.sdp);
+    }
     self._pc.setLocalDescription(answer, function() {
       util.log('Set localDescription to answer');
       self._socket.send({

File diff suppressed because it is too large
+ 0 - 0
dist/peer.min.js


+ 8 - 0
lib/connection.js

@@ -194,6 +194,10 @@ DataConnection.prototype._makeOffer = function() {
   var self = this;
   this._pc.createOffer(function(offer) {
     util.log('Created offer');
+    // Reliable hack.
+    if (self._options.reliable) {
+      offer.sdp = Reliable.higherBandwidthSDP(offer.sdp);
+    }
     self._pc.setLocalDescription(offer, function() {
       util.log('Set localDescription to offer');
       self._socket.send({
@@ -218,6 +222,10 @@ DataConnection.prototype._makeAnswer = function() {
   var self = this;
   this._pc.createAnswer(function(answer) {
     util.log('Created answer');
+    // Reliable hack.
+    if (self._options.reliable) {
+      answer.sdp = Reliable.higherBandwidthSDP(answer.sdp);
+    }
     self._pc.setLocalDescription(answer, function() {
       util.log('Set localDescription to answer');
       self._socket.send({

Some files were not shown because too many files changed in this diff