@techsee/techsee-media-service 999.19.3-alphasap → 999.19.6-nodejs20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -28
- package/lib/LocalStreamManager.d.ts +1 -0
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +82 -84
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +20 -3
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +31 -13
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +7 -1
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +1 -4
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +1 -0
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +7 -10
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +1 -0
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +169 -198
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +1 -0
- package/lib/MediaSession/MediaServer.d.ts.map +1 -1
- package/lib/MediaSession/MediaServer.js +62 -74
- package/lib/MediaSession/MediaServer.js.map +1 -1
- package/lib/MediaSession/MediaSessionBase.d.ts +1 -0
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +19 -23
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +1 -0
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +51 -80
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +1 -0
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +109 -151
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.d.ts +1 -0
- package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
- package/lib/MediaSession/TurnConstants.js +1 -16
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +1 -0
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +37 -43
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +3 -0
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +76 -34
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +4 -2
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +64 -62
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.d.ts +1 -0
- package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +2 -5
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MediaUtils/index.d.ts +2 -0
- package/lib/MediaUtils/index.d.ts.map +1 -0
- package/lib/MediaUtils/index.js +6 -0
- package/lib/MediaUtils/index.js.map +1 -0
- package/lib/MultiParty/DetectWebRtcService.d.ts +17 -14
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.js +98 -54
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +18 -0
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesService.js +158 -0
- package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +6 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js +123 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
- package/lib/MultiParty/MediaTracer.d.ts +4 -0
- package/lib/MultiParty/MediaTracer.d.ts.map +1 -0
- package/lib/MultiParty/MediaTracer.js +10 -0
- package/lib/MultiParty/MediaTracer.js.map +1 -0
- package/lib/MultiParty/MultiPartyService.d.ts +49 -0
- package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyService.js +30 -0
- package/lib/MultiParty/MultiPartyService.js.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +4 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js +13 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +89 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.js +16 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.js.map +1 -0
- package/lib/MultiParty/index.d.ts +7 -0
- package/lib/MultiParty/index.d.ts.map +1 -0
- package/lib/MultiParty/index.js +25 -0
- package/lib/MultiParty/index.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +38 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +492 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +34 -0
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisher.js +121 -0
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +20 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +49 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +6 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +48 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +2 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.js +26 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +19 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +182 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/trace.d.ts +3 -0
- package/lib/MultiParty/opentok/trace.d.ts.map +1 -0
- package/lib/MultiParty/opentok/trace.js +18 -0
- package/lib/MultiParty/opentok/trace.js.map +1 -0
- package/lib/MultiParty/opentok.d.ts +463 -0
- package/lib/MultiParty/types.d.ts +33 -0
- package/lib/MultiParty/types.d.ts.map +1 -0
- package/lib/MultiParty/types.js +3 -0
- package/lib/MultiParty/types.js.map +1 -0
- package/lib/MultiParty/utils.d.ts +10 -0
- package/lib/MultiParty/utils.d.ts.map +1 -0
- package/lib/MultiParty/utils.js +17 -0
- package/lib/MultiParty/utils.js.map +1 -0
- package/lib/TechseeMediaStream.d.ts +1 -0
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +9 -12
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/qos/raw-qos.d.ts +29 -0
- package/lib/qos/raw-qos.d.ts.map +1 -0
- package/lib/qos/raw-qos.js +84 -145
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.d.ts +4 -0
- package/lib/webrtc-ie-shim.d.ts.map +1 -0
- package/lib/webrtc-ie-shim.js +1896 -2950
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +66 -60
- package/lib/MultiParty/Contracts.d.ts +0 -11
- package/lib/MultiParty/Contracts.d.ts.map +0 -1
- package/lib/MultiParty/Contracts.js +0 -6
- package/lib/MultiParty/Contracts.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +0 -12
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.js +0 -167
- package/lib/MultiParty/MediaCapabilitiesHelper.js.map +0 -1
- package/lib/MultiParty/MultiParty.d.ts +0 -21
- package/lib/MultiParty/MultiParty.d.ts.map +0 -1
- package/lib/MultiParty/MultiParty.js +0 -155
- package/lib/MultiParty/MultiParty.js.map +0 -1
- package/lib/MultiParty/MultipartyFactory.d.ts +0 -2
- package/lib/MultiParty/MultipartyFactory.d.ts.map +0 -1
- package/lib/MultiParty/MultipartyFactory.js +0 -15
- package/lib/MultiParty/MultipartyFactory.js.map +0 -1
- package/lib/MultiParty/OpentokMultiparty.d.ts +0 -24
- package/lib/MultiParty/OpentokMultiparty.d.ts.map +0 -1
- package/lib/MultiParty/OpentokMultiparty.js +0 -408
- package/lib/MultiParty/OpentokMultiparty.js.map +0 -1
- package/lib/oldCode/constants.js +0 -20
- package/lib/oldCode/constants.js.map +0 -1
- package/lib/oldCode/event-emitter.js +0 -39
- package/lib/oldCode/event-emitter.js.map +0 -1
- package/lib/oldCode/index.js +0 -64
- package/lib/oldCode/index.js.map +0 -1
- package/lib/oldCode/opentok/session.js +0 -310
- package/lib/oldCode/opentok/session.js.map +0 -1
- package/lib/oldCode/opentok/stream.js +0 -310
- package/lib/oldCode/opentok/stream.js.map +0 -1
- package/lib/oldCode/publisher.js +0 -143
- package/lib/oldCode/publisher.js.map +0 -1
- package/lib/oldCode/service.js +0 -395
- package/lib/oldCode/service.js.map +0 -1
- package/lib/oldCode/session.js +0 -110
- package/lib/oldCode/session.js.map +0 -1
- package/lib/oldCode/stream.js +0 -195
- package/lib/oldCode/stream.js.map +0 -1
- package/lib/oldCode/subscriber.js +0 -90
- package/lib/oldCode/subscriber.js.map +0 -1
- package/lib/oldCode/tracer.d.ts +0 -36
- package/lib/oldCode/tracer.d.ts.map +0 -1
- package/lib/oldCode/tracer.js +0 -161
- package/lib/oldCode/tracer.js.map +0 -1
- package/lib/oldCode/utils/ImageFixer.d.ts +0 -1
- package/lib/oldCode/utils/ImageFixer.d.ts.map +0 -1
- package/lib/oldCode/utils/ImageFixer.js +0 -59
- package/lib/oldCode/utils/ImageFixer.js.map +0 -1
- package/lib/oldCode/webrtc/constants.js +0 -114
- package/lib/oldCode/webrtc/constants.js.map +0 -1
- package/lib/oldCode/webrtc/helper.js +0 -173
- package/lib/oldCode/webrtc/helper.js.map +0 -1
- package/lib/oldCode/webrtc/session-kms.js +0 -558
- package/lib/oldCode/webrtc/session-kms.js.map +0 -1
- package/lib/oldCode/webrtc/session-loopback.js +0 -336
- package/lib/oldCode/webrtc/session-loopback.js.map +0 -1
- package/lib/oldCode/webrtc/session-turn.js +0 -880
- package/lib/oldCode/webrtc/session-turn.js.map +0 -1
- package/lib/oldCode/webrtc/session-turn.v2.js +0 -583
- package/lib/oldCode/webrtc/session-turn.v2.js.map +0 -1
- package/lib/oldCode/webrtc/session.js +0 -52
- package/lib/oldCode/webrtc/session.js.map +0 -1
- package/lib/oldCode/webrtc/stream.js +0 -674
- package/lib/oldCode/webrtc/stream.js.map +0 -1
- package/lib/oldCode/webrtc/temasys/adapter-loader.js +0 -12
- package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +0 -1
- package/lib/oldCode/webrtc/temasys/adapter.js +0 -5861
- package/lib/oldCode/webrtc/temasys/adapter.js.map +0 -1
- package/lib/oldCode/webrtc/webrtc-ie-shim.js +0 -3007
- package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.EventEmitter = undefined;
|
|
5
|
-
|
|
6
|
-
var _events = require('events');
|
|
7
|
-
|
|
8
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
-
|
|
10
|
-
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
11
|
-
|
|
12
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
13
|
-
|
|
14
|
-
var ExtendedEmitter = function (_EventEmitter) {
|
|
15
|
-
_inherits(ExtendedEmitter, _EventEmitter);
|
|
16
|
-
|
|
17
|
-
function ExtendedEmitter() {
|
|
18
|
-
_classCallCheck(this, ExtendedEmitter);
|
|
19
|
-
|
|
20
|
-
return _possibleConstructorReturn(this, _EventEmitter.apply(this, arguments));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
ExtendedEmitter.prototype.off = function off(event, listener) {
|
|
24
|
-
if (!listener) {
|
|
25
|
-
if (event) {
|
|
26
|
-
this.removeAllListeners(event);
|
|
27
|
-
} else {
|
|
28
|
-
this.removeAllListeners();
|
|
29
|
-
}
|
|
30
|
-
} else {
|
|
31
|
-
this.removeListener(event, listener);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return ExtendedEmitter;
|
|
36
|
-
}(_events.EventEmitter);
|
|
37
|
-
|
|
38
|
-
exports.EventEmitter = ExtendedEmitter;
|
|
39
|
-
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["oldCode/event-emitter.js"],"names":["ExtendedEmitter","off","event","listener","removeAllListeners","removeListener","EventEmitter"],"mappings":";;;;;AAAA;;;;;;;;IAEMA,e;;;;;;;;;8BACFC,G,gBAAIC,K,EAAOC,Q,EAAU;AACjB,YAAI,CAACA,QAAL,EAAe;AACX,gBAAID,KAAJ,EAAW;AACP,qBAAKE,kBAAL,CAAwBF,KAAxB;AACH,aAFD,MAEO;AACH,qBAAKE,kBAAL;AACH;AACJ,SAND,MAMO;AACH,iBAAKC,cAAL,CAAoBH,KAApB,EAA2BC,QAA3B;AACH;AACJ,K;;;EAXyBG,oB;;QAcFA,Y,GAAnBN,e","file":"event-emitter.js","sourcesContent":["import { EventEmitter } from 'events';\n\nclass ExtendedEmitter extends EventEmitter {\n off(event, listener) {\n if (!listener) {\n if (event) {\n this.removeAllListeners(event);\n } else {\n this.removeAllListeners();\n }\n } else {\n this.removeListener(event, listener);\n }\n }\n}\n\nexport { ExtendedEmitter as EventEmitter };\n\n"]}
|
package/lib/oldCode/index.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
|
|
5
|
-
var _service = require('./service');
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, 'TsMediaService', {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function get() {
|
|
10
|
-
return _service.TsMediaService;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, 'SERVICE_EVENTS', {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function get() {
|
|
16
|
-
return _service.EVENTS;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
var _session = require('./session');
|
|
21
|
-
|
|
22
|
-
Object.defineProperty(exports, 'SESSION_EVENTS', {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function get() {
|
|
25
|
-
return _session.EVENTS;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
var _stream = require('./stream');
|
|
30
|
-
|
|
31
|
-
Object.defineProperty(exports, 'STREAM_EVENTS', {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function get() {
|
|
34
|
-
return _stream.EVENTS;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
var _publisher = require('./publisher');
|
|
39
|
-
|
|
40
|
-
Object.defineProperty(exports, 'PUBLISHER_EVENTS', {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
get: function get() {
|
|
43
|
-
return _publisher.EVENTS;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
var _subscriber = require('./subscriber');
|
|
48
|
-
|
|
49
|
-
Object.defineProperty(exports, 'SUBSCRIBER_EVENTS', {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function get() {
|
|
52
|
-
return _subscriber.EVENTS;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
var _rawQos = require('../qos/raw-qos');
|
|
57
|
-
|
|
58
|
-
Object.defineProperty(exports, 'RawQos', {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
get: function get() {
|
|
61
|
-
return _rawQos.RawQos;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=index.js.map
|
package/lib/oldCode/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["oldCode/index.js"],"names":["TsMediaService","EVENTS","RawQos"],"mappings":";;;;;;;;;wBACIA,c;;;;;;wBACAC,M;;;;;;;;;wBAIAA,M;;;;;;;;;uBAIAA,M;;;;;;;;;0BAIAA,M;;;;;;;;;2BAIAA,M;;;;;;;;;uBAIAC,M","file":"index.js","sourcesContent":["export {\n TsMediaService,\n EVENTS as SERVICE_EVENTS,\n} from './service';\n\nexport {\n EVENTS as SESSION_EVENTS,\n} from './session';\n\nexport {\n EVENTS as STREAM_EVENTS,\n} from './stream';\n\nexport {\n EVENTS as PUBLISHER_EVENTS,\n} from './publisher';\n\nexport {\n EVENTS as SUBSCRIBER_EVENTS,\n} from './subscriber';\n\nexport {\n RawQos\n} from '../qos/raw-qos';\n"]}
|
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.TsOpenTokSession = undefined;
|
|
5
|
-
|
|
6
|
-
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
7
|
-
|
|
8
|
-
var _session = require('../session');
|
|
9
|
-
|
|
10
|
-
var _publisher = require('../publisher');
|
|
11
|
-
|
|
12
|
-
var _subscriber = require('../subscriber');
|
|
13
|
-
|
|
14
|
-
var _stream = require('./stream');
|
|
15
|
-
|
|
16
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
|
-
|
|
18
|
-
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
19
|
-
|
|
20
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
21
|
-
|
|
22
|
-
var TsOpenTokSession = exports.TsOpenTokSession = function (_TsMediaSession) {
|
|
23
|
-
_inherits(TsOpenTokSession, _TsMediaSession);
|
|
24
|
-
|
|
25
|
-
function TsOpenTokSession(_ref) {
|
|
26
|
-
var credentials = _ref.credentials;
|
|
27
|
-
|
|
28
|
-
_classCallCheck(this, TsOpenTokSession);
|
|
29
|
-
|
|
30
|
-
var _this = _possibleConstructorReturn(this, _TsMediaSession.call(this));
|
|
31
|
-
|
|
32
|
-
_this._credentials = credentials;
|
|
33
|
-
_this._session = OT.initSession(credentials.apiKey, credentials.sessionId);
|
|
34
|
-
return _this;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
TsOpenTokSession.prototype._disconnectIfAlreadyConnected = function _disconnectIfAlreadyConnected() {
|
|
38
|
-
if (!this._session.isConnected()) {
|
|
39
|
-
return Promise.resolve();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return this.disconnect(true);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
TsOpenTokSession.prototype.connect = function connect() {
|
|
46
|
-
var _this2 = this;
|
|
47
|
-
|
|
48
|
-
return this._disconnectIfAlreadyConnected().then(function () {
|
|
49
|
-
return new Promise(function (resolve, reject) {
|
|
50
|
-
_this2._session.on('sessionConnected', function () {
|
|
51
|
-
_this2.emit(_session.EVENTS.CONNECTED);
|
|
52
|
-
});
|
|
53
|
-
_this2._session.on('sessionDisconnected', function (e) {
|
|
54
|
-
_this2.emit(_session.EVENTS.DISCONNECTED, e);
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
_this2._session.on('streamCreated', function (e) {
|
|
58
|
-
_this2.emit(_session.EVENTS.STREAM_CREATED, new _stream.TsOpenTokStream(_this2, e.stream));
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
_this2._session.on('streamDestroyed', function (e) {
|
|
62
|
-
_this2._streams.delete(e.stream.id);
|
|
63
|
-
|
|
64
|
-
_this2.emit(_session.EVENTS.STREAM_DESTROYED, e);
|
|
65
|
-
});
|
|
66
|
-
_this2._session.on('streamPropertyChanged', function (e) {
|
|
67
|
-
if (e.changedProperty === 'videoDimensions') {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
var stream = _this2._streams.get(e.stream.id);
|
|
72
|
-
|
|
73
|
-
var newEvent = {
|
|
74
|
-
stream: stream,
|
|
75
|
-
property: e.changedProperty,
|
|
76
|
-
value: e.newValue
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
_this2.emit(_session.EVENTS.STREAM_PROPERTY_CHANGED, newEvent);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
_this2._session.connect(_this2._credentials.token, function (error) {
|
|
83
|
-
if (error) {
|
|
84
|
-
_this2._session.off();
|
|
85
|
-
|
|
86
|
-
return reject(error);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return resolve();
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
TsOpenTokSession.prototype.disconnect = function disconnect(keepSession) {
|
|
96
|
-
var _this3 = this;
|
|
97
|
-
|
|
98
|
-
return new Promise(function (resolve) {
|
|
99
|
-
_this3._session.off();
|
|
100
|
-
|
|
101
|
-
var sessionFinalized = false;
|
|
102
|
-
|
|
103
|
-
var finalizeSession = function finalizeSession(event) {
|
|
104
|
-
if (sessionFinalized) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
sessionFinalized = true;
|
|
109
|
-
|
|
110
|
-
if (!keepSession) {
|
|
111
|
-
_this3._session = null;
|
|
112
|
-
|
|
113
|
-
_this3.emit(_session.EVENTS.DISCONNECTED);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
resolve(event);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
_this3._session.once('sessionDisconnected', function (event) {
|
|
120
|
-
return finalizeSession(event);
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
setTimeout(function () {
|
|
124
|
-
return finalizeSession({ reason: 'clientDisconnectedTimeout' });
|
|
125
|
-
}, 5000);
|
|
126
|
-
|
|
127
|
-
_this3._session.disconnect();
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
TsOpenTokSession.prototype.createPublisher = function createPublisher(target, params) {
|
|
132
|
-
var _this4 = this;
|
|
133
|
-
|
|
134
|
-
if (!params) {
|
|
135
|
-
params = target;
|
|
136
|
-
target = null;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
var otparams = {
|
|
140
|
-
videoSource: null,
|
|
141
|
-
audioSource: null,
|
|
142
|
-
showControls: false,
|
|
143
|
-
name: params.name,
|
|
144
|
-
publishAudio: false,
|
|
145
|
-
publishVideo: false,
|
|
146
|
-
constraints: {
|
|
147
|
-
video: {
|
|
148
|
-
facingMode: 'environment'
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
if (params.videoDevice) {
|
|
154
|
-
_.assign(otparams, {
|
|
155
|
-
publishVideo: true,
|
|
156
|
-
videoSource: params.videoDevice
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
otparams.constraints.video.deviceId = params.videoDevice;
|
|
160
|
-
|
|
161
|
-
if (params.videoParams) {
|
|
162
|
-
_.assign(otparams, params.videoParams);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
if (params.audioDevice) {
|
|
167
|
-
_.assign(otparams, {
|
|
168
|
-
publishAudio: true,
|
|
169
|
-
audioSource: params.audioDevice
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return new Promise(function (resolve, reject) {
|
|
174
|
-
var otpublisher = OT.initPublisher(target, otparams, function (error) {
|
|
175
|
-
if (error) {
|
|
176
|
-
return reject(error);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
var publisher = new _publisher.TsMediaPublisher(_this4, {
|
|
180
|
-
_otpublisher: otpublisher
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
return resolve(publisher);
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
TsOpenTokSession.prototype.publish = function publish(publisher) {
|
|
189
|
-
var _this5 = this;
|
|
190
|
-
|
|
191
|
-
return new Promise(function (resolve, reject) {
|
|
192
|
-
publisher._otpublisher.once('streamCreated', function (event) {
|
|
193
|
-
var stream = new _stream.TsOpenTokStream(_this5, event.stream);
|
|
194
|
-
|
|
195
|
-
publisher.stream = stream;
|
|
196
|
-
stream.publisher = publisher;
|
|
197
|
-
stream.remote = false;
|
|
198
|
-
|
|
199
|
-
publisher.videoWidth = publisher._otpublisher.videoWidth();
|
|
200
|
-
publisher.videoHeight = publisher._otpublisher.videoHeight();
|
|
201
|
-
|
|
202
|
-
publisher.emit(_publisher.EVENTS.STREAM_CREATED, stream);
|
|
203
|
-
|
|
204
|
-
var video = stream.getVideoElement(publisher._otpublisher.element)[0];
|
|
205
|
-
|
|
206
|
-
stream.setupDimensionsListener(video);
|
|
207
|
-
|
|
208
|
-
return resolve();
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
publisher._otpublisher.once('destroyed', function () {
|
|
212
|
-
publisher.emit(_publisher.EVENTS.DESTROYED);
|
|
213
|
-
|
|
214
|
-
publisher._otpublisher.off();
|
|
215
|
-
publisher._otpublisher = null;
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
_this5._session.publish(publisher._otpublisher, function (error) {
|
|
219
|
-
if (error) {
|
|
220
|
-
return reject(error);
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
TsOpenTokSession.prototype.destroyPublisher = function destroyPublisher(publisher) {
|
|
227
|
-
return new Promise(function (resolve) {
|
|
228
|
-
publisher._otpublisher.off();
|
|
229
|
-
|
|
230
|
-
publisher._otpublisher.once('destroyed', function () {
|
|
231
|
-
publisher._otpublisher = null;
|
|
232
|
-
|
|
233
|
-
resolve();
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
publisher._otpublisher.destroy();
|
|
237
|
-
});
|
|
238
|
-
};
|
|
239
|
-
|
|
240
|
-
TsOpenTokSession.prototype.createSubscriber = function createSubscriber(stream, target, params) {
|
|
241
|
-
var _this6 = this;
|
|
242
|
-
|
|
243
|
-
return new Promise(function (resolve, reject) {
|
|
244
|
-
if (stream._otstream.destroyed) {
|
|
245
|
-
return reject(stream._otstream.destroyedReason);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
var finish = _.once(function (err, res) {
|
|
249
|
-
if (err) {
|
|
250
|
-
return reject(err);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
return resolve(res);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
function onDestroy(event) {
|
|
257
|
-
if (event.stream.id === stream._otstream.id) {
|
|
258
|
-
finish(event.stream.destroyedReason);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
_this6._session.on('streamDestroyed', onDestroy);
|
|
263
|
-
var otsubscriber = _this6._session.subscribe(stream._otstream, target, params, function (error) {
|
|
264
|
-
_this6._session.off('streamDestroyed', onDestroy);
|
|
265
|
-
|
|
266
|
-
if (error) {
|
|
267
|
-
return finish(error);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
var subscriber = new _subscriber.TsMediaSubscriber({
|
|
271
|
-
stream: stream,
|
|
272
|
-
_otsubscriber: otsubscriber,
|
|
273
|
-
_session: _this6
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
return finish(null, subscriber);
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
TsOpenTokSession.prototype.destroySubscriber = function destroySubscriber(subscriber) {
|
|
282
|
-
if (!subscriber._otsubscriber || !(subscriber._otsubscriber.element || subscriber._otsubscriber.stream)) {
|
|
283
|
-
return Promise.resolve();
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
return new Promise(function (resolve) {
|
|
287
|
-
subscriber._otsubscriber.off();
|
|
288
|
-
|
|
289
|
-
subscriber._otsubscriber.on('destroyed', function () {
|
|
290
|
-
subscriber._otsubscriber = null;
|
|
291
|
-
|
|
292
|
-
return resolve();
|
|
293
|
-
});
|
|
294
|
-
|
|
295
|
-
subscriber._otsubscriber.destroy();
|
|
296
|
-
}).timeout(5000).catch(function () {
|
|
297
|
-
return null;
|
|
298
|
-
});
|
|
299
|
-
};
|
|
300
|
-
|
|
301
|
-
_createClass(TsOpenTokSession, [{
|
|
302
|
-
key: 'id',
|
|
303
|
-
get: function get() {
|
|
304
|
-
return this._session && this._session.sessionId;
|
|
305
|
-
}
|
|
306
|
-
}]);
|
|
307
|
-
|
|
308
|
-
return TsOpenTokSession;
|
|
309
|
-
}(_session.TsMediaSession);
|
|
310
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["oldCode/opentok/session.js"],"names":["TsOpenTokSession","credentials","_credentials","_session","OT","initSession","apiKey","sessionId","_disconnectIfAlreadyConnected","isConnected","Promise","resolve","disconnect","connect","then","reject","on","emit","EVENTS","CONNECTED","e","DISCONNECTED","STREAM_CREATED","TsOpenTokStream","stream","_streams","delete","id","STREAM_DESTROYED","changedProperty","get","newEvent","property","value","newValue","STREAM_PROPERTY_CHANGED","token","error","off","keepSession","sessionFinalized","finalizeSession","event","once","setTimeout","reason","createPublisher","target","params","otparams","videoSource","audioSource","showControls","name","publishAudio","publishVideo","constraints","video","facingMode","videoDevice","_","assign","deviceId","videoParams","audioDevice","otpublisher","initPublisher","publisher","TsMediaPublisher","_otpublisher","publish","remote","videoWidth","videoHeight","PUBLISHER_EVENTS","getVideoElement","element","setupDimensionsListener","DESTROYED","destroyPublisher","destroy","createSubscriber","_otstream","destroyed","destroyedReason","finish","err","res","onDestroy","otsubscriber","subscribe","subscriber","TsMediaSubscriber","_otsubscriber","destroySubscriber","timeout","catch","TsMediaSession"],"mappings":"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","file":"session.js","sourcesContent":["import {\n EVENTS,\n TsMediaSession,\n} from '../session';\n\nimport {\n EVENTS as PUBLISHER_EVENTS,\n TsMediaPublisher,\n} from '../publisher';\n\nimport {\n TsMediaSubscriber,\n} from '../subscriber';\n\nimport {\n TsOpenTokStream,\n} from './stream';\n\nexport class TsOpenTokSession extends TsMediaSession {\n constructor({credentials}) {\n super();\n\n this._credentials = credentials;\n this._session = OT.initSession(\n credentials.apiKey,\n credentials.sessionId\n );\n }\n\n get id() {\n return this._session && this._session.sessionId;\n }\n\n _disconnectIfAlreadyConnected() {\n if (!this._session.isConnected()) {\n return Promise.resolve();\n }\n\n return this.disconnect(true);\n }\n\n connect() {\n return this._disconnectIfAlreadyConnected()\n .then(() => new Promise((resolve, reject) => {\n this._session.on('sessionConnected', () => {\n this.emit(EVENTS.CONNECTED);\n });\n this._session.on('sessionDisconnected', (e) => {\n this.emit(EVENTS.DISCONNECTED, e);\n });\n\n this._session.on('streamCreated', (e) => {\n this.emit(EVENTS.STREAM_CREATED, new TsOpenTokStream(this, e.stream));\n });\n\n this._session.on('streamDestroyed', (e) => {\n this._streams.delete(e.stream.id);\n\n this.emit(EVENTS.STREAM_DESTROYED, e);\n });\n this._session.on('streamPropertyChanged', (e) => {\n if (e.changedProperty === 'videoDimensions') {\n return;\n }\n\n const stream = this._streams.get(e.stream.id);\n\n const newEvent = {\n stream,\n property: e.changedProperty,\n value: e.newValue,\n };\n\n this.emit(EVENTS.STREAM_PROPERTY_CHANGED, newEvent);\n });\n\n\n this._session.connect(this._credentials.token, (error) => {\n if (error) {\n this._session.off();\n\n return reject(error);\n }\n\n return resolve();\n });\n }));\n }\n\n disconnect(keepSession) {\n return new Promise((resolve) => {\n this._session.off();\n\n let sessionFinalized = false;\n\n const finalizeSession = (event) => {\n if (sessionFinalized) {\n return;\n }\n\n sessionFinalized = true;\n\n if (!keepSession) {\n this._session = null;\n\n this.emit(EVENTS.DISCONNECTED);\n }\n\n resolve(event);\n };\n\n this._session.once('sessionDisconnected', (event) => finalizeSession(event));\n\n setTimeout(() => finalizeSession({reason: 'clientDisconnectedTimeout'}), 5000);\n\n this._session.disconnect();\n });\n }\n\n createPublisher(target, params) {\n if (!params) {\n params = target;\n target = null;\n }\n\n const otparams = {\n videoSource: null,\n audioSource: null,\n showControls: false,\n name: params.name,\n publishAudio: false,\n publishVideo: false,\n constraints: {\n video: {\n facingMode: 'environment'\n }\n }\n };\n\n if (params.videoDevice) {\n _.assign(otparams, {\n publishVideo: true,\n videoSource: params.videoDevice,\n });\n\n otparams.constraints.video.deviceId = params.videoDevice;\n\n if (params.videoParams) {\n _.assign(otparams, params.videoParams);\n }\n }\n\n if (params.audioDevice) {\n _.assign(otparams, {\n publishAudio: true,\n audioSource: params.audioDevice,\n });\n }\n\n return new Promise((resolve, reject) => {\n const otpublisher = OT.initPublisher(target, otparams, (error) => {\n if (error) {\n return reject(error);\n }\n\n const publisher = new TsMediaPublisher(this, {\n _otpublisher: otpublisher,\n });\n\n return resolve(publisher);\n });\n });\n }\n\n publish(publisher) {\n return new Promise((resolve, reject) => {\n publisher._otpublisher.once('streamCreated', (event) => {\n const stream = new TsOpenTokStream(this, event.stream);\n\n publisher.stream = stream;\n stream.publisher = publisher;\n stream.remote = false;\n\n publisher.videoWidth = publisher._otpublisher.videoWidth();\n publisher.videoHeight = publisher._otpublisher.videoHeight();\n\n publisher.emit(PUBLISHER_EVENTS.STREAM_CREATED, stream);\n\n const video = stream.getVideoElement(publisher._otpublisher.element)[0];\n\n stream.setupDimensionsListener(video);\n\n return resolve();\n });\n\n publisher._otpublisher.once('destroyed', () => {\n publisher.emit(PUBLISHER_EVENTS.DESTROYED);\n\n publisher._otpublisher.off();\n publisher._otpublisher = null;\n });\n\n this._session.publish(publisher._otpublisher, (error) => {\n if (error) {\n return reject(error);\n }\n });\n });\n }\n\n destroyPublisher(publisher) {\n return new Promise((resolve) => {\n publisher._otpublisher.off();\n\n publisher._otpublisher.once('destroyed', () => {\n publisher._otpublisher = null;\n\n resolve();\n });\n\n publisher._otpublisher.destroy();\n });\n }\n\n createSubscriber(stream, target, params) {\n return new Promise((resolve, reject) => {\n if (stream._otstream.destroyed) {\n return reject(stream._otstream.destroyedReason);\n }\n\n const finish = _.once((err, res) => {\n if (err) {\n return reject(err);\n }\n\n return resolve(res);\n });\n\n function onDestroy(event) {\n if (event.stream.id === stream._otstream.id) {\n finish(event.stream.destroyedReason);\n }\n }\n\n this._session.on('streamDestroyed', onDestroy);\n const otsubscriber = this._session.subscribe(\n stream._otstream, target, params,\n (error) => {\n this._session.off('streamDestroyed', onDestroy);\n\n if (error) {\n return finish(error);\n }\n\n const subscriber = new TsMediaSubscriber({\n stream,\n _otsubscriber: otsubscriber,\n _session: this,\n });\n\n return finish(null, subscriber);\n }\n );\n });\n }\n\n destroySubscriber(subscriber) {\n if (!subscriber._otsubscriber || !(subscriber._otsubscriber.element || subscriber._otsubscriber.stream)) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n subscriber._otsubscriber.off();\n\n subscriber._otsubscriber.on('destroyed', () => {\n subscriber._otsubscriber = null;\n\n return resolve();\n });\n\n subscriber._otsubscriber.destroy();\n })\n .timeout(5000)\n .catch(() => null);\n }\n}\n\n"]}
|