@techsee/techsee-media-service 999.0.2-switch → 999.0.3-alpha2

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.
Files changed (150) hide show
  1. package/lib/LocalStreamManager.d.ts +12 -0
  2. package/lib/LocalStreamManager.d.ts.map +1 -1
  3. package/lib/LocalStreamManager.js +440 -283
  4. package/lib/LocalStreamManager.js.map +1 -1
  5. package/lib/MediaConstants.d.ts +14 -4
  6. package/lib/MediaConstants.d.ts.map +1 -1
  7. package/lib/MediaConstants.js +83 -38
  8. package/lib/MediaConstants.js.map +1 -1
  9. package/lib/MediaContracts.d.ts +17 -14
  10. package/lib/MediaContracts.d.ts.map +1 -1
  11. package/lib/MediaContracts.js +3 -3
  12. package/lib/MediaContracts.js.map +1 -1
  13. package/lib/MediaPublisher.d.ts +3 -3
  14. package/lib/MediaPublisher.d.ts.map +1 -1
  15. package/lib/MediaPublisher.js +46 -35
  16. package/lib/MediaPublisher.js.map +1 -1
  17. package/lib/MediaServiceBase.d.ts +21 -7
  18. package/lib/MediaServiceBase.d.ts.map +1 -1
  19. package/lib/MediaServiceBase.js +924 -586
  20. package/lib/MediaServiceBase.js.map +1 -1
  21. package/lib/MediaSession/MediaServer.d.ts +45 -0
  22. package/lib/MediaSession/MediaServer.d.ts.map +1 -0
  23. package/lib/MediaSession/MediaServer.js +538 -0
  24. package/lib/MediaSession/MediaServer.js.map +1 -0
  25. package/lib/MediaSession/MediaSessionBase.d.ts +10 -1
  26. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  27. package/lib/MediaSession/MediaSessionBase.js +128 -66
  28. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  29. package/lib/MediaSession/SessionOpentok.d.ts +11 -9
  30. package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
  31. package/lib/MediaSession/SessionOpentok.js +500 -352
  32. package/lib/MediaSession/SessionOpentok.js.map +1 -1
  33. package/lib/MediaSession/SessionTurn.d.ts +4 -1
  34. package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
  35. package/lib/MediaSession/SessionTurn.js +611 -422
  36. package/lib/MediaSession/SessionTurn.js.map +1 -1
  37. package/lib/MediaSession/TurnConstants.js +31 -30
  38. package/lib/MediaSession/TurnConstants.js.map +1 -1
  39. package/lib/MediaSubscriber.d.ts +11 -11
  40. package/lib/MediaSubscriber.d.ts.map +1 -1
  41. package/lib/MediaSubscriber.js +236 -192
  42. package/lib/MediaSubscriber.js.map +1 -1
  43. package/lib/MediaUtils/Compatibility.d.ts +2 -1
  44. package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
  45. package/lib/MediaUtils/Compatibility.js +130 -85
  46. package/lib/MediaUtils/Compatibility.js.map +1 -1
  47. package/lib/MediaUtils/MediaDomUtils.d.ts +3 -2
  48. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  49. package/lib/MediaUtils/MediaDomUtils.js +235 -174
  50. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  51. package/lib/MediaUtils/MediaTracer.js +9 -4
  52. package/lib/MediaUtils/MediaTracer.js.map +1 -1
  53. package/lib/MediaUtils/index.d.ts +1 -0
  54. package/lib/MediaUtils/index.d.ts.map +1 -0
  55. package/lib/MediaUtils/index.js +16 -0
  56. package/lib/MediaUtils/index.js.map +1 -0
  57. package/lib/MultiParty/Contracts.d.ts +16 -0
  58. package/lib/MultiParty/Contracts.d.ts.map +1 -0
  59. package/lib/MultiParty/Contracts.js +6 -0
  60. package/lib/MultiParty/Contracts.js.map +1 -0
  61. package/lib/MultiParty/DetectWebRtcService.d.ts +16 -0
  62. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -0
  63. package/lib/MultiParty/DetectWebRtcService.js +79 -0
  64. package/lib/MultiParty/DetectWebRtcService.js.map +1 -0
  65. package/lib/MultiParty/MediaCapabilitiesService.d.ts +23 -0
  66. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
  67. package/lib/MultiParty/MediaCapabilitiesService.js +369 -0
  68. package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
  69. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +5 -0
  70. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
  71. package/lib/MultiParty/MediaCapabilitiesUtils.js +305 -0
  72. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
  73. package/lib/MultiParty/MultiPartyService.d.ts +40 -0
  74. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
  75. package/lib/MultiParty/MultiPartyService.js +70 -0
  76. package/lib/MultiParty/MultiPartyService.js.map +1 -0
  77. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +3 -0
  78. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
  79. package/lib/MultiParty/MultiPartyServiceFactory.js +21 -0
  80. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
  81. package/lib/MultiParty/OpentokMultiPartyService.d.ts +29 -0
  82. package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +1 -0
  83. package/lib/MultiParty/OpentokMultiPartyService.js +888 -0
  84. package/lib/MultiParty/OpentokMultiPartyService.js.map +1 -0
  85. package/lib/MultiParty/VideoLayoutType.d.ts +4 -0
  86. package/lib/MultiParty/VideoLayoutType.d.ts.map +1 -0
  87. package/lib/MultiParty/VideoLayoutType.js +13 -0
  88. package/lib/MultiParty/VideoLayoutType.js.map +1 -0
  89. package/lib/MultiParty/index.d.ts +4 -0
  90. package/lib/MultiParty/index.d.ts.map +1 -0
  91. package/lib/MultiParty/index.js +61 -0
  92. package/lib/MultiParty/index.js.map +1 -0
  93. package/lib/MultiParty/opentok.d.ts +503 -0
  94. package/lib/TechseeMediaStream.d.ts +6 -6
  95. package/lib/TechseeMediaStream.d.ts.map +1 -1
  96. package/lib/TechseeMediaStream.js +59 -53
  97. package/lib/TechseeMediaStream.js.map +1 -1
  98. package/lib/oldCode/constants.js +20 -15
  99. package/lib/oldCode/constants.js.map +1 -1
  100. package/lib/oldCode/event-emitter.js +45 -22
  101. package/lib/oldCode/event-emitter.js.map +1 -1
  102. package/lib/oldCode/index.js +48 -52
  103. package/lib/oldCode/index.js.map +1 -1
  104. package/lib/oldCode/opentok/session.js +261 -236
  105. package/lib/oldCode/opentok/session.js.map +1 -1
  106. package/lib/oldCode/opentok/stream.js +283 -269
  107. package/lib/oldCode/opentok/stream.js.map +1 -1
  108. package/lib/oldCode/publisher.js +96 -71
  109. package/lib/oldCode/publisher.js.map +1 -1
  110. package/lib/oldCode/service.js +294 -272
  111. package/lib/oldCode/service.js.map +1 -1
  112. package/lib/oldCode/session.js +82 -60
  113. package/lib/oldCode/session.js.map +1 -1
  114. package/lib/oldCode/stream.js +153 -125
  115. package/lib/oldCode/stream.js.map +1 -1
  116. package/lib/oldCode/subscriber.js +60 -35
  117. package/lib/oldCode/subscriber.js.map +1 -1
  118. package/lib/oldCode/tracer.d.ts +3 -2
  119. package/lib/oldCode/tracer.d.ts.map +1 -1
  120. package/lib/oldCode/tracer.js +181 -130
  121. package/lib/oldCode/tracer.js.map +1 -1
  122. package/lib/oldCode/utils/ImageFixer.js +67 -44
  123. package/lib/oldCode/utils/ImageFixer.js.map +1 -1
  124. package/lib/oldCode/webrtc/constants.js +102 -110
  125. package/lib/oldCode/webrtc/constants.js.map +1 -1
  126. package/lib/oldCode/webrtc/helper.js +176 -124
  127. package/lib/oldCode/webrtc/helper.js.map +1 -1
  128. package/lib/oldCode/webrtc/session-kms.js +408 -393
  129. package/lib/oldCode/webrtc/session-kms.js.map +1 -1
  130. package/lib/oldCode/webrtc/session-loopback.js +245 -227
  131. package/lib/oldCode/webrtc/session-loopback.js.map +1 -1
  132. package/lib/oldCode/webrtc/session-turn.js +705 -658
  133. package/lib/oldCode/webrtc/session-turn.js.map +1 -1
  134. package/lib/oldCode/webrtc/session-turn.v2.js +480 -471
  135. package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -1
  136. package/lib/oldCode/webrtc/session.js +12 -6
  137. package/lib/oldCode/webrtc/session.js.map +1 -1
  138. package/lib/oldCode/webrtc/stream.js +526 -504
  139. package/lib/oldCode/webrtc/stream.js.map +1 -1
  140. package/lib/oldCode/webrtc/temasys/adapter-loader.js +5 -6
  141. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -1
  142. package/lib/oldCode/webrtc/temasys/adapter.js +5264 -5192
  143. package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -1
  144. package/lib/oldCode/webrtc/webrtc-ie-shim.js +3357 -2927
  145. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -1
  146. package/lib/qos/raw-qos.js +348 -273
  147. package/lib/qos/raw-qos.js.map +1 -1
  148. package/lib/webrtc-ie-shim.js +3386 -2985
  149. package/lib/webrtc-ie-shim.js.map +1 -1
  150. package/package.json +54 -42
@@ -1,114 +1,106 @@
1
- 'use strict';
2
-
3
- exports.__esModule = true;
4
- var SOCKET_EVENTS = exports.SOCKET_EVENTS = {
5
- OUTGOING: {
6
- // Emitted to a peer, offering an ICE candidate
7
- ICE_CANDIDATE: 'onIceCandidate',
8
-
9
- //
10
- // KMS Events
11
- //
12
-
13
- // Initial event, sent by pub/sub as a request to create/join a pipeline
14
- JOIN_PIPELINE: 'joinPipeline',
15
-
16
- // Final event, sent by pub/sub as a request to destroy a pipeline, or response to PIPELINE_DESTROYED event
17
- DESTROY_PIPELINE: 'destroyPipeline',
18
-
19
- //
20
- // TURN Events
21
- //
22
-
23
- // Initial event, sent by pub/sub as a request to create/join a room
24
- JOIN_ROOM: 'joinRoom',
25
-
26
- // Sent by publisher, as a response to an SDP offer request (SEND_OFFER)
27
- SDP_OFFER: 'sdpOfferSend',
28
-
29
- // An SDP response (emitted after receiving an SDP offer)
30
- SDP_ANSWER: 'sdpAnswerSend'
31
- },
32
- INCOMING: {
33
- // In TURN - Received by a publisher, as a response to an SDP_ANSWER sent by a subscriber
34
- // In KMS - Received after JOIN_PIPELINE is processed
35
- JOIN_RESPONSE: 'joinResponse', // This event is received by a publisher, when the sig server receive an SDP answer from subscriber
36
-
37
- // An incoming ICE candidate sent by a peer
38
- ICE_CANDIDATE: 'iceCandidate',
39
-
40
- // An error occured in the signaling server
41
- ERROR: 'errorOccured',
42
-
43
- //
44
- // KMS Events
45
- //
46
-
47
- // KMS pipeline was destroyed, in response we do a cleanup
48
- PIPELINE_DESTROYED: 'pipelineDestroyed',
49
-
50
- //
51
- // TURN Events
52
- //
53
-
54
- // Received by a publisher (sent by signaling server when a peer joining a room)
55
- SEND_OFFER: 'sendOffer',
56
-
57
- // Recieved by a subscriber when publisher sent an SDP offer
58
- SDP_OFFER: 'sdpOfferRecv',
59
-
60
- // Recieved by all subscribers, when the publisher has reconnected
61
- PUBLISHER_RECONNECT: 'publisherReconnect',
62
-
63
- // Recieved by the publisher, when a subscriber has disconnected
64
- PEER_DISCONNECTED: 'peerDisconnected'
65
- }
66
- };
67
-
68
- // KMS - Pipeline types
69
- var PIPELINE_TYPES = exports.PIPELINE_TYPES = {
70
- AUDIO_VIDEO_TO_SUBSCRIBERS: 'AudioVideoToSub',
71
- AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART: 'AudioVideoToSubWithSmart'
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SOCKET_PATH = exports.SOCKET_RECONNECTION_ATTEMPTS = exports.SOCKET_RECONNECTION_DELAY_MAX = exports.SOCKET_RECONNECTION_DELAY = exports.PUBLISH_APPROVAL_CHECK_INTERVAL = exports.WAIT_FOR_PC_INTERVAL = exports.FAILED_CONNECTING_TURN_SERVER_INTERVAL = exports.RECONNECT_TURN_SERVER_INTERVAL = exports.DEFAULT_STREAM_NAMES = exports.COOKIES = exports.PEER_CONNECTION_TYPES = exports.CLIENT_TYPES = exports.PIPELINE_TYPES = exports.SOCKET_EVENTS = void 0;
7
+ var SOCKET_EVENTS = {
8
+ OUTGOING: {
9
+ // Emitted to a peer, offering an ICE candidate
10
+ ICE_CANDIDATE: 'onIceCandidate',
11
+ //
12
+ // KMS Events
13
+ //
14
+ // Initial event, sent by pub/sub as a request to create/join a pipeline
15
+ JOIN_PIPELINE: 'joinPipeline',
16
+ // Final event, sent by pub/sub as a request to destroy a pipeline, or response to PIPELINE_DESTROYED event
17
+ DESTROY_PIPELINE: 'destroyPipeline',
18
+ //
19
+ // TURN Events
20
+ //
21
+ // Initial event, sent by pub/sub as a request to create/join a room
22
+ JOIN_ROOM: 'joinRoom',
23
+ // Sent by publisher, as a response to an SDP offer request (SEND_OFFER)
24
+ SDP_OFFER: 'sdpOfferSend',
25
+ // An SDP response (emitted after receiving an SDP offer)
26
+ SDP_ANSWER: 'sdpAnswerSend'
27
+ },
28
+ INCOMING: {
29
+ // In TURN - Received by a publisher, as a response to an SDP_ANSWER sent by a subscriber
30
+ // In KMS - Received after JOIN_PIPELINE is processed
31
+ JOIN_RESPONSE: 'joinResponse',
32
+ // This event is received by a publisher, when the sig server receive an SDP answer from subscriber
33
+ // An incoming ICE candidate sent by a peer
34
+ ICE_CANDIDATE: 'iceCandidate',
35
+ // An error occured in the signaling server
36
+ ERROR: 'errorOccured',
37
+ //
38
+ // KMS Events
39
+ //
40
+ // KMS pipeline was destroyed, in response we do a cleanup
41
+ PIPELINE_DESTROYED: 'pipelineDestroyed',
42
+ //
43
+ // TURN Events
44
+ //
45
+ // Received by a publisher (sent by signaling server when a peer joining a room)
46
+ SEND_OFFER: 'sendOffer',
47
+ // Recieved by a subscriber when publisher sent an SDP offer
48
+ SDP_OFFER: 'sdpOfferRecv',
49
+ // Recieved by all subscribers, when the publisher has reconnected
50
+ PUBLISHER_RECONNECT: 'publisherReconnect',
51
+ // Recieved by the publisher, when a subscriber has disconnected
52
+ PEER_DISCONNECTED: 'peerDisconnected'
53
+ }
54
+ }; // KMS - Pipeline types
55
+
56
+ exports.SOCKET_EVENTS = SOCKET_EVENTS;
57
+ var PIPELINE_TYPES = {
58
+ AUDIO_VIDEO_TO_SUBSCRIBERS: 'AudioVideoToSub',
59
+ AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART: 'AudioVideoToSubWithSmart'
72
60
  };
73
-
74
- var CLIENT_TYPES = exports.CLIENT_TYPES = {
75
- PUBLISHER: 'publisher',
76
- SUBSCRIBER: 'subscriber',
77
- INITIATOR: 'publisher',
78
- GUEST: 'subscriber'
79
- };
80
-
81
- var PEER_CONNECTION_TYPES = exports.PEER_CONNECTION_TYPES = {
82
- SEND_ONLY: 'WebRtcPeerSendonly',
83
- RECV_ONLY: 'WebRtcPeerRecvonly',
84
- SEND_RECV: 'WebRtcPeerSendrecv'
61
+ exports.PIPELINE_TYPES = PIPELINE_TYPES;
62
+ var CLIENT_TYPES = {
63
+ PUBLISHER: 'publisher',
64
+ SUBSCRIBER: 'subscriber',
65
+ INITIATOR: 'publisher',
66
+ GUEST: 'subscriber'
85
67
  };
86
-
87
- // Used to store the peer unique identifier (UID)
88
- var COOKIES = exports.COOKIES = {
89
- UID: 'media-client.uid'
68
+ exports.CLIENT_TYPES = CLIENT_TYPES;
69
+ var PEER_CONNECTION_TYPES = {
70
+ SEND_ONLY: 'WebRtcPeerSendonly',
71
+ RECV_ONLY: 'WebRtcPeerRecvonly',
72
+ SEND_RECV: 'WebRtcPeerSendrecv'
73
+ }; // Used to store the peer unique identifier (UID)
74
+
75
+ exports.PEER_CONNECTION_TYPES = PEER_CONNECTION_TYPES;
76
+ var COOKIES = {
77
+ UID: 'media-client.uid'
90
78
  };
91
-
92
- var DEFAULT_STREAM_NAMES = exports.DEFAULT_STREAM_NAMES = {
93
- MOBILE_CLIENT_VIDEO_STREAM: 'MOBILE_CLIENT_VIDEO_STREAM',
94
- MOBILE_CLIENT_AUDIO_STREAM: 'MOBILE_CLIENT_AUDIO_STREAM',
95
- DASHBOARD_AUDIO_STREAM: 'DASHBOARD_AUDIO_STREAM'
96
- };
97
-
98
- // When ICE exchange fail, an interval between reconnection attempts
99
- var RECONNECT_TURN_SERVER_INTERVAL = exports.RECONNECT_TURN_SERVER_INTERVAL = 1000;
100
-
101
- // When ICE exchange start, this is the timeout until the connection is deemed failed
102
- var FAILED_CONNECTING_TURN_SERVER_INTERVAL = exports.FAILED_CONNECTING_TURN_SERVER_INTERVAL = 15000;
103
-
104
- // Grace to to wait before creating a publisher, if peer connection has not been created yet
105
- var WAIT_FOR_PC_INTERVAL = exports.WAIT_FOR_PC_INTERVAL = 2000;
106
-
107
- // Interval between checks of video publishing ability attempts
108
- var PUBLISH_APPROVAL_CHECK_INTERVAL = exports.PUBLISH_APPROVAL_CHECK_INTERVAL = 1000;
109
-
110
- var SOCKET_RECONNECTION_DELAY = exports.SOCKET_RECONNECTION_DELAY = 3000,
111
- SOCKET_RECONNECTION_DELAY_MAX = exports.SOCKET_RECONNECTION_DELAY_MAX = 6000,
112
- SOCKET_RECONNECTION_ATTEMPTS = exports.SOCKET_RECONNECTION_ATTEMPTS = 100,
113
- SOCKET_PATH = exports.SOCKET_PATH = '/socket2.io';
79
+ exports.COOKIES = COOKIES;
80
+ var DEFAULT_STREAM_NAMES = {
81
+ MOBILE_CLIENT_VIDEO_STREAM: 'MOBILE_CLIENT_VIDEO_STREAM',
82
+ MOBILE_CLIENT_AUDIO_STREAM: 'MOBILE_CLIENT_AUDIO_STREAM',
83
+ DASHBOARD_AUDIO_STREAM: 'DASHBOARD_AUDIO_STREAM'
84
+ }; // When ICE exchange fail, an interval between reconnection attempts
85
+
86
+ exports.DEFAULT_STREAM_NAMES = DEFAULT_STREAM_NAMES;
87
+ var RECONNECT_TURN_SERVER_INTERVAL = 1000; // When ICE exchange start, this is the timeout until the connection is deemed failed
88
+
89
+ exports.RECONNECT_TURN_SERVER_INTERVAL = RECONNECT_TURN_SERVER_INTERVAL;
90
+ var FAILED_CONNECTING_TURN_SERVER_INTERVAL = 15000; // Grace to to wait before creating a publisher, if peer connection has not been created yet
91
+
92
+ exports.FAILED_CONNECTING_TURN_SERVER_INTERVAL = FAILED_CONNECTING_TURN_SERVER_INTERVAL;
93
+ var WAIT_FOR_PC_INTERVAL = 2000; // Interval between checks of video publishing ability attempts
94
+
95
+ exports.WAIT_FOR_PC_INTERVAL = WAIT_FOR_PC_INTERVAL;
96
+ var PUBLISH_APPROVAL_CHECK_INTERVAL = 1000;
97
+ exports.PUBLISH_APPROVAL_CHECK_INTERVAL = PUBLISH_APPROVAL_CHECK_INTERVAL;
98
+ var SOCKET_RECONNECTION_DELAY = 3000,
99
+ SOCKET_RECONNECTION_DELAY_MAX = 6000,
100
+ SOCKET_RECONNECTION_ATTEMPTS = 100,
101
+ SOCKET_PATH = '/socket2.io';
102
+ exports.SOCKET_PATH = SOCKET_PATH;
103
+ exports.SOCKET_RECONNECTION_ATTEMPTS = SOCKET_RECONNECTION_ATTEMPTS;
104
+ exports.SOCKET_RECONNECTION_DELAY_MAX = SOCKET_RECONNECTION_DELAY_MAX;
105
+ exports.SOCKET_RECONNECTION_DELAY = SOCKET_RECONNECTION_DELAY;
114
106
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["oldCode/webrtc/constants.js"],"names":["SOCKET_EVENTS","OUTGOING","ICE_CANDIDATE","JOIN_PIPELINE","DESTROY_PIPELINE","JOIN_ROOM","SDP_OFFER","SDP_ANSWER","INCOMING","JOIN_RESPONSE","ERROR","PIPELINE_DESTROYED","SEND_OFFER","PUBLISHER_RECONNECT","PEER_DISCONNECTED","PIPELINE_TYPES","AUDIO_VIDEO_TO_SUBSCRIBERS","AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART","CLIENT_TYPES","PUBLISHER","SUBSCRIBER","INITIATOR","GUEST","PEER_CONNECTION_TYPES","SEND_ONLY","RECV_ONLY","SEND_RECV","COOKIES","UID","DEFAULT_STREAM_NAMES","MOBILE_CLIENT_VIDEO_STREAM","MOBILE_CLIENT_AUDIO_STREAM","DASHBOARD_AUDIO_STREAM","RECONNECT_TURN_SERVER_INTERVAL","FAILED_CONNECTING_TURN_SERVER_INTERVAL","WAIT_FOR_PC_INTERVAL","PUBLISH_APPROVAL_CHECK_INTERVAL","SOCKET_RECONNECTION_DELAY","SOCKET_RECONNECTION_DELAY_MAX","SOCKET_RECONNECTION_ATTEMPTS","SOCKET_PATH"],"mappings":";;;AAAO,IAAMA,wCAAgB;AACzBC,cAAU;AACN;AACAC,uBAAe,gBAFT;;AAIN;AACA;AACA;;AAEA;AACAC,uBAAe,cATT;;AAWN;AACAC,0BAAkB,iBAZZ;;AAcN;AACA;AACA;;AAEA;AACAC,mBAAW,UAnBL;;AAqBN;AACAC,mBAAW,cAtBL;;AAwBN;AACAC,oBAAY;AAzBN,KADe;AA4BzBC,cAAU;AACN;AACA;AACAC,uBAAe,cAHT,EAGyB;;AAE/B;AACAP,uBAAe,cANT;;AAQN;AACAQ,eAAO,cATD;;AAWN;AACA;AACA;;AAEA;AACAC,4BAAoB,mBAhBd;;AAkBN;AACA;AACA;;AAEA;AACAC,oBAAY,WAvBN;;AAyBN;AACAN,mBAAW,cA1BL;;AA4BN;AACAO,6BAAqB,oBA7Bf;;AA+BN;AACAC,2BAAmB;AAhCb;AA5Be,CAAtB;;AAgEP;AACO,IAAMC,0CAAiB;AAC1BC,gCAA4B,iBADF;AAE1BC,2CAAuC;AAFb,CAAvB;;AAKA,IAAMC,sCAAe;AACxBC,eAAW,WADa;AAExBC,gBAAY,YAFY;AAGxBC,eAAW,WAHa;AAIxBC,WAAO;AAJiB,CAArB;;AAOA,IAAMC,wDAAwB;AACjCC,eAAW,oBADsB;AAEjCC,eAAW,oBAFsB;AAGjCC,eAAW;AAHsB,CAA9B;;AAMP;AACO,IAAMC,4BAAU;AACnBC,SAAK;AADc,CAAhB;;AAIA,IAAMC,sDAAuB;AAChCC,gCAA4B,4BADI;AAEhCC,gCAA4B,4BAFI;AAGhCC,4BAAwB;AAHQ,CAA7B;;AAMP;AACO,IAAMC,0EAAiC,IAAvC;;AAEP;AACO,IAAMC,0FAAyC,KAA/C;;AAEP;AACO,IAAMC,sDAAuB,IAA7B;;AAEP;AACO,IAAMC,4EAAkC,IAAxC;;AAEA,IAAMC,gEAA4B,IAAlC;AAAA,IACHC,wEAAgC,IAD7B;AAAA,IAEHC,sEAA+B,GAF5B;AAAA,IAGHC,oCAAc,aAHX","file":"constants.js","sourcesContent":["export const SOCKET_EVENTS = {\n OUTGOING: {\n // Emitted to a peer, offering an ICE candidate\n ICE_CANDIDATE: 'onIceCandidate',\n\n //\n // KMS Events\n //\n\n // Initial event, sent by pub/sub as a request to create/join a pipeline\n JOIN_PIPELINE: 'joinPipeline',\n\n // Final event, sent by pub/sub as a request to destroy a pipeline, or response to PIPELINE_DESTROYED event\n DESTROY_PIPELINE: 'destroyPipeline',\n\n //\n // TURN Events\n //\n\n // Initial event, sent by pub/sub as a request to create/join a room\n JOIN_ROOM: 'joinRoom',\n\n // Sent by publisher, as a response to an SDP offer request (SEND_OFFER)\n SDP_OFFER: 'sdpOfferSend',\n\n // An SDP response (emitted after receiving an SDP offer)\n SDP_ANSWER: 'sdpAnswerSend'\n },\n INCOMING: {\n // In TURN - Received by a publisher, as a response to an SDP_ANSWER sent by a subscriber\n // In KMS - Received after JOIN_PIPELINE is processed\n JOIN_RESPONSE: 'joinResponse', // This event is received by a publisher, when the sig server receive an SDP answer from subscriber\n\n // An incoming ICE candidate sent by a peer\n ICE_CANDIDATE: 'iceCandidate',\n\n // An error occured in the signaling server\n ERROR: 'errorOccured',\n\n //\n // KMS Events\n //\n\n // KMS pipeline was destroyed, in response we do a cleanup\n PIPELINE_DESTROYED: 'pipelineDestroyed',\n\n //\n // TURN Events\n //\n\n // Received by a publisher (sent by signaling server when a peer joining a room)\n SEND_OFFER: 'sendOffer',\n\n // Recieved by a subscriber when publisher sent an SDP offer\n SDP_OFFER: 'sdpOfferRecv',\n\n // Recieved by all subscribers, when the publisher has reconnected\n PUBLISHER_RECONNECT: 'publisherReconnect',\n\n // Recieved by the publisher, when a subscriber has disconnected\n PEER_DISCONNECTED: 'peerDisconnected'\n }\n};\n\n// KMS - Pipeline types\nexport const PIPELINE_TYPES = {\n AUDIO_VIDEO_TO_SUBSCRIBERS: 'AudioVideoToSub',\n AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART: 'AudioVideoToSubWithSmart'\n};\n\nexport const CLIENT_TYPES = {\n PUBLISHER: 'publisher',\n SUBSCRIBER: 'subscriber',\n INITIATOR: 'publisher',\n GUEST: 'subscriber'\n};\n\nexport const PEER_CONNECTION_TYPES = {\n SEND_ONLY: 'WebRtcPeerSendonly',\n RECV_ONLY: 'WebRtcPeerRecvonly',\n SEND_RECV: 'WebRtcPeerSendrecv'\n};\n\n// Used to store the peer unique identifier (UID)\nexport const COOKIES = {\n UID: 'media-client.uid'\n};\n\nexport const DEFAULT_STREAM_NAMES = {\n MOBILE_CLIENT_VIDEO_STREAM: 'MOBILE_CLIENT_VIDEO_STREAM',\n MOBILE_CLIENT_AUDIO_STREAM: 'MOBILE_CLIENT_AUDIO_STREAM',\n DASHBOARD_AUDIO_STREAM: 'DASHBOARD_AUDIO_STREAM'\n};\n\n// When ICE exchange fail, an interval between reconnection attempts\nexport const RECONNECT_TURN_SERVER_INTERVAL = 1000;\n\n// When ICE exchange start, this is the timeout until the connection is deemed failed\nexport const FAILED_CONNECTING_TURN_SERVER_INTERVAL = 15000;\n\n// Grace to to wait before creating a publisher, if peer connection has not been created yet\nexport const WAIT_FOR_PC_INTERVAL = 2000;\n\n// Interval between checks of video publishing ability attempts\nexport const PUBLISH_APPROVAL_CHECK_INTERVAL = 1000;\n\nexport const SOCKET_RECONNECTION_DELAY = 3000,\n SOCKET_RECONNECTION_DELAY_MAX = 6000,\n SOCKET_RECONNECTION_ATTEMPTS = 100,\n SOCKET_PATH = '/socket2.io';\n"]}
1
+ {"version":3,"sources":["oldCode/webrtc/constants.js"],"names":["SOCKET_EVENTS","OUTGOING","ICE_CANDIDATE","JOIN_PIPELINE","DESTROY_PIPELINE","JOIN_ROOM","SDP_OFFER","SDP_ANSWER","INCOMING","JOIN_RESPONSE","ERROR","PIPELINE_DESTROYED","SEND_OFFER","PUBLISHER_RECONNECT","PEER_DISCONNECTED","PIPELINE_TYPES","AUDIO_VIDEO_TO_SUBSCRIBERS","AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART","CLIENT_TYPES","PUBLISHER","SUBSCRIBER","INITIATOR","GUEST","PEER_CONNECTION_TYPES","SEND_ONLY","RECV_ONLY","SEND_RECV","COOKIES","UID","DEFAULT_STREAM_NAMES","MOBILE_CLIENT_VIDEO_STREAM","MOBILE_CLIENT_AUDIO_STREAM","DASHBOARD_AUDIO_STREAM","RECONNECT_TURN_SERVER_INTERVAL","FAILED_CONNECTING_TURN_SERVER_INTERVAL","WAIT_FOR_PC_INTERVAL","PUBLISH_APPROVAL_CHECK_INTERVAL","SOCKET_RECONNECTION_DELAY","SOCKET_RECONNECTION_DELAY_MAX","SOCKET_RECONNECTION_ATTEMPTS","SOCKET_PATH"],"mappings":";;;;;;AAAO,IAAMA,aAAa,GAAG;AACzBC,EAAAA,QAAQ,EAAE;AACN;AACAC,IAAAA,aAAa,EAAE,gBAFT;AAIN;AACA;AACA;AAEA;AACAC,IAAAA,aAAa,EAAE,cATT;AAWN;AACAC,IAAAA,gBAAgB,EAAE,iBAZZ;AAcN;AACA;AACA;AAEA;AACAC,IAAAA,SAAS,EAAE,UAnBL;AAqBN;AACAC,IAAAA,SAAS,EAAE,cAtBL;AAwBN;AACAC,IAAAA,UAAU,EAAE;AAzBN,GADe;AA4BzBC,EAAAA,QAAQ,EAAE;AACN;AACA;AACAC,IAAAA,aAAa,EAAE,cAHT;AAGyB;AAE/B;AACAP,IAAAA,aAAa,EAAE,cANT;AAQN;AACAQ,IAAAA,KAAK,EAAE,cATD;AAWN;AACA;AACA;AAEA;AACAC,IAAAA,kBAAkB,EAAE,mBAhBd;AAkBN;AACA;AACA;AAEA;AACAC,IAAAA,UAAU,EAAE,WAvBN;AAyBN;AACAN,IAAAA,SAAS,EAAE,cA1BL;AA4BN;AACAO,IAAAA,mBAAmB,EAAE,oBA7Bf;AA+BN;AACAC,IAAAA,iBAAiB,EAAE;AAhCb;AA5Be,CAAtB,C,CAgEP;;;AACO,IAAMC,cAAc,GAAG;AAC1BC,EAAAA,0BAA0B,EAAE,iBADF;AAE1BC,EAAAA,qCAAqC,EAAE;AAFb,CAAvB;;AAKA,IAAMC,YAAY,GAAG;AACxBC,EAAAA,SAAS,EAAE,WADa;AAExBC,EAAAA,UAAU,EAAE,YAFY;AAGxBC,EAAAA,SAAS,EAAE,WAHa;AAIxBC,EAAAA,KAAK,EAAE;AAJiB,CAArB;;AAOA,IAAMC,qBAAqB,GAAG;AACjCC,EAAAA,SAAS,EAAE,oBADsB;AAEjCC,EAAAA,SAAS,EAAE,oBAFsB;AAGjCC,EAAAA,SAAS,EAAE;AAHsB,CAA9B,C,CAMP;;;AACO,IAAMC,OAAO,GAAG;AACnBC,EAAAA,GAAG,EAAE;AADc,CAAhB;;AAIA,IAAMC,oBAAoB,GAAG;AAChCC,EAAAA,0BAA0B,EAAE,4BADI;AAEhCC,EAAAA,0BAA0B,EAAE,4BAFI;AAGhCC,EAAAA,sBAAsB,EAAE;AAHQ,CAA7B,C,CAMP;;;AACO,IAAMC,8BAA8B,GAAG,IAAvC,C,CAEP;;;AACO,IAAMC,sCAAsC,GAAG,KAA/C,C,CAEP;;;AACO,IAAMC,oBAAoB,GAAG,IAA7B,C,CAEP;;;AACO,IAAMC,+BAA+B,GAAG,IAAxC;;AAEA,IAAMC,yBAAyB,GAAG,IAAlC;AAAA,IACHC,6BAA6B,GAAG,IAD7B;AAAA,IAEHC,4BAA4B,GAAG,GAF5B;AAAA,IAGHC,WAAW,GAAG,aAHX","sourcesContent":["export const SOCKET_EVENTS = {\n OUTGOING: {\n // Emitted to a peer, offering an ICE candidate\n ICE_CANDIDATE: 'onIceCandidate',\n\n //\n // KMS Events\n //\n\n // Initial event, sent by pub/sub as a request to create/join a pipeline\n JOIN_PIPELINE: 'joinPipeline',\n\n // Final event, sent by pub/sub as a request to destroy a pipeline, or response to PIPELINE_DESTROYED event\n DESTROY_PIPELINE: 'destroyPipeline',\n\n //\n // TURN Events\n //\n\n // Initial event, sent by pub/sub as a request to create/join a room\n JOIN_ROOM: 'joinRoom',\n\n // Sent by publisher, as a response to an SDP offer request (SEND_OFFER)\n SDP_OFFER: 'sdpOfferSend',\n\n // An SDP response (emitted after receiving an SDP offer)\n SDP_ANSWER: 'sdpAnswerSend'\n },\n INCOMING: {\n // In TURN - Received by a publisher, as a response to an SDP_ANSWER sent by a subscriber\n // In KMS - Received after JOIN_PIPELINE is processed\n JOIN_RESPONSE: 'joinResponse', // This event is received by a publisher, when the sig server receive an SDP answer from subscriber\n\n // An incoming ICE candidate sent by a peer\n ICE_CANDIDATE: 'iceCandidate',\n\n // An error occured in the signaling server\n ERROR: 'errorOccured',\n\n //\n // KMS Events\n //\n\n // KMS pipeline was destroyed, in response we do a cleanup\n PIPELINE_DESTROYED: 'pipelineDestroyed',\n\n //\n // TURN Events\n //\n\n // Received by a publisher (sent by signaling server when a peer joining a room)\n SEND_OFFER: 'sendOffer',\n\n // Recieved by a subscriber when publisher sent an SDP offer\n SDP_OFFER: 'sdpOfferRecv',\n\n // Recieved by all subscribers, when the publisher has reconnected\n PUBLISHER_RECONNECT: 'publisherReconnect',\n\n // Recieved by the publisher, when a subscriber has disconnected\n PEER_DISCONNECTED: 'peerDisconnected'\n }\n};\n\n// KMS - Pipeline types\nexport const PIPELINE_TYPES = {\n AUDIO_VIDEO_TO_SUBSCRIBERS: 'AudioVideoToSub',\n AUDIO_VIDEO_TO_SUBSCRIBERS_WITH_SMART: 'AudioVideoToSubWithSmart'\n};\n\nexport const CLIENT_TYPES = {\n PUBLISHER: 'publisher',\n SUBSCRIBER: 'subscriber',\n INITIATOR: 'publisher',\n GUEST: 'subscriber'\n};\n\nexport const PEER_CONNECTION_TYPES = {\n SEND_ONLY: 'WebRtcPeerSendonly',\n RECV_ONLY: 'WebRtcPeerRecvonly',\n SEND_RECV: 'WebRtcPeerSendrecv'\n};\n\n// Used to store the peer unique identifier (UID)\nexport const COOKIES = {\n UID: 'media-client.uid'\n};\n\nexport const DEFAULT_STREAM_NAMES = {\n MOBILE_CLIENT_VIDEO_STREAM: 'MOBILE_CLIENT_VIDEO_STREAM',\n MOBILE_CLIENT_AUDIO_STREAM: 'MOBILE_CLIENT_AUDIO_STREAM',\n DASHBOARD_AUDIO_STREAM: 'DASHBOARD_AUDIO_STREAM'\n};\n\n// When ICE exchange fail, an interval between reconnection attempts\nexport const RECONNECT_TURN_SERVER_INTERVAL = 1000;\n\n// When ICE exchange start, this is the timeout until the connection is deemed failed\nexport const FAILED_CONNECTING_TURN_SERVER_INTERVAL = 15000;\n\n// Grace to to wait before creating a publisher, if peer connection has not been created yet\nexport const WAIT_FOR_PC_INTERVAL = 2000;\n\n// Interval between checks of video publishing ability attempts\nexport const PUBLISH_APPROVAL_CHECK_INTERVAL = 1000;\n\nexport const SOCKET_RECONNECTION_DELAY = 3000,\n SOCKET_RECONNECTION_DELAY_MAX = 6000,\n SOCKET_RECONNECTION_ATTEMPTS = 100,\n SOCKET_PATH = '/socket2.io';\n"],"file":"constants.js"}
@@ -1,124 +1,165 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- exports.__esModule = true;
4
- exports.getHighestResolutionStream = exports.getVideoTrackSettings = exports.getMediaConstraints = exports.FALLBACK_RESOLUTION = exports.POSSIBLE_RESOLUTIONS = exports.CONSTRAINTS_TYPES = undefined;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHighestResolutionStream = exports.getVideoTrackSettings = exports.getMediaConstraints = exports.FALLBACK_RESOLUTION = exports.POSSIBLE_RESOLUTIONS = exports.CONSTRAINTS_TYPES = void 0;
5
7
 
6
- var _service = require('../service');
8
+ var _service = require("../service");
7
9
 
8
- var _tracer = require('../tracer');
10
+ var _tracer = require("../tracer");
11
+
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+
14
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
+
20
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21
+
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
23
 
10
24
  var tracer = (0, _tracer.getTracer)('TSMediaServiceHelper');
11
25
 
12
26
  function _resolutionToConstraints(resolution) {
13
- var _resolution$split = resolution.split('x'),
14
- width = _resolution$split[0],
15
- height = _resolution$split[1];
16
-
17
- return { width: width, height: height };
27
+ var _resolution$split = resolution.split('x'),
28
+ _resolution$split2 = _slicedToArray(_resolution$split, 2),
29
+ width = _resolution$split2[0],
30
+ height = _resolution$split2[1];
31
+
32
+ return {
33
+ width: width,
34
+ height: height
35
+ };
18
36
  }
19
37
 
20
- var CONSTRAINTS_TYPES = exports.CONSTRAINTS_TYPES = {
21
- MIN: 'min',
22
- IDEAL: 'ideal'
38
+ var CONSTRAINTS_TYPES = {
39
+ MIN: 'min',
40
+ IDEAL: 'ideal'
23
41
  };
24
-
25
- var POSSIBLE_RESOLUTIONS = exports.POSSIBLE_RESOLUTIONS = [
26
- //'3840x2160', // 4k - disabled since it's an overkill
42
+ exports.CONSTRAINTS_TYPES = CONSTRAINTS_TYPES;
43
+ var POSSIBLE_RESOLUTIONS = [//'3840x2160', // 4k - disabled since it's an overkill
27
44
  '1920x1080', // FHD
28
45
  '1280x720' // HD
29
- ];
46
+ ]; // In case all possible resolution fails, we'll attempt to set the highest resolution as ideal
30
47
 
31
- // In case all possible resolution fails, we'll attempt to set the highest resolution as ideal
32
- var FALLBACK_RESOLUTION = exports.FALLBACK_RESOLUTION = POSSIBLE_RESOLUTIONS[0];
48
+ exports.POSSIBLE_RESOLUTIONS = POSSIBLE_RESOLUTIONS;
49
+ var FALLBACK_RESOLUTION = POSSIBLE_RESOLUTIONS[0];
50
+ exports.FALLBACK_RESOLUTION = FALLBACK_RESOLUTION;
33
51
 
34
52
  function _constraintByType(value, type) {
35
- switch (type) {
36
- case CONSTRAINTS_TYPES.MIN:
37
- return { min: value };
38
- default:
39
- return { ideal: value };
40
- }
53
+ switch (type) {
54
+ case CONSTRAINTS_TYPES.MIN:
55
+ return {
56
+ min: value
57
+ };
58
+
59
+ default:
60
+ return {
61
+ ideal: value
62
+ };
63
+ }
41
64
  }
42
65
 
43
- var getMediaConstraints = exports.getMediaConstraints = function getMediaConstraints(_ref) {
44
- var resolution = _ref.resolution,
45
- deviceOpts = _ref.deviceOpts,
46
- constraintType = _ref.constraintType;
47
- return _service.TsMediaService.getDevices().then(function (devices) {
48
- var groupedDevices = {
49
- video: _.filter(devices, function (device) {
50
- return device.kind.toLowerCase() === 'videoinput';
51
- }),
52
- audio: _.filter(devices, function (device) {
53
- return device.kind.toLowerCase() === 'audioinput';
54
- })
55
- };
56
-
57
- var videoDevice = deviceOpts.video && _.last(groupedDevices.video);
58
- var audioDevice = deviceOpts.audio && _.last(groupedDevices.audio);
59
-
60
- var mediaConstraints = {};
61
- tracer.trace('getMediaConstraints', videoDevice);
62
- if (videoDevice) {
63
- var videoResolution = _resolutionToConstraints(resolution);
64
-
65
- _.assign(mediaConstraints, {
66
- video: {
67
- deviceId: videoDevice.deviceId,
68
- width: _constraintByType(videoResolution.width, constraintType),
69
- height: _constraintByType(videoResolution.height, constraintType),
70
- facingMode: 'environment',
71
- frameRate: { ideal: 15, max: 30 }
72
- }
73
- });
66
+ var getMediaConstraints = function getMediaConstraints(_ref) {
67
+ var resolution = _ref.resolution,
68
+ deviceOpts = _ref.deviceOpts,
69
+ constraintType = _ref.constraintType;
70
+ return _service.TsMediaService.getDevices().then(function (devices) {
71
+ var groupedDevices = {
72
+ video: _.filter(devices, function (device) {
73
+ return device.kind.toLowerCase() === 'videoinput';
74
+ }),
75
+ audio: _.filter(devices, function (device) {
76
+ return device.kind.toLowerCase() === 'audioinput';
77
+ })
78
+ };
79
+
80
+ var videoDevice = deviceOpts.video && _.last(groupedDevices.video);
81
+
82
+ var audioDevice = deviceOpts.audio && _.last(groupedDevices.audio);
83
+
84
+ var mediaConstraints = {};
85
+ tracer.trace('getMediaConstraints', videoDevice);
86
+
87
+ if (videoDevice) {
88
+ var videoResolution = _resolutionToConstraints(resolution);
89
+
90
+ _.assign(mediaConstraints, {
91
+ video: {
92
+ deviceId: videoDevice.deviceId,
93
+ width: _constraintByType(videoResolution.width, constraintType),
94
+ height: _constraintByType(videoResolution.height, constraintType),
95
+ facingMode: 'environment',
96
+ frameRate: {
97
+ ideal: 15,
98
+ max: 30
99
+ }
74
100
  }
101
+ });
102
+ }
75
103
 
76
- if (audioDevice) {
77
- _.assign(mediaConstraints, {
78
- audio: { deviceId: audioDevice.deviceId }
79
- });
104
+ if (audioDevice) {
105
+ _.assign(mediaConstraints, {
106
+ audio: {
107
+ deviceId: audioDevice.deviceId
80
108
  }
109
+ });
110
+ }
81
111
 
82
- return mediaConstraints;
83
- });
112
+ return mediaConstraints;
113
+ });
84
114
  };
85
115
 
86
- var getVideoTrackSettings = exports.getVideoTrackSettings = function getVideoTrackSettings(stream) {
87
- var videoTracks = stream.getTracks().filter(function (track) {
88
- return track.kind === 'video';
89
- });
116
+ exports.getMediaConstraints = getMediaConstraints;
90
117
 
91
- if (_.isEmpty(videoTracks)) {
92
- return;
93
- }
118
+ var getVideoTrackSettings = function getVideoTrackSettings(stream) {
119
+ var videoTracks = stream.getTracks().filter(function (track) {
120
+ return track.kind === 'video';
121
+ });
94
122
 
95
- var videoTrack = videoTracks[0];
123
+ if (_.isEmpty(videoTracks)) {
124
+ return;
125
+ }
96
126
 
97
- return videoTrack.getSettings && videoTrack.getSettings();
127
+ var videoTrack = videoTracks[0];
128
+ return videoTrack.getSettings && videoTrack.getSettings();
98
129
  };
99
130
 
131
+ exports.getVideoTrackSettings = getVideoTrackSettings;
132
+
100
133
  function _constraintsByResolution(resolution, deviceOpts, constraintType) {
101
- return getMediaConstraints({
102
- resolution: resolution,
103
- deviceOpts: deviceOpts,
104
- constraintType: constraintType
105
- });
134
+ return getMediaConstraints({
135
+ resolution: resolution,
136
+ deviceOpts: deviceOpts,
137
+ constraintType: constraintType
138
+ });
106
139
  }
107
140
 
108
141
  function _handleGetUserMediaError(error) {
109
- var errorName = _.get(error, 'name');
110
-
111
- if (errorName === 'NotAllowedError') {
112
- return { code: 1500, name: 'NotAllowedError' };
113
- }
114
-
115
- if (errorName === 'PermissionDismissedError') {
116
- return { code: 8, name: 'PermissionDismissedError' };
117
- }
118
-
119
- return { code: 999, name: errorName || 'UnknownError' };
142
+ var errorName = _.get(error, 'name');
143
+
144
+ if (errorName === 'NotAllowedError') {
145
+ return {
146
+ code: 1500,
147
+ name: 'NotAllowedError'
148
+ };
149
+ }
150
+
151
+ if (errorName === 'PermissionDismissedError') {
152
+ return {
153
+ code: 8,
154
+ name: 'PermissionDismissedError'
155
+ };
156
+ }
157
+
158
+ return {
159
+ code: 999,
160
+ name: errorName || 'UnknownError'
161
+ };
120
162
  }
121
-
122
163
  /**
123
164
  * Scan possible resolutions from high to low, trying to set each as minimal.
124
165
  * Eventually, use a fallback as ideal so the browser may decide which to use.
@@ -130,44 +171,55 @@ function _handleGetUserMediaError(error) {
130
171
  * @returns { Promise }
131
172
  *
132
173
  */
133
- var getHighestResolutionStream = exports.getHighestResolutionStream = function getHighestResolutionStream(deviceOpts, constraints) {
134
- // In case we had a constraints scan before, return the best
135
- if (constraints) {
136
- return _service.TsMediaService.createLocalMediaStream(constraints).then(function (stream) {
137
- return { stream: stream, constraints: constraints };
138
- });
139
- }
140
174
 
141
- var successfulConstraintsFound = false;
142
-
143
- return new Promise(function (resolve, reject) {
144
- Promise.reduce(POSSIBLE_RESOLUTIONS, function (total, resolution) {
145
- if (successfulConstraintsFound) {
146
- return;
147
- }
148
-
149
- return _constraintsByResolution(resolution, deviceOpts, CONSTRAINTS_TYPES.MIN).then(function (potentialConstraints) {
150
- return _service.TsMediaService.createLocalMediaStream(potentialConstraints).then(function (stream) {
151
- successfulConstraintsFound = true;
152
-
153
- return resolve({ stream: stream, constraints: potentialConstraints });
154
- });
155
- }).catch(function () {
156
- return null;
157
- });
158
- }, 0).then(function () {
159
- if (successfulConstraintsFound) {
160
- return;
161
- }
162
-
163
- _constraintsByResolution(FALLBACK_RESOLUTION, deviceOpts, CONSTRAINTS_TYPES.IDEAL).then(function (potentialConstraints) {
164
- return _service.TsMediaService.createLocalMediaStream(potentialConstraints).then(function (stream) {
165
- return resolve({ stream: stream, constraints: potentialConstraints });
166
- });
167
- }).catch(function (err) {
168
- return reject(_handleGetUserMediaError(err));
169
- });
175
+
176
+ var getHighestResolutionStream = function getHighestResolutionStream(deviceOpts, constraints) {
177
+ // In case we had a constraints scan before, return the best
178
+ if (constraints) {
179
+ return _service.TsMediaService.createLocalMediaStream(constraints).then(function (stream) {
180
+ return {
181
+ stream: stream,
182
+ constraints: constraints
183
+ };
184
+ });
185
+ }
186
+
187
+ var successfulConstraintsFound = false;
188
+ return new Promise(function (resolve, reject) {
189
+ Promise.reduce(POSSIBLE_RESOLUTIONS, function (total, resolution) {
190
+ if (successfulConstraintsFound) {
191
+ return;
192
+ }
193
+
194
+ return _constraintsByResolution(resolution, deviceOpts, CONSTRAINTS_TYPES.MIN).then(function (potentialConstraints) {
195
+ return _service.TsMediaService.createLocalMediaStream(potentialConstraints).then(function (stream) {
196
+ successfulConstraintsFound = true;
197
+ return resolve({
198
+ stream: stream,
199
+ constraints: potentialConstraints
200
+ });
201
+ });
202
+ })["catch"](function () {
203
+ return null;
204
+ });
205
+ }, 0).then(function () {
206
+ if (successfulConstraintsFound) {
207
+ return;
208
+ }
209
+
210
+ _constraintsByResolution(FALLBACK_RESOLUTION, deviceOpts, CONSTRAINTS_TYPES.IDEAL).then(function (potentialConstraints) {
211
+ return _service.TsMediaService.createLocalMediaStream(potentialConstraints).then(function (stream) {
212
+ return resolve({
213
+ stream: stream,
214
+ constraints: potentialConstraints
215
+ });
170
216
  });
217
+ })["catch"](function (err) {
218
+ return reject(_handleGetUserMediaError(err));
219
+ });
171
220
  });
221
+ });
172
222
  };
223
+
224
+ exports.getHighestResolutionStream = getHighestResolutionStream;
173
225
  //# sourceMappingURL=helper.js.map