|
@@ -1,4 +1,4 @@
|
|
|
-/*! peerjs build:0.3.13, development. Copyright(c) 2013 Michelle Bu <michelle@michellebu.com> */(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
|
|
+/*! peerjs build:0.3.14, development. Copyright(c) 2013 Michelle Bu <michelle@michellebu.com> */(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
|
|
module.exports.RTCSessionDescription = window.RTCSessionDescription ||
|
|
|
window.mozRTCSessionDescription;
|
|
|
module.exports.RTCPeerConnection = window.RTCPeerConnection ||
|
|
@@ -533,8 +533,12 @@ Negotiator._setupListeners = function(connection, pc, pc_id) {
|
|
|
|
|
|
pc.oniceconnectionstatechange = function() {
|
|
|
switch (pc.iceConnectionState) {
|
|
|
- case 'disconnected':
|
|
|
case 'failed':
|
|
|
+ util.log('iceConnectionState is disconnected, closing connections to ' + peerId);
|
|
|
+ connection.emit('error', new Error('Negotiation of connection to ' + peerId + ' failed.'));
|
|
|
+ connection.close();
|
|
|
+ break;
|
|
|
+ case 'disconnected':
|
|
|
util.log('iceConnectionState is disconnected, closing connections to ' + peerId);
|
|
|
connection.close();
|
|
|
break;
|
|
@@ -1587,12 +1591,12 @@ var util = {
|
|
|
// Ensure alphanumeric ids
|
|
|
validateId: function(id) {
|
|
|
// Allow empty ids
|
|
|
- return !id || /^[A-Za-z0-9_-]+(?:[ _-][A-Za-z0-9]+)*$/.exec(id);
|
|
|
+ return !id || /^[A-Za-z0-9]+(?:[ _-][A-Za-z0-9]+)*$/.exec(id);
|
|
|
},
|
|
|
|
|
|
validateKey: function(key) {
|
|
|
// Allow empty keys
|
|
|
- return !key || /^[A-Za-z0-9_-]+(?:[ _-][A-Za-z0-9]+)*$/.exec(key);
|
|
|
+ return !key || /^[A-Za-z0-9]+(?:[ _-][A-Za-z0-9]+)*$/.exec(key);
|
|
|
},
|
|
|
|
|
|
|
|
@@ -1769,9 +1773,10 @@ EventEmitter.prototype._events = undefined;
|
|
|
*/
|
|
|
EventEmitter.prototype.listeners = function listeners(event) {
|
|
|
if (!this._events || !this._events[event]) return [];
|
|
|
+ if (this._events[event].fn) return [this._events[event].fn];
|
|
|
|
|
|
- for (var i = 0, l = this._events[event].length, ee = []; i < l; i++) {
|
|
|
- ee.push(this._events[event][i].fn);
|
|
|
+ for (var i = 0, l = this._events[event].length, ee = new Array(l); i < l; i++) {
|
|
|
+ ee[i] = this._events[event][i].fn;
|
|
|
}
|
|
|
|
|
|
return ee;
|
|
@@ -1788,30 +1793,31 @@ EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
|
if (!this._events || !this._events[event]) return false;
|
|
|
|
|
|
var listeners = this._events[event]
|
|
|
- , length = listeners.length
|
|
|
, len = arguments.length
|
|
|
- , ee = listeners[0]
|
|
|
, args
|
|
|
- , i, j;
|
|
|
+ , i;
|
|
|
|
|
|
- if (1 === length) {
|
|
|
- if (ee.once) this.removeListener(event, ee.fn, true);
|
|
|
+ if ('function' === typeof listeners.fn) {
|
|
|
+ if (listeners.once) this.removeListener(event, listeners.fn, true);
|
|
|
|
|
|
switch (len) {
|
|
|
- case 1: return ee.fn.call(ee.context), true;
|
|
|
- case 2: return ee.fn.call(ee.context, a1), true;
|
|
|
- case 3: return ee.fn.call(ee.context, a1, a2), true;
|
|
|
- case 4: return ee.fn.call(ee.context, a1, a2, a3), true;
|
|
|
- case 5: return ee.fn.call(ee.context, a1, a2, a3, a4), true;
|
|
|
- case 6: return ee.fn.call(ee.context, a1, a2, a3, a4, a5), true;
|
|
|
+ case 1: return listeners.fn.call(listeners.context), true;
|
|
|
+ case 2: return listeners.fn.call(listeners.context, a1), true;
|
|
|
+ case 3: return listeners.fn.call(listeners.context, a1, a2), true;
|
|
|
+ case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
|
|
|
+ case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
|
|
|
+ case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
|
|
|
}
|
|
|
|
|
|
for (i = 1, args = new Array(len -1); i < len; i++) {
|
|
|
args[i - 1] = arguments[i];
|
|
|
}
|
|
|
|
|
|
- ee.fn.apply(ee.context, args);
|
|
|
+ listeners.fn.apply(listeners.context, args);
|
|
|
} else {
|
|
|
+ var length = listeners.length
|
|
|
+ , j;
|
|
|
+
|
|
|
for (i = 0; i < length; i++) {
|
|
|
if (listeners[i].once) this.removeListener(event, listeners[i].fn, true);
|
|
|
|
|
@@ -1841,9 +1847,16 @@ EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
|
* @api public
|
|
|
*/
|
|
|
EventEmitter.prototype.on = function on(event, fn, context) {
|
|
|
+ var listener = new EE(fn, context || this);
|
|
|
+
|
|
|
if (!this._events) this._events = {};
|
|
|
- if (!this._events[event]) this._events[event] = [];
|
|
|
- this._events[event].push(new EE( fn, context || this ));
|
|
|
+ if (!this._events[event]) this._events[event] = listener;
|
|
|
+ else {
|
|
|
+ if (!this._events[event].fn) this._events[event].push(listener);
|
|
|
+ else this._events[event] = [
|
|
|
+ this._events[event], listener
|
|
|
+ ];
|
|
|
+ }
|
|
|
|
|
|
return this;
|
|
|
};
|
|
@@ -1857,9 +1870,16 @@ EventEmitter.prototype.on = function on(event, fn, context) {
|
|
|
* @api public
|
|
|
*/
|
|
|
EventEmitter.prototype.once = function once(event, fn, context) {
|
|
|
+ var listener = new EE(fn, context || this, true);
|
|
|
+
|
|
|
if (!this._events) this._events = {};
|
|
|
- if (!this._events[event]) this._events[event] = [];
|
|
|
- this._events[event].push(new EE(fn, context || this, true ));
|
|
|
+ if (!this._events[event]) this._events[event] = listener;
|
|
|
+ else {
|
|
|
+ if (!this._events[event].fn) this._events[event].push(listener);
|
|
|
+ else this._events[event] = [
|
|
|
+ this._events[event], listener
|
|
|
+ ];
|
|
|
+ }
|
|
|
|
|
|
return this;
|
|
|
};
|
|
@@ -1878,17 +1898,25 @@ EventEmitter.prototype.removeListener = function removeListener(event, fn, once)
|
|
|
var listeners = this._events[event]
|
|
|
, events = [];
|
|
|
|
|
|
- if (fn) for (var i = 0, length = listeners.length; i < length; i++) {
|
|
|
- if (listeners[i].fn !== fn && listeners[i].once !== once) {
|
|
|
- events.push(listeners[i]);
|
|
|
+ if (fn) {
|
|
|
+ if (listeners.fn && (listeners.fn !== fn || (once && !listeners.once))) {
|
|
|
+ events.push(listeners);
|
|
|
+ }
|
|
|
+ if (!listeners.fn) for (var i = 0, length = listeners.length; i < length; i++) {
|
|
|
+ if (listeners[i].fn !== fn || (once && !listeners[i].once)) {
|
|
|
+ events.push(listeners[i]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//
|
|
|
// Reset the array, or remove it completely if we have no more listeners.
|
|
|
//
|
|
|
- if (events.length) this._events[event] = events;
|
|
|
- else this._events[event] = null;
|
|
|
+ if (events.length) {
|
|
|
+ this._events[event] = events.length === 1 ? events[0] : events;
|
|
|
+ } else {
|
|
|
+ delete this._events[event];
|
|
|
+ }
|
|
|
|
|
|
return this;
|
|
|
};
|
|
@@ -1902,7 +1930,7 @@ EventEmitter.prototype.removeListener = function removeListener(event, fn, once)
|
|
|
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
|
if (!this._events) return this;
|
|
|
|
|
|
- if (event) this._events[event] = null;
|
|
|
+ if (event) delete this._events[event];
|
|
|
else this._events = {};
|
|
|
|
|
|
return this;
|
|
@@ -1928,9 +1956,10 @@ EventEmitter.EventEmitter = EventEmitter;
|
|
|
EventEmitter.EventEmitter2 = EventEmitter;
|
|
|
EventEmitter.EventEmitter3 = EventEmitter;
|
|
|
|
|
|
-if ('object' === typeof module && module.exports) {
|
|
|
- module.exports = EventEmitter;
|
|
|
-}
|
|
|
+//
|
|
|
+// Expose the module.
|
|
|
+//
|
|
|
+module.exports = EventEmitter;
|
|
|
|
|
|
},{}],10:[function(require,module,exports){
|
|
|
var BufferBuilder = require('./bufferbuilder').BufferBuilder;
|