@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.3

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 (111) hide show
  1. package/dist/common/errors/webex-errors.js +5 -29
  2. package/dist/common/errors/webex-errors.js.map +1 -1
  3. package/dist/constants.js +15 -74
  4. package/dist/constants.js.map +1 -1
  5. package/dist/media/index.js +68 -213
  6. package/dist/media/index.js.map +1 -1
  7. package/dist/media/internal-media-core-wrapper.js +22 -0
  8. package/dist/media/internal-media-core-wrapper.js.map +1 -0
  9. package/dist/media/properties.js +20 -25
  10. package/dist/media/properties.js.map +1 -1
  11. package/dist/media/util.js +0 -27
  12. package/dist/media/util.js.map +1 -1
  13. package/dist/meeting/index.js +694 -432
  14. package/dist/meeting/index.js.map +1 -1
  15. package/dist/meeting/request.js +1 -0
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.js +3 -44
  18. package/dist/meeting/util.js.map +1 -1
  19. package/dist/meetings/index.js +64 -5
  20. package/dist/meetings/index.js.map +1 -1
  21. package/dist/meetings/util.js +24 -1
  22. package/dist/meetings/util.js.map +1 -1
  23. package/dist/members/index.js +68 -0
  24. package/dist/members/index.js.map +1 -1
  25. package/dist/multistream/mediaRequestManager.js +133 -0
  26. package/dist/multistream/mediaRequestManager.js.map +1 -0
  27. package/dist/multistream/multistreamMedia.js +116 -0
  28. package/dist/multistream/multistreamMedia.js.map +1 -0
  29. package/dist/multistream/receiveSlot.js +209 -0
  30. package/dist/multistream/receiveSlot.js.map +1 -0
  31. package/dist/multistream/receiveSlotManager.js +195 -0
  32. package/dist/multistream/receiveSlotManager.js.map +1 -0
  33. package/dist/multistream/remoteMedia.js +284 -0
  34. package/dist/multistream/remoteMedia.js.map +1 -0
  35. package/dist/multistream/remoteMediaGroup.js +243 -0
  36. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  37. package/dist/multistream/remoteMediaManager.js +1113 -0
  38. package/dist/multistream/remoteMediaManager.js.map +1 -0
  39. package/dist/reconnection-manager/index.js +109 -130
  40. package/dist/reconnection-manager/index.js.map +1 -1
  41. package/dist/roap/index.js +57 -240
  42. package/dist/roap/index.js.map +1 -1
  43. package/dist/roap/request.js +2 -114
  44. package/dist/roap/request.js.map +1 -1
  45. package/dist/roap/turnDiscovery.js +11 -5
  46. package/dist/roap/turnDiscovery.js.map +1 -1
  47. package/dist/statsAnalyzer/global.js +2 -0
  48. package/dist/statsAnalyzer/global.js.map +1 -1
  49. package/dist/statsAnalyzer/index.js +39 -36
  50. package/dist/statsAnalyzer/index.js.map +1 -1
  51. package/package.json +20 -19
  52. package/src/common/errors/webex-errors.js +0 -18
  53. package/src/constants.ts +139 -180
  54. package/src/media/index.js +60 -194
  55. package/src/media/internal-media-core-wrapper.ts +9 -0
  56. package/src/media/properties.js +19 -25
  57. package/src/media/util.js +0 -22
  58. package/src/meeting/index.js +565 -320
  59. package/src/meeting/request.js +1 -0
  60. package/src/meeting/util.js +3 -46
  61. package/src/meetings/index.js +30 -1
  62. package/src/meetings/util.js +23 -2
  63. package/src/members/index.js +48 -0
  64. package/src/multistream/mediaRequestManager.ts +166 -0
  65. package/src/multistream/multistreamMedia.ts +92 -0
  66. package/src/multistream/receiveSlot.ts +141 -0
  67. package/src/multistream/receiveSlotManager.ts +142 -0
  68. package/src/multistream/remoteMedia.ts +219 -0
  69. package/src/multistream/remoteMediaGroup.ts +224 -0
  70. package/src/multistream/remoteMediaManager.ts +911 -0
  71. package/src/reconnection-manager/index.js +40 -53
  72. package/src/roap/index.js +47 -207
  73. package/src/roap/request.js +1 -72
  74. package/src/roap/turnDiscovery.ts +12 -6
  75. package/src/statsAnalyzer/global.js +2 -0
  76. package/src/statsAnalyzer/index.js +32 -46
  77. package/test/integration/spec/journey.js +1 -1
  78. package/test/unit/spec/media/index.ts +223 -0
  79. package/test/unit/spec/media/properties.ts +73 -82
  80. package/test/unit/spec/meeting/effectsState.js +1 -3
  81. package/test/unit/spec/meeting/index.js +420 -228
  82. package/test/unit/spec/meeting/muteState.js +7 -0
  83. package/test/unit/spec/meeting/utils.js +61 -2
  84. package/test/unit/spec/meetings/index.js +0 -4
  85. package/test/unit/spec/members/index.js +164 -2
  86. package/test/unit/spec/multistream/mediaRequestManager.ts +515 -0
  87. package/test/unit/spec/multistream/receiveSlot.ts +104 -0
  88. package/test/unit/spec/multistream/receiveSlotManager.ts +173 -0
  89. package/test/unit/spec/multistream/remoteMedia.ts +217 -0
  90. package/test/unit/spec/multistream/remoteMediaGroup.ts +396 -0
  91. package/test/unit/spec/multistream/remoteMediaManager.ts +1251 -0
  92. package/test/unit/spec/roap/index.ts +63 -35
  93. package/test/unit/spec/stats-analyzer/index.js +19 -22
  94. package/dist/peer-connection-manager/index.js +0 -794
  95. package/dist/peer-connection-manager/index.js.map +0 -1
  96. package/dist/roap/collection.js +0 -73
  97. package/dist/roap/collection.js.map +0 -1
  98. package/dist/roap/handler.js +0 -337
  99. package/dist/roap/handler.js.map +0 -1
  100. package/dist/roap/state.js +0 -164
  101. package/dist/roap/state.js.map +0 -1
  102. package/dist/roap/util.js +0 -102
  103. package/dist/roap/util.js.map +0 -1
  104. package/src/peer-connection-manager/index.js +0 -723
  105. package/src/roap/collection.js +0 -63
  106. package/src/roap/handler.js +0 -252
  107. package/src/roap/state.js +0 -149
  108. package/src/roap/util.js +0 -93
  109. package/test/unit/spec/peerconnection-manager/index.js +0 -188
  110. package/test/unit/spec/peerconnection-manager/utils.js +0 -48
  111. package/test/unit/spec/roap/util.js +0 -30
@@ -10,7 +10,7 @@ _Object$defineProperty(exports, "__esModule", {
10
10
  value: true
11
11
  });
12
12
 
13
- exports.UserNotJoinedError = exports.UserInLobbyError = exports.NoMediaEstablishedYetError = exports.MeetingNotActiveError = exports.InvalidSdpError = exports.IceGatheringFailed = void 0;
13
+ exports.UserNotJoinedError = exports.UserInLobbyError = exports.NoMediaEstablishedYetError = exports.MeetingNotActiveError = exports.IceGatheringFailed = void 0;
14
14
  exports.createMeetingsError = createMeetingsError;
15
15
 
16
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
@@ -142,30 +142,6 @@ var UserInLobbyError = /*#__PURE__*/function (_WebexMeetingsError4) {
142
142
  exports.UserInLobbyError = UserInLobbyError;
143
143
  (0, _defineProperty2.default)(UserInLobbyError, "CODE", 30104);
144
144
  WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
145
- /**
146
- * @class InvalidSdpError
147
- * @classdesc Raised whenever SDP generated via browser is invalid.
148
- * @extends WebexMeetingsError
149
- * @property {number} code - 30201
150
- * @property {string} message - 'user is still in the lobby or not joined'
151
- */
152
-
153
- var InvalidSdpError = /*#__PURE__*/function (_WebexMeetingsError5) {
154
- (0, _inherits2.default)(InvalidSdpError, _WebexMeetingsError5);
155
-
156
- var _super5 = _createSuper(InvalidSdpError);
157
-
158
- function InvalidSdpError(message) {
159
- (0, _classCallCheck2.default)(this, InvalidSdpError);
160
- return _super5.call(this, InvalidSdpError.CODE, message || 'iceConnection: sdp generated is invalid');
161
- }
162
-
163
- return (0, _createClass2.default)(InvalidSdpError);
164
- }(_webexMeetingsError.default);
165
-
166
- exports.InvalidSdpError = InvalidSdpError;
167
- (0, _defineProperty2.default)(InvalidSdpError, "CODE", 30201);
168
- WebExMeetingsErrors[InvalidSdpError.CODE] = InvalidSdpError;
169
145
  /**
170
146
  * @class IceGatheringFailed
171
147
  * @classdesc Raised whenever ice gathering fails.
@@ -174,14 +150,14 @@ WebExMeetingsErrors[InvalidSdpError.CODE] = InvalidSdpError;
174
150
  * @property {string} message - 'user failed ice gathering check network/firewall'
175
151
  */
176
152
 
177
- var IceGatheringFailed = /*#__PURE__*/function (_WebexMeetingsError6) {
178
- (0, _inherits2.default)(IceGatheringFailed, _WebexMeetingsError6);
153
+ var IceGatheringFailed = /*#__PURE__*/function (_WebexMeetingsError5) {
154
+ (0, _inherits2.default)(IceGatheringFailed, _WebexMeetingsError5);
179
155
 
180
- var _super6 = _createSuper(IceGatheringFailed);
156
+ var _super5 = _createSuper(IceGatheringFailed);
181
157
 
182
158
  function IceGatheringFailed() {
183
159
  (0, _classCallCheck2.default)(this, IceGatheringFailed);
184
- return _super6.call(this, IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');
160
+ return _super5.call(this, IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');
185
161
  }
186
162
 
187
163
  return (0, _createClass2.default)(IceGatheringFailed);
@@ -1 +1 @@
1
- {"version":3,"names":["WebExMeetingsErrors","createMeetingsError","code","message","WebexMeetingsError","MeetingNotActiveError","CODE","UserNotJoinedError","NoMediaEstablishedYetError","UserInLobbyError","InvalidSdpError","IceGatheringFailed"],"sources":["webex-errors.js"],"sourcesContent":["// The document would auto generate the doc for errors\n\n// 1) Error codes for Oauth, login, mercury should be separated out (Code range)\n// 2) Errors from the actual locus server or other server in case, we can use the same error code as locus and redirect it\n// 3) Any errors we generate from the SDK can be split into various categories\n// Parameter validation, user action, connection, media specific(They can have different range)\n\n\n// TODO: all the errors from the server need to be captured\n\n// add a way to log and send metrics if needed\nimport WebexMeetingsError from './webex-meetings-error';\n\nconst WebExMeetingsErrors = {};\n\n/**\n * Create a {@link WebexMeetingsError} for a given code and message.\n * @private\n * @param {number} [code] - Error code\n * @param {string} [message] - Error message\n * @returns {WebexMeetingsError}\n */\nexport function createMeetingsError(code, message) {\n code = typeof code === 'number' ? code : 0;\n message = typeof message === 'string' && message ? message : 'Unknown error';\n\n return WebExMeetingsErrors[code] ? new WebExMeetingsErrors[code]() : new WebexMeetingsError(code, message);\n}\n\n/**\n * @class MeetingNotActiveError\n * @classdesc Raised whenever Meeting has already ended and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30101\n * @property {string} message - 'Meeting has already Ended or not Active'\n */\nclass MeetingNotActiveError extends WebexMeetingsError {\n static CODE = 30101;\n\n constructor() {\n super(MeetingNotActiveError.CODE, 'Meeting has already Ended or not Active');\n }\n}\n\nexport {MeetingNotActiveError};\nWebExMeetingsErrors[MeetingNotActiveError.CODE] = MeetingNotActiveError;\n\n/**\n * @class UserNotJoinedError\n * @classdesc Raised whenever the user has already left the meeting and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30102\n * @property {string} message - 'User has already left the meeting'\n */\nclass UserNotJoinedError extends WebexMeetingsError {\n static CODE = 30102;\n\n constructor() {\n super(UserNotJoinedError.CODE, 'User currently not in meeting. Please join a meeting before adding media.');\n }\n}\n\nexport {UserNotJoinedError};\nWebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;\n\n\n/**\n * @class NoMediaEstablishedYetError\n * @classdesc Raised whenever the user has not established media yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30103\n * @property {string} message - 'User has not established media yet'\n */\nclass NoMediaEstablishedYetError extends WebexMeetingsError {\n static CODE = 30103;\n\n constructor() {\n super(NoMediaEstablishedYetError.CODE, 'User has not established media yet');\n }\n}\n\nexport {NoMediaEstablishedYetError};\nWebExMeetingsErrors[NoMediaEstablishedYetError.CODE] = NoMediaEstablishedYetError;\n\n\n/**\n * @class UserInLobbyError\n * @classdesc Raised whenever the user is in lobby and not joined yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30104\n * @property {string} message - 'user is still in the lobby or not joined'\n */\nclass UserInLobbyError extends WebexMeetingsError {\n static CODE = 30104;\n\n constructor() {\n super(UserInLobbyError.CODE, 'user is still in the lobby or not joined');\n }\n}\n\nexport {UserInLobbyError};\nWebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;\n\n/**\n * @class InvalidSdpError\n * @classdesc Raised whenever SDP generated via browser is invalid.\n * @extends WebexMeetingsError\n * @property {number} code - 30201\n * @property {string} message - 'user is still in the lobby or not joined'\n */\nclass InvalidSdpError extends WebexMeetingsError {\n static CODE = 30201;\n\n constructor(message) {\n super(InvalidSdpError.CODE, message || 'iceConnection: sdp generated is invalid');\n }\n}\n\nexport {InvalidSdpError};\nWebExMeetingsErrors[InvalidSdpError.CODE] = InvalidSdpError;\n\n\n/**\n * @class IceGatheringFailed\n * @classdesc Raised whenever ice gathering fails.\n * @extends WebexMeetingsError\n * @property {number} code - 30202\n * @property {string} message - 'user failed ice gathering check network/firewall'\n */\nclass IceGatheringFailed extends WebexMeetingsError {\n static CODE = 30202;\n\n constructor() {\n super(IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');\n }\n}\n\nexport {IceGatheringFailed};\nWebExMeetingsErrors[IceGatheringFailed.CODE] = IceGatheringFailed;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAEA,IAAMA,mBAAmB,GAAG,EAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,mBAAT,CAA6BC,IAA7B,EAAmCC,OAAnC,EAA4C;EACjDD,IAAI,GAAG,OAAOA,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkC,CAAzC;EACAC,OAAO,GAAG,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAA/B,GAAyCA,OAAzC,GAAmD,eAA7D;EAEA,OAAOH,mBAAmB,CAACE,IAAD,CAAnB,GAA4B,IAAIF,mBAAmB,CAACE,IAAD,CAAvB,EAA5B,GAA8D,IAAIE,2BAAJ,CAAuBF,IAAvB,EAA6BC,OAA7B,CAArE;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME,qB;;;;;EAGJ,iCAAc;IAAA;IAAA,yBACNA,qBAAqB,CAACC,IADhB,EACsB,yCADtB;EAEb;;;EALiCF,2B;;;8BAA9BC,qB,UACU,K;AAQhBL,mBAAmB,CAACK,qBAAqB,CAACC,IAAvB,CAAnB,GAAkDD,qBAAlD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME,kB;;;;;EAGJ,8BAAc;IAAA;IAAA,0BACNA,kBAAkB,CAACD,IADb,EACmB,2EADnB;EAEb;;;EAL8BF,2B;;;8BAA3BG,kB,UACU,K;AAQhBP,mBAAmB,CAACO,kBAAkB,CAACD,IAApB,CAAnB,GAA+CC,kBAA/C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,0B;;;;;EAGJ,sCAAc;IAAA;IAAA,0BACNA,0BAA0B,CAACF,IADrB,EAC2B,oCAD3B;EAEb;;;EALsCF,2B;;;8BAAnCI,0B,UACU,K;AAQhBR,mBAAmB,CAACQ,0BAA0B,CAACF,IAA5B,CAAnB,GAAuDE,0BAAvD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,gB;;;;;EAGJ,4BAAc;IAAA;IAAA,0BACNA,gBAAgB,CAACH,IADX,EACiB,0CADjB;EAEb;;;EAL4BF,2B;;;8BAAzBK,gB,UACU,K;AAQhBT,mBAAmB,CAACS,gBAAgB,CAACH,IAAlB,CAAnB,GAA6CG,gBAA7C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,e;;;;;EAGJ,yBAAYP,OAAZ,EAAqB;IAAA;IAAA,0BACbO,eAAe,CAACJ,IADH,EACSH,OAAO,IAAI,yCADpB;EAEpB;;;EAL2BC,2B;;;8BAAxBM,e,UACU,K;AAQhBV,mBAAmB,CAACU,eAAe,CAACJ,IAAjB,CAAnB,GAA4CI,eAA5C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;EAGJ,8BAAc;IAAA;IAAA,0BACNA,kBAAkB,CAACL,IADb,EACmB,+CADnB;EAEb;;;EAL8BF,2B;;;8BAA3BO,kB,UACU,K;AAQhBX,mBAAmB,CAACW,kBAAkB,CAACL,IAApB,CAAnB,GAA+CK,kBAA/C"}
1
+ {"version":3,"names":["WebExMeetingsErrors","createMeetingsError","code","message","WebexMeetingsError","MeetingNotActiveError","CODE","UserNotJoinedError","NoMediaEstablishedYetError","UserInLobbyError","IceGatheringFailed"],"sources":["webex-errors.js"],"sourcesContent":["// The document would auto generate the doc for errors\n\n// 1) Error codes for Oauth, login, mercury should be separated out (Code range)\n// 2) Errors from the actual locus server or other server in case, we can use the same error code as locus and redirect it\n// 3) Any errors we generate from the SDK can be split into various categories\n// Parameter validation, user action, connection, media specific(They can have different range)\n\n\n// TODO: all the errors from the server need to be captured\n\n// add a way to log and send metrics if needed\nimport WebexMeetingsError from './webex-meetings-error';\n\nconst WebExMeetingsErrors = {};\n\n/**\n * Create a {@link WebexMeetingsError} for a given code and message.\n * @private\n * @param {number} [code] - Error code\n * @param {string} [message] - Error message\n * @returns {WebexMeetingsError}\n */\nexport function createMeetingsError(code, message) {\n code = typeof code === 'number' ? code : 0;\n message = typeof message === 'string' && message ? message : 'Unknown error';\n\n return WebExMeetingsErrors[code] ? new WebExMeetingsErrors[code]() : new WebexMeetingsError(code, message);\n}\n\n/**\n * @class MeetingNotActiveError\n * @classdesc Raised whenever Meeting has already ended and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30101\n * @property {string} message - 'Meeting has already Ended or not Active'\n */\nclass MeetingNotActiveError extends WebexMeetingsError {\n static CODE = 30101;\n\n constructor() {\n super(MeetingNotActiveError.CODE, 'Meeting has already Ended or not Active');\n }\n}\n\nexport {MeetingNotActiveError};\nWebExMeetingsErrors[MeetingNotActiveError.CODE] = MeetingNotActiveError;\n\n/**\n * @class UserNotJoinedError\n * @classdesc Raised whenever the user has already left the meeting and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30102\n * @property {string} message - 'User has already left the meeting'\n */\nclass UserNotJoinedError extends WebexMeetingsError {\n static CODE = 30102;\n\n constructor() {\n super(UserNotJoinedError.CODE, 'User currently not in meeting. Please join a meeting before adding media.');\n }\n}\n\nexport {UserNotJoinedError};\nWebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;\n\n\n/**\n * @class NoMediaEstablishedYetError\n * @classdesc Raised whenever the user has not established media yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30103\n * @property {string} message - 'User has not established media yet'\n */\nclass NoMediaEstablishedYetError extends WebexMeetingsError {\n static CODE = 30103;\n\n constructor() {\n super(NoMediaEstablishedYetError.CODE, 'User has not established media yet');\n }\n}\n\nexport {NoMediaEstablishedYetError};\nWebExMeetingsErrors[NoMediaEstablishedYetError.CODE] = NoMediaEstablishedYetError;\n\n\n/**\n * @class UserInLobbyError\n * @classdesc Raised whenever the user is in lobby and not joined yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30104\n * @property {string} message - 'user is still in the lobby or not joined'\n */\nclass UserInLobbyError extends WebexMeetingsError {\n static CODE = 30104;\n\n constructor() {\n super(UserInLobbyError.CODE, 'user is still in the lobby or not joined');\n }\n}\n\nexport {UserInLobbyError};\nWebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;\n\n\n/**\n * @class IceGatheringFailed\n * @classdesc Raised whenever ice gathering fails.\n * @extends WebexMeetingsError\n * @property {number} code - 30202\n * @property {string} message - 'user failed ice gathering check network/firewall'\n */\nclass IceGatheringFailed extends WebexMeetingsError {\n static CODE = 30202;\n\n constructor() {\n super(IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');\n }\n}\n\nexport {IceGatheringFailed};\nWebExMeetingsErrors[IceGatheringFailed.CODE] = IceGatheringFailed;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAEA,IAAMA,mBAAmB,GAAG,EAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,mBAAT,CAA6BC,IAA7B,EAAmCC,OAAnC,EAA4C;EACjDD,IAAI,GAAG,OAAOA,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkC,CAAzC;EACAC,OAAO,GAAG,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAA/B,GAAyCA,OAAzC,GAAmD,eAA7D;EAEA,OAAOH,mBAAmB,CAACE,IAAD,CAAnB,GAA4B,IAAIF,mBAAmB,CAACE,IAAD,CAAvB,EAA5B,GAA8D,IAAIE,2BAAJ,CAAuBF,IAAvB,EAA6BC,OAA7B,CAArE;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME,qB;;;;;EAGJ,iCAAc;IAAA;IAAA,yBACNA,qBAAqB,CAACC,IADhB,EACsB,yCADtB;EAEb;;;EALiCF,2B;;;8BAA9BC,qB,UACU,K;AAQhBL,mBAAmB,CAACK,qBAAqB,CAACC,IAAvB,CAAnB,GAAkDD,qBAAlD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME,kB;;;;;EAGJ,8BAAc;IAAA;IAAA,0BACNA,kBAAkB,CAACD,IADb,EACmB,2EADnB;EAEb;;;EAL8BF,2B;;;8BAA3BG,kB,UACU,K;AAQhBP,mBAAmB,CAACO,kBAAkB,CAACD,IAApB,CAAnB,GAA+CC,kBAA/C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,0B;;;;;EAGJ,sCAAc;IAAA;IAAA,0BACNA,0BAA0B,CAACF,IADrB,EAC2B,oCAD3B;EAEb;;;EALsCF,2B;;;8BAAnCI,0B,UACU,K;AAQhBR,mBAAmB,CAACQ,0BAA0B,CAACF,IAA5B,CAAnB,GAAuDE,0BAAvD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,gB;;;;;EAGJ,4BAAc;IAAA;IAAA,0BACNA,gBAAgB,CAACH,IADX,EACiB,0CADjB;EAEb;;;EAL4BF,2B;;;8BAAzBK,gB,UACU,K;AAQhBT,mBAAmB,CAACS,gBAAgB,CAACH,IAAlB,CAAnB,GAA6CG,gBAA7C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;EAGJ,8BAAc;IAAA;IAAA,0BACNA,kBAAkB,CAACJ,IADb,EACmB,+CADnB;EAEb;;;EAL8BF,2B;;;8BAA3BM,kB,UACU,K;AAQhBV,mBAAmB,CAACU,kBAAkB,CAACJ,IAApB,CAAnB,GAA+CI,kBAA/C"}
package/dist/constants.js CHANGED
@@ -8,14 +8,14 @@ _Object$defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
 
11
- exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PC_BAIL_TIMEOUT = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.OFFER = exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTEVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.METRICS_JOIN_TIMES_MAX_DURATION = exports.MEET_M = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.JOIN = exports.IPV4_REGEX = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO_INPUT = exports.AUDIO = exports.API = exports.ANSWER = exports.ALTERNATE_REDIRECT_TRUE = exports.ALERT = void 0;
12
- exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OFFER_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SDP = exports.ROAP_SEQ_PRE = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE_VIDEO_CONSTRAINTS = exports.REMOTE = exports.RECORDING_STATE = exports.RECONNECTION = void 0;
11
+ exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PC_BAIL_TIMEOUT = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTEVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.METRICS_JOIN_TIMES_MAX_DURATION = exports.MEET_M = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.JOIN = exports.IPV4_REGEX = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO_INPUT = exports.AUDIO = exports.API = exports.ANSWER = exports.ALTERNATE_REDIRECT_TRUE = exports.ALERT = void 0;
12
+ exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO_RESOLUTIONS = exports.VIDEO_INPUT = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = void 0;
13
13
 
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
15
 
16
16
  var _common = require("@webex/common");
17
17
 
18
- var _VIDEO_RESOLUTIONS, _MAX_FS;
18
+ var _VIDEO_RESOLUTIONS;
19
19
 
20
20
  // *********** LOWERCASE / CAMELCASE STRINGS ************
21
21
  var AUDIO = 'audio';
@@ -60,8 +60,6 @@ var ERROR = 'error';
60
60
  exports.ERROR = ERROR;
61
61
  var ENDED = 'ended';
62
62
  exports.ENDED = ENDED;
63
- var OFFER = 'offer';
64
- exports.OFFER = OFFER;
65
63
  var HECATE = 'hecate';
66
64
  exports.HECATE = HECATE;
67
65
  var HOST = 'host';
@@ -172,8 +170,6 @@ var _NOT_IN_MEETING_ = 'NOT_IN_MEETING';
172
170
  exports._NOT_IN_MEETING_ = _NOT_IN_MEETING_;
173
171
  var _NONE_ = 'NONE';
174
172
  exports._NONE_ = _NONE_;
175
- var _OFFER_ = 'OFFER';
176
- exports._OFFER_ = _OFFER_;
177
173
  var _OBSERVE_ = 'OBSERVE';
178
174
  exports._OBSERVE_ = _OBSERVE_;
179
175
  var _PERSONAL_ROOM_ = 'PERSONAL_ROOM';
@@ -277,8 +273,6 @@ var ICE_FAIL_TIMEOUT = 3000;
277
273
  exports.ICE_FAIL_TIMEOUT = ICE_FAIL_TIMEOUT;
278
274
  var RETRY_TIMEOUT = 3000;
279
275
  exports.RETRY_TIMEOUT = RETRY_TIMEOUT;
280
- var ROAP_SEQ_PRE = -1;
281
- exports.ROAP_SEQ_PRE = ROAP_SEQ_PRE;
282
276
  var PC_BAIL_TIMEOUT = 8000; // ******************** REGEX **********************
283
277
  // Please alphabetize
284
278
 
@@ -399,7 +393,14 @@ var EVENT_TRIGGERS = {
399
393
  MEETINGS_NETWORK_CONNECTED: 'network:connected',
400
394
  MEETING_SELF_LEFT: 'meeting:self:left',
401
395
  NETWORK_QUALITY: 'network:quality',
402
- MEDIA_NEGOTIATED: 'media:negotiated'
396
+ MEDIA_NEGOTIATED: 'media:negotiated',
397
+ // the following events apply only to multistream media connections
398
+ ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',
399
+ REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',
400
+ REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',
401
+ REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
402
+ REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScrenShareAudio:created',
403
+ REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged'
403
404
  };
404
405
  exports.EVENT_TRIGGERS = EVENT_TRIGGERS;
405
406
  var EVENT_TYPES = {
@@ -453,8 +454,6 @@ var SHARE_STOPPED_REASON = {
453
454
  };
454
455
  exports.SHARE_STOPPED_REASON = SHARE_STOPPED_REASON;
455
456
  var EVENTS = {
456
- ROAP_OK: 'ROAP_OK',
457
- ROAP_ANSWER: 'ROAP_ANSWER',
458
457
  SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
459
458
  SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
460
459
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
@@ -873,50 +872,16 @@ var REACHABILITY = {
873
872
  };
874
873
  exports.REACHABILITY = REACHABILITY;
875
874
  var ROAP = {
876
- ROAP_TRANSITIONS: {
877
- STEP: 'step'
878
- },
879
875
  ROAP_TYPES: {
880
876
  OFFER: 'OFFER',
881
877
  ANSWER: 'ANSWER',
882
878
  OK: 'OK',
883
879
  ERROR: 'ERROR',
884
- SHUTDOWN: 'SHUTDOWN',
885
- OFFER_REQUEST: 'OFFER_REQUEST',
886
880
  TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',
887
881
  TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE'
888
882
  },
889
- ROAP_STATE: {
890
- INIT: 'INIT',
891
- WAIT_RX_OFFER: 'WAIT_RX_OFFER',
892
- WAIT_RX_ANSWER: 'WAIT_RX_ANSWER',
893
- WAIT_RX_OK: 'WAIT_RX_OK',
894
- WAIT_TX_OFFER: 'WAIT_TX_OFFER',
895
- WAIT_TX_ANSWER: 'WAIT_TX_ANSWER',
896
- WAIT_TX_OK: 'WAIT_TX_OK',
897
- IDLE_LOCAL_OFFER: 'IDLE_LOCAL_OFFER',
898
- IDLE_REMOTE_OFFER: 'IDLE_REMOTE_OFFER',
899
- GLARE: 'GLARE',
900
- ERROR: 'ERROR'
901
- },
902
- ROAP_SIGNAL: {
903
- RX_OFFER: 'RX_OFFER',
904
- TX_OFFER: 'TX_OFFER',
905
- RX_ANSWER: 'RX_ANSWER',
906
- TX_ANSWER: 'TX_ANSWER',
907
- RX_OK: 'RX_OK',
908
- TX_OK: 'TX_OK',
909
- GLARE_RESOLVED: 'GLARE_RESOLVED'
910
- },
911
- RECEIVE_ROAP_MSG: 'RECEIVE_ROAP_MSG',
912
- SEND_ROAP_MSG: 'SEND_ROAP_MSG',
913
- SEND_ROAP_MSG_SUCCESS: 'SEND_ROAP_MSG_SUCCESS',
914
- RESET_ROAP_STATE: 'RESET_ROAP_STATE',
915
- RECEIVE_CALL_LEAVE: 'RECEIVE_CALL_LEAVE',
916
883
  ROAP_MERCURY: 'event:locus.message.roap',
917
- ROAP_VERSION: '2',
918
- RX_: 'RX_',
919
- TX_: 'TX_'
884
+ ROAP_VERSION: '2'
920
885
  };
921
886
  exports.ROAP = ROAP;
922
887
  var MediaContent = {
@@ -924,22 +889,6 @@ var MediaContent = {
924
889
  slides: 'slides'
925
890
  };
926
891
  exports.MediaContent = MediaContent;
927
- var SDP = {
928
- A_CONTENT_SLIDES: 'a=content:slides',
929
- ROLLBACK: 'rollback',
930
- HAVE_LOCAL_OFFER: 'have-local-offer',
931
- HAVE_REMOTE_OFFER: 'have-remote-offer',
932
- STABLE: 'stable',
933
- OFFER: 'offer',
934
- M_LINE: 'm=',
935
- MAX_FS: 'max-fs=',
936
- B_LINE: 'b=TIAS',
937
- // Edonus repeated key frames request
938
- PERIODIC_KEYFRAME: 'a=periodic-keyframes:20',
939
- CARRIAGE_RETURN: '\r\n',
940
- BAD_MEDIA_PORTS: [0]
941
- };
942
- exports.SDP = SDP;
943
892
  var NETWORK_STATUS = {
944
893
  DISCONNECTED: 'DISCONNECTED',
945
894
  RECONNECTING: 'RECONNECTING',
@@ -1067,6 +1016,7 @@ var MQA_STATS = {
1067
1016
  systemMaximumCPU: 0
1068
1017
  }
1069
1018
  }; // ****** MEDIA QUALITY CONSTANTS ****** //
1019
+ // these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib
1070
1020
 
1071
1021
  exports.MQA_STATS = MQA_STATS;
1072
1022
  var QUALITY_LEVELS = {
@@ -1131,20 +1081,11 @@ var AVAILABLE_RESOLUTIONS = {
1131
1081
  };
1132
1082
  exports.AVAILABLE_RESOLUTIONS = AVAILABLE_RESOLUTIONS;
1133
1083
  var VIDEO_RESOLUTIONS = (_VIDEO_RESOLUTIONS = {}, (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS.LOW, AVAILABLE_RESOLUTIONS['480p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS.MEDIUM, AVAILABLE_RESOLUTIONS['720p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS.HIGH, AVAILABLE_RESOLUTIONS['1080p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS['360p'], AVAILABLE_RESOLUTIONS['360p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS['480p'], AVAILABLE_RESOLUTIONS['480p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS['720p'], AVAILABLE_RESOLUTIONS['720p']), (0, _defineProperty2.default)(_VIDEO_RESOLUTIONS, QUALITY_LEVELS['1080p'], AVAILABLE_RESOLUTIONS['1080p']), _VIDEO_RESOLUTIONS);
1134
- /**
1135
- * Max frame sizes based on h264 configs
1136
- * https://en.wikipedia.org/wiki/Advanced_Video_Coding
1084
+ /*
1085
+ * mqa Interval for sending stats metrics
1137
1086
  */
1138
1087
 
1139
1088
  exports.VIDEO_RESOLUTIONS = VIDEO_RESOLUTIONS;
1140
- var REMOTE_VIDEO_CONSTRAINTS = {
1141
- MAX_FS: (_MAX_FS = {}, (0, _defineProperty2.default)(_MAX_FS, QUALITY_LEVELS.LOW, 1620), (0, _defineProperty2.default)(_MAX_FS, QUALITY_LEVELS.MEDIUM, 3600), (0, _defineProperty2.default)(_MAX_FS, QUALITY_LEVELS.HIGH, 8192), _MAX_FS)
1142
- };
1143
- /*
1144
- * mqa Interval for sending stats metrics
1145
- */
1146
-
1147
- exports.REMOTE_VIDEO_CONSTRAINTS = REMOTE_VIDEO_CONSTRAINTS;
1148
1089
  var MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000
1149
1090
 
1150
1091
  exports.MQA_INTEVAL = MQA_INTEVAL;