@techsee/techsee-media-service 999.0.3-alpha3 → 999.0.3-alphadl01

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 (69) hide show
  1. package/lib/MediaConstants.d.ts +0 -4
  2. package/lib/MediaConstants.d.ts.map +1 -1
  3. package/lib/MediaConstants.js +1 -8
  4. package/lib/MediaConstants.js.map +1 -1
  5. package/lib/MultiParty/Contracts.d.ts +2 -3
  6. package/lib/MultiParty/Contracts.d.ts.map +1 -1
  7. package/lib/MultiParty/{MediaCapabilitiesService.d.ts → MediaCapabilitiesHelper.d.ts} +3 -3
  8. package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +1 -0
  9. package/lib/MultiParty/{MediaCapabilitiesService.js → MediaCapabilitiesHelper.js} +109 -70
  10. package/lib/MultiParty/MediaCapabilitiesHelper.js.map +1 -0
  11. package/lib/MultiParty/MultiParty.d.ts +46 -0
  12. package/lib/MultiParty/MultiParty.d.ts.map +1 -0
  13. package/lib/MultiParty/MultiParty.js +253 -0
  14. package/lib/MultiParty/MultiParty.js.map +1 -0
  15. package/lib/MultiParty/MultipartyFactory.d.ts +4 -0
  16. package/lib/MultiParty/MultipartyFactory.d.ts.map +1 -0
  17. package/lib/MultiParty/MultipartyFactory.js +21 -0
  18. package/lib/MultiParty/MultipartyFactory.js.map +1 -0
  19. package/lib/MultiParty/OpentokMultiparty.d.ts +33 -0
  20. package/lib/MultiParty/OpentokMultiparty.d.ts.map +1 -0
  21. package/lib/MultiParty/OpentokMultiparty.js +879 -0
  22. package/lib/MultiParty/OpentokMultiparty.js.map +1 -0
  23. package/lib/oldCode/event-emitter.js +1 -1
  24. package/lib/oldCode/opentok/session.js +1 -1
  25. package/lib/oldCode/opentok/stream.js +1 -1
  26. package/lib/oldCode/publisher.js +1 -1
  27. package/lib/oldCode/service.js +1 -1
  28. package/lib/oldCode/session.js +1 -1
  29. package/lib/oldCode/stream.js +1 -1
  30. package/lib/oldCode/subscriber.js +1 -1
  31. package/lib/oldCode/webrtc/helper.js +1 -1
  32. package/lib/oldCode/webrtc/session-kms.js +3 -3
  33. package/lib/oldCode/webrtc/session-loopback.js +1 -1
  34. package/lib/oldCode/webrtc/session-turn.js +3 -3
  35. package/lib/oldCode/webrtc/session-turn.v2.js +3 -3
  36. package/lib/oldCode/webrtc/stream.js +1 -1
  37. package/lib/qos/raw-qos.js +1 -1
  38. package/package.json +2 -2
  39. package/lib/MediaUtils/index.d.ts +0 -1
  40. package/lib/MediaUtils/index.d.ts.map +0 -1
  41. package/lib/MediaUtils/index.js +0 -16
  42. package/lib/MediaUtils/index.js.map +0 -1
  43. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +0 -1
  44. package/lib/MultiParty/MediaCapabilitiesService.js.map +0 -1
  45. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +0 -5
  46. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +0 -1
  47. package/lib/MultiParty/MediaCapabilitiesUtils.js +0 -305
  48. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +0 -1
  49. package/lib/MultiParty/MultiPartyService.d.ts +0 -56
  50. package/lib/MultiParty/MultiPartyService.d.ts.map +0 -1
  51. package/lib/MultiParty/MultiPartyService.js +0 -70
  52. package/lib/MultiParty/MultiPartyService.js.map +0 -1
  53. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +0 -3
  54. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +0 -1
  55. package/lib/MultiParty/MultiPartyServiceFactory.js +0 -21
  56. package/lib/MultiParty/MultiPartyServiceFactory.js.map +0 -1
  57. package/lib/MultiParty/OpentokMultiPartyService.d.ts +0 -29
  58. package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +0 -1
  59. package/lib/MultiParty/OpentokMultiPartyService.js +0 -888
  60. package/lib/MultiParty/OpentokMultiPartyService.js.map +0 -1
  61. package/lib/MultiParty/VideoLayoutType.d.ts +0 -4
  62. package/lib/MultiParty/VideoLayoutType.d.ts.map +0 -1
  63. package/lib/MultiParty/VideoLayoutType.js +0 -13
  64. package/lib/MultiParty/VideoLayoutType.js.map +0 -1
  65. package/lib/MultiParty/index.d.ts +0 -4
  66. package/lib/MultiParty/index.d.ts.map +0 -1
  67. package/lib/MultiParty/index.js +0 -61
  68. package/lib/MultiParty/index.js.map +0 -1
  69. package/lib/MultiParty/opentok.d.ts +0 -503
@@ -13,10 +13,6 @@ export declare enum CameraTypes {
13
13
  BACK = "back",
14
14
  NONE = "none"
15
15
  }
16
- export declare enum MultiPartyCameraTypes {
17
- FRONT = "front",
18
- BACK = "back"
19
- }
20
16
  export declare enum MediaServiceType {
21
17
  OPENTOK = "OPENTOK",
22
18
  TURNSERVER = "TURN_SERVER",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAClC;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;AAED,oBAAY,WAAW;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CAChB;AAED,oBAAY,qBAAqB;IAC7B,KAAK,UAAoB;IACzB,IAAI,SAAmB;CAC1B;AAED,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;CAC/B;AAED,oBAAY,iBAAiB;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,oBAAY,iBAAiB;IACzB,SAAS,cAAc;IACvB,KAAK,eAAe;CACvB;AAED,oBAAY,qBAAqB;IAC7B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;CAChC;AAED,oBAAY,oBAAoB;IAC5B,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,oBAAY,gBAAgB;IACxB,kBAAkB,2BAA2B;IAC7C,qBAAqB,0BAA0B;IAC/C,iBAAiB,+BAA+B;IAChD,iBAAiB,+BAA+B;IAChD,wBAAwB,6BAA6B;CACxD;AAED,oBAAY,4BAA4B;IAEpC,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,gCAAgC,qCAAqC;IACrE,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;CAC5D;AAED,oBAAY,2BAA2B;IACnC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CACpC;AAED,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,yCAAyC,KAAK,CAAC;AAC5D,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,qBAAqB,EAIhE,CAAC","file":"MediaConstants.d.ts","sourcesContent":["import {VideoStreamResolution} from './MediaContracts';\n\nexport enum LocalVideoSourceType {\n CAMERA = 'CAMERA',\n CAMERA_FRONT = 'CAMERA_FRONT',\n DESKTOP_SHARE = 'DESKTOP_SHARE'\n}\n\nexport enum ConstraintType {\n MIN = 'min',\n IDEAL = 'ideal'\n}\n\nexport enum CameraTypes {\n FRONT = 'front',\n BACK = 'back',\n NONE = 'none'\n}\n\nexport enum MultiPartyCameraTypes {\n FRONT = CameraTypes.FRONT,\n BACK = CameraTypes.BACK\n}\n\nexport enum MediaServiceType {\n OPENTOK = 'OPENTOK',\n TURNSERVER = 'TURN_SERVER',\n MEDIASERVER = 'MEDIA_SERVER'\n}\n\nexport enum SessionClientRole {\n AGENT = 'AGENT',\n OBSERVER = 'OBSERVER',\n USER = 'USER'\n}\n\nexport enum SessionClientType {\n INITIATOR = 'publisher',\n GUEST = 'subscriber'\n}\n\nexport enum MediaRequestErrorCode {\n Overconstrained = 'Overconstrained',\n PermissionDenied = 'PermissionDenied',\n GeneralError = 'GeneralError'\n}\n\nexport enum KnownMediaStreamKind {\n Audio = 'audio',\n Video = 'video'\n}\n\nexport enum KnownMediaStream {\n AGENT_AUDIO_STREAM = 'DASHBOARD_AUDIO_STREAM',\n OBSERVER_AUDIO_STREAM = 'OBSERVER_AUDIO_STREAM',\n USER_AUDIO_STREAM = 'MOBILE_CLIENT_AUDIO_STREAM',\n USER_VIDEO_STREAM = 'MOBILE_CLIENT_VIDEO_STREAM',\n USER_SCREEN_SHARE_STREAM = 'USER_SCREEN_SHARE_STREAM'\n}\n\nexport enum MediaSessionDisconnectReason {\n //Raised on initiator peer when guest peer was disconnected from signaling\n PeerDisconnected = 'PeerDisconnected',\n PeerConnectionInterrupted = 'PeerConnectionInterrupted',\n PeerConnectionStateChangeTimeout = 'PeerConnectionStateChangeTimeout',\n InitiatorPeerReconnected = 'InitiatorPeerReconnected',\n PublishedStreamDestroyed = 'PublishedStreamDestroyed',\n ForcedByConsumer = 'ForcedByConsumer',\n SignalingChannelDisconnect = 'SignalingChannelDisconnect'\n}\n\nexport enum MediaStreamUnregisterReason {\n NativeEvent = 'NativeEvent',\n ReplacingStream = 'ReplacingStream',\n ClosedRemotely = 'ClosedRemotely',\n ServiceCleanUp = 'ServiceCleanUp'\n}\n\nexport const DEFAULT_VIDEO_RESOLUTION = '640x480';\nexport const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexport const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexport const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\n\nexport const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution = {\n resolution: DEFAULT_VIDEO_RESOLUTION,\n constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\n\nexport const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[] = [\n {resolution: '1920x1080', constraintType: ConstraintType.MIN}, // FHD\n {resolution: '1280x720', constraintType: ConstraintType.MIN}, // HD\n DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n"]}
1
+ {"version":3,"sources":["../src/MediaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAClC;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;AAED,oBAAY,WAAW;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CAChB;AAED,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;CAC/B;AAED,oBAAY,iBAAiB;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED,oBAAY,iBAAiB;IACzB,SAAS,cAAc;IACvB,KAAK,eAAe;CACvB;AAED,oBAAY,qBAAqB;IAC7B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;CAChC;AAED,oBAAY,oBAAoB;IAC5B,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,oBAAY,gBAAgB;IACxB,kBAAkB,2BAA2B;IAC7C,qBAAqB,0BAA0B;IAC/C,iBAAiB,+BAA+B;IAChD,iBAAiB,+BAA+B;IAChD,wBAAwB,6BAA6B;CACxD;AAED,oBAAY,4BAA4B;IAEpC,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,gCAAgC,qCAAqC;IACrE,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;CAC5D;AAED,oBAAY,2BAA2B;IACnC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CACpC;AAED,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,yCAAyC,KAAK,CAAC;AAC5D,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,eAAO,MAAM,yBAAyB,EAAE,qBAGvC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,qBAAqB,EAIhE,CAAC","file":"MediaConstants.d.ts","sourcesContent":["import {VideoStreamResolution} from './MediaContracts';\n\nexport enum LocalVideoSourceType {\n CAMERA = 'CAMERA',\n CAMERA_FRONT = 'CAMERA_FRONT',\n DESKTOP_SHARE = 'DESKTOP_SHARE'\n}\n\nexport enum ConstraintType {\n MIN = 'min',\n IDEAL = 'ideal'\n}\n\nexport enum CameraTypes {\n FRONT = 'front',\n BACK = 'back',\n NONE = 'none'\n}\n\nexport enum MediaServiceType {\n OPENTOK = 'OPENTOK',\n TURNSERVER = 'TURN_SERVER',\n MEDIASERVER = 'MEDIA_SERVER'\n}\n\nexport enum SessionClientRole {\n AGENT = 'AGENT',\n OBSERVER = 'OBSERVER',\n USER = 'USER'\n}\n\nexport enum SessionClientType {\n INITIATOR = 'publisher',\n GUEST = 'subscriber'\n}\n\nexport enum MediaRequestErrorCode {\n Overconstrained = 'Overconstrained',\n PermissionDenied = 'PermissionDenied',\n GeneralError = 'GeneralError'\n}\n\nexport enum KnownMediaStreamKind {\n Audio = 'audio',\n Video = 'video'\n}\n\nexport enum KnownMediaStream {\n AGENT_AUDIO_STREAM = 'DASHBOARD_AUDIO_STREAM',\n OBSERVER_AUDIO_STREAM = 'OBSERVER_AUDIO_STREAM',\n USER_AUDIO_STREAM = 'MOBILE_CLIENT_AUDIO_STREAM',\n USER_VIDEO_STREAM = 'MOBILE_CLIENT_VIDEO_STREAM',\n USER_SCREEN_SHARE_STREAM = 'USER_SCREEN_SHARE_STREAM'\n}\n\nexport enum MediaSessionDisconnectReason {\n //Raised on initiator peer when guest peer was disconnected from signaling\n PeerDisconnected = 'PeerDisconnected',\n PeerConnectionInterrupted = 'PeerConnectionInterrupted',\n PeerConnectionStateChangeTimeout = 'PeerConnectionStateChangeTimeout',\n InitiatorPeerReconnected = 'InitiatorPeerReconnected',\n PublishedStreamDestroyed = 'PublishedStreamDestroyed',\n ForcedByConsumer = 'ForcedByConsumer',\n SignalingChannelDisconnect = 'SignalingChannelDisconnect'\n}\n\nexport enum MediaStreamUnregisterReason {\n NativeEvent = 'NativeEvent',\n ReplacingStream = 'ReplacingStream',\n ClosedRemotely = 'ClosedRemotely',\n ServiceCleanUp = 'ServiceCleanUp'\n}\n\nexport const DEFAULT_VIDEO_RESOLUTION = '640x480';\nexport const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexport const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexport const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\n\nexport const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution = {\n resolution: DEFAULT_VIDEO_RESOLUTION,\n constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\n\nexport const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[] = [\n {resolution: '1920x1080', constraintType: ConstraintType.MIN}, // FHD\n {resolution: '1280x720', constraintType: ConstraintType.MIN}, // HD\n DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.POSSIBLE_LOOPBACK_RESOLUTIONS = exports.DEFAULT_VIDEO_CONSTRAINTS = exports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = exports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = exports.DEFAULT_VIDEO_CONSTRAINT_TYPE = exports.DEFAULT_VIDEO_RESOLUTION = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.CameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;
6
+ exports.POSSIBLE_LOOPBACK_RESOLUTIONS = exports.DEFAULT_VIDEO_CONSTRAINTS = exports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = exports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = exports.DEFAULT_VIDEO_CONSTRAINT_TYPE = exports.DEFAULT_VIDEO_RESOLUTION = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.CameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;
7
7
  var LocalVideoSourceType;
8
8
 
9
9
  (function (LocalVideoSourceType) {
@@ -27,13 +27,6 @@ var CameraTypes;
27
27
  CameraTypes["NONE"] = "none";
28
28
  })(CameraTypes = exports.CameraTypes || (exports.CameraTypes = {}));
29
29
 
30
- var MultiPartyCameraTypes;
31
-
32
- (function (MultiPartyCameraTypes) {
33
- MultiPartyCameraTypes["FRONT"] = "front";
34
- MultiPartyCameraTypes["BACK"] = "back";
35
- })(MultiPartyCameraTypes = exports.MultiPartyCameraTypes || (exports.MultiPartyCameraTypes = {}));
36
-
37
30
  var MediaServiceType;
38
31
 
39
32
  (function (MediaServiceType) {
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaConstants.js","../src/MediaConstants.ts"],"names":["Object","defineProperty","exports","value","POSSIBLE_LOOPBACK_RESOLUTIONS","DEFAULT_VIDEO_CONSTRAINTS","DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS","DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS","DEFAULT_VIDEO_CONSTRAINT_TYPE","DEFAULT_VIDEO_RESOLUTION","MediaStreamUnregisterReason","MediaSessionDisconnectReason","KnownMediaStream","KnownMediaStreamKind","MediaRequestErrorCode","SessionClientType","SessionClientRole","MediaServiceType","MultiPartyCameraTypes","CameraTypes","ConstraintType","LocalVideoSourceType","IDEAL","resolution","constraintType","MIN"],"mappings":"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","file":"MediaConstants.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.POSSIBLE_LOOPBACK_RESOLUTIONS = exports.DEFAULT_VIDEO_CONSTRAINTS = exports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = exports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = exports.DEFAULT_VIDEO_CONSTRAINT_TYPE = exports.DEFAULT_VIDEO_RESOLUTION = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.CameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;\nvar LocalVideoSourceType;\n(function (LocalVideoSourceType) {\n LocalVideoSourceType[\"CAMERA\"] = \"CAMERA\";\n LocalVideoSourceType[\"CAMERA_FRONT\"] = \"CAMERA_FRONT\";\n LocalVideoSourceType[\"DESKTOP_SHARE\"] = \"DESKTOP_SHARE\";\n})(LocalVideoSourceType = exports.LocalVideoSourceType || (exports.LocalVideoSourceType = {}));\nvar ConstraintType;\n(function (ConstraintType) {\n ConstraintType[\"MIN\"] = \"min\";\n ConstraintType[\"IDEAL\"] = \"ideal\";\n})(ConstraintType = exports.ConstraintType || (exports.ConstraintType = {}));\nvar CameraTypes;\n(function (CameraTypes) {\n CameraTypes[\"FRONT\"] = \"front\";\n CameraTypes[\"BACK\"] = \"back\";\n CameraTypes[\"NONE\"] = \"none\";\n})(CameraTypes = exports.CameraTypes || (exports.CameraTypes = {}));\nvar MultiPartyCameraTypes;\n(function (MultiPartyCameraTypes) {\n MultiPartyCameraTypes[\"FRONT\"] = \"front\";\n MultiPartyCameraTypes[\"BACK\"] = \"back\";\n})(MultiPartyCameraTypes = exports.MultiPartyCameraTypes || (exports.MultiPartyCameraTypes = {}));\nvar MediaServiceType;\n(function (MediaServiceType) {\n MediaServiceType[\"OPENTOK\"] = \"OPENTOK\";\n MediaServiceType[\"TURNSERVER\"] = \"TURN_SERVER\";\n MediaServiceType[\"MEDIASERVER\"] = \"MEDIA_SERVER\";\n})(MediaServiceType = exports.MediaServiceType || (exports.MediaServiceType = {}));\nvar SessionClientRole;\n(function (SessionClientRole) {\n SessionClientRole[\"AGENT\"] = \"AGENT\";\n SessionClientRole[\"OBSERVER\"] = \"OBSERVER\";\n SessionClientRole[\"USER\"] = \"USER\";\n})(SessionClientRole = exports.SessionClientRole || (exports.SessionClientRole = {}));\nvar SessionClientType;\n(function (SessionClientType) {\n SessionClientType[\"INITIATOR\"] = \"publisher\";\n SessionClientType[\"GUEST\"] = \"subscriber\";\n})(SessionClientType = exports.SessionClientType || (exports.SessionClientType = {}));\nvar MediaRequestErrorCode;\n(function (MediaRequestErrorCode) {\n MediaRequestErrorCode[\"Overconstrained\"] = \"Overconstrained\";\n MediaRequestErrorCode[\"PermissionDenied\"] = \"PermissionDenied\";\n MediaRequestErrorCode[\"GeneralError\"] = \"GeneralError\";\n})(MediaRequestErrorCode = exports.MediaRequestErrorCode || (exports.MediaRequestErrorCode = {}));\nvar KnownMediaStreamKind;\n(function (KnownMediaStreamKind) {\n KnownMediaStreamKind[\"Audio\"] = \"audio\";\n KnownMediaStreamKind[\"Video\"] = \"video\";\n})(KnownMediaStreamKind = exports.KnownMediaStreamKind || (exports.KnownMediaStreamKind = {}));\nvar KnownMediaStream;\n(function (KnownMediaStream) {\n KnownMediaStream[\"AGENT_AUDIO_STREAM\"] = \"DASHBOARD_AUDIO_STREAM\";\n KnownMediaStream[\"OBSERVER_AUDIO_STREAM\"] = \"OBSERVER_AUDIO_STREAM\";\n KnownMediaStream[\"USER_AUDIO_STREAM\"] = \"MOBILE_CLIENT_AUDIO_STREAM\";\n KnownMediaStream[\"USER_VIDEO_STREAM\"] = \"MOBILE_CLIENT_VIDEO_STREAM\";\n KnownMediaStream[\"USER_SCREEN_SHARE_STREAM\"] = \"USER_SCREEN_SHARE_STREAM\";\n})(KnownMediaStream = exports.KnownMediaStream || (exports.KnownMediaStream = {}));\nvar MediaSessionDisconnectReason;\n(function (MediaSessionDisconnectReason) {\n //Raised on initiator peer when guest peer was disconnected from signaling\n MediaSessionDisconnectReason[\"PeerDisconnected\"] = \"PeerDisconnected\";\n MediaSessionDisconnectReason[\"PeerConnectionInterrupted\"] = \"PeerConnectionInterrupted\";\n MediaSessionDisconnectReason[\"PeerConnectionStateChangeTimeout\"] = \"PeerConnectionStateChangeTimeout\";\n MediaSessionDisconnectReason[\"InitiatorPeerReconnected\"] = \"InitiatorPeerReconnected\";\n MediaSessionDisconnectReason[\"PublishedStreamDestroyed\"] = \"PublishedStreamDestroyed\";\n MediaSessionDisconnectReason[\"ForcedByConsumer\"] = \"ForcedByConsumer\";\n MediaSessionDisconnectReason[\"SignalingChannelDisconnect\"] = \"SignalingChannelDisconnect\";\n})(MediaSessionDisconnectReason = exports.MediaSessionDisconnectReason || (exports.MediaSessionDisconnectReason = {}));\nvar MediaStreamUnregisterReason;\n(function (MediaStreamUnregisterReason) {\n MediaStreamUnregisterReason[\"NativeEvent\"] = \"NativeEvent\";\n MediaStreamUnregisterReason[\"ReplacingStream\"] = \"ReplacingStream\";\n MediaStreamUnregisterReason[\"ClosedRemotely\"] = \"ClosedRemotely\";\n MediaStreamUnregisterReason[\"ServiceCleanUp\"] = \"ServiceCleanUp\";\n})(MediaStreamUnregisterReason = exports.MediaStreamUnregisterReason || (exports.MediaStreamUnregisterReason = {}));\nexports.DEFAULT_VIDEO_RESOLUTION = '640x480';\nexports.DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\nexports.DEFAULT_VIDEO_CONSTRAINTS = {\n resolution: exports.DEFAULT_VIDEO_RESOLUTION,\n constraintType: exports.DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\nexports.POSSIBLE_LOOPBACK_RESOLUTIONS = [\n { resolution: '1920x1080', constraintType: ConstraintType.MIN },\n { resolution: '1280x720', constraintType: ConstraintType.MIN },\n exports.DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n\n//# sourceMappingURL=MediaConstants.js.map\n","import {VideoStreamResolution} from './MediaContracts';\n\nexport enum LocalVideoSourceType {\n CAMERA = 'CAMERA',\n CAMERA_FRONT = 'CAMERA_FRONT',\n DESKTOP_SHARE = 'DESKTOP_SHARE'\n}\n\nexport enum ConstraintType {\n MIN = 'min',\n IDEAL = 'ideal'\n}\n\nexport enum CameraTypes {\n FRONT = 'front',\n BACK = 'back',\n NONE = 'none'\n}\n\nexport enum MultiPartyCameraTypes {\n FRONT = CameraTypes.FRONT,\n BACK = CameraTypes.BACK\n}\n\nexport enum MediaServiceType {\n OPENTOK = 'OPENTOK',\n TURNSERVER = 'TURN_SERVER',\n MEDIASERVER = 'MEDIA_SERVER'\n}\n\nexport enum SessionClientRole {\n AGENT = 'AGENT',\n OBSERVER = 'OBSERVER',\n USER = 'USER'\n}\n\nexport enum SessionClientType {\n INITIATOR = 'publisher',\n GUEST = 'subscriber'\n}\n\nexport enum MediaRequestErrorCode {\n Overconstrained = 'Overconstrained',\n PermissionDenied = 'PermissionDenied',\n GeneralError = 'GeneralError'\n}\n\nexport enum KnownMediaStreamKind {\n Audio = 'audio',\n Video = 'video'\n}\n\nexport enum KnownMediaStream {\n AGENT_AUDIO_STREAM = 'DASHBOARD_AUDIO_STREAM',\n OBSERVER_AUDIO_STREAM = 'OBSERVER_AUDIO_STREAM',\n USER_AUDIO_STREAM = 'MOBILE_CLIENT_AUDIO_STREAM',\n USER_VIDEO_STREAM = 'MOBILE_CLIENT_VIDEO_STREAM',\n USER_SCREEN_SHARE_STREAM = 'USER_SCREEN_SHARE_STREAM'\n}\n\nexport enum MediaSessionDisconnectReason {\n //Raised on initiator peer when guest peer was disconnected from signaling\n PeerDisconnected = 'PeerDisconnected',\n PeerConnectionInterrupted = 'PeerConnectionInterrupted',\n PeerConnectionStateChangeTimeout = 'PeerConnectionStateChangeTimeout',\n InitiatorPeerReconnected = 'InitiatorPeerReconnected',\n PublishedStreamDestroyed = 'PublishedStreamDestroyed',\n ForcedByConsumer = 'ForcedByConsumer',\n SignalingChannelDisconnect = 'SignalingChannelDisconnect'\n}\n\nexport enum MediaStreamUnregisterReason {\n NativeEvent = 'NativeEvent',\n ReplacingStream = 'ReplacingStream',\n ClosedRemotely = 'ClosedRemotely',\n ServiceCleanUp = 'ServiceCleanUp'\n}\n\nexport const DEFAULT_VIDEO_RESOLUTION = '640x480';\nexport const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexport const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexport const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\n\nexport const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution = {\n resolution: DEFAULT_VIDEO_RESOLUTION,\n constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\n\nexport const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[] = [\n {resolution: '1920x1080', constraintType: ConstraintType.MIN}, // FHD\n {resolution: '1280x720', constraintType: ConstraintType.MIN}, // HD\n DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n"]}
1
+ {"version":3,"sources":["MediaConstants.js","../src/MediaConstants.ts"],"names":["Object","defineProperty","exports","value","POSSIBLE_LOOPBACK_RESOLUTIONS","DEFAULT_VIDEO_CONSTRAINTS","DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS","DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS","DEFAULT_VIDEO_CONSTRAINT_TYPE","DEFAULT_VIDEO_RESOLUTION","MediaStreamUnregisterReason","MediaSessionDisconnectReason","KnownMediaStream","KnownMediaStreamKind","MediaRequestErrorCode","SessionClientType","SessionClientRole","MediaServiceType","CameraTypes","ConstraintType","LocalVideoSourceType","IDEAL","resolution","constraintType","MIN"],"mappings":"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","file":"MediaConstants.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.POSSIBLE_LOOPBACK_RESOLUTIONS = exports.DEFAULT_VIDEO_CONSTRAINTS = exports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = exports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = exports.DEFAULT_VIDEO_CONSTRAINT_TYPE = exports.DEFAULT_VIDEO_RESOLUTION = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.CameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;\nvar LocalVideoSourceType;\n(function (LocalVideoSourceType) {\n LocalVideoSourceType[\"CAMERA\"] = \"CAMERA\";\n LocalVideoSourceType[\"CAMERA_FRONT\"] = \"CAMERA_FRONT\";\n LocalVideoSourceType[\"DESKTOP_SHARE\"] = \"DESKTOP_SHARE\";\n})(LocalVideoSourceType = exports.LocalVideoSourceType || (exports.LocalVideoSourceType = {}));\nvar ConstraintType;\n(function (ConstraintType) {\n ConstraintType[\"MIN\"] = \"min\";\n ConstraintType[\"IDEAL\"] = \"ideal\";\n})(ConstraintType = exports.ConstraintType || (exports.ConstraintType = {}));\nvar CameraTypes;\n(function (CameraTypes) {\n CameraTypes[\"FRONT\"] = \"front\";\n CameraTypes[\"BACK\"] = \"back\";\n CameraTypes[\"NONE\"] = \"none\";\n})(CameraTypes = exports.CameraTypes || (exports.CameraTypes = {}));\nvar MediaServiceType;\n(function (MediaServiceType) {\n MediaServiceType[\"OPENTOK\"] = \"OPENTOK\";\n MediaServiceType[\"TURNSERVER\"] = \"TURN_SERVER\";\n MediaServiceType[\"MEDIASERVER\"] = \"MEDIA_SERVER\";\n})(MediaServiceType = exports.MediaServiceType || (exports.MediaServiceType = {}));\nvar SessionClientRole;\n(function (SessionClientRole) {\n SessionClientRole[\"AGENT\"] = \"AGENT\";\n SessionClientRole[\"OBSERVER\"] = \"OBSERVER\";\n SessionClientRole[\"USER\"] = \"USER\";\n})(SessionClientRole = exports.SessionClientRole || (exports.SessionClientRole = {}));\nvar SessionClientType;\n(function (SessionClientType) {\n SessionClientType[\"INITIATOR\"] = \"publisher\";\n SessionClientType[\"GUEST\"] = \"subscriber\";\n})(SessionClientType = exports.SessionClientType || (exports.SessionClientType = {}));\nvar MediaRequestErrorCode;\n(function (MediaRequestErrorCode) {\n MediaRequestErrorCode[\"Overconstrained\"] = \"Overconstrained\";\n MediaRequestErrorCode[\"PermissionDenied\"] = \"PermissionDenied\";\n MediaRequestErrorCode[\"GeneralError\"] = \"GeneralError\";\n})(MediaRequestErrorCode = exports.MediaRequestErrorCode || (exports.MediaRequestErrorCode = {}));\nvar KnownMediaStreamKind;\n(function (KnownMediaStreamKind) {\n KnownMediaStreamKind[\"Audio\"] = \"audio\";\n KnownMediaStreamKind[\"Video\"] = \"video\";\n})(KnownMediaStreamKind = exports.KnownMediaStreamKind || (exports.KnownMediaStreamKind = {}));\nvar KnownMediaStream;\n(function (KnownMediaStream) {\n KnownMediaStream[\"AGENT_AUDIO_STREAM\"] = \"DASHBOARD_AUDIO_STREAM\";\n KnownMediaStream[\"OBSERVER_AUDIO_STREAM\"] = \"OBSERVER_AUDIO_STREAM\";\n KnownMediaStream[\"USER_AUDIO_STREAM\"] = \"MOBILE_CLIENT_AUDIO_STREAM\";\n KnownMediaStream[\"USER_VIDEO_STREAM\"] = \"MOBILE_CLIENT_VIDEO_STREAM\";\n KnownMediaStream[\"USER_SCREEN_SHARE_STREAM\"] = \"USER_SCREEN_SHARE_STREAM\";\n})(KnownMediaStream = exports.KnownMediaStream || (exports.KnownMediaStream = {}));\nvar MediaSessionDisconnectReason;\n(function (MediaSessionDisconnectReason) {\n //Raised on initiator peer when guest peer was disconnected from signaling\n MediaSessionDisconnectReason[\"PeerDisconnected\"] = \"PeerDisconnected\";\n MediaSessionDisconnectReason[\"PeerConnectionInterrupted\"] = \"PeerConnectionInterrupted\";\n MediaSessionDisconnectReason[\"PeerConnectionStateChangeTimeout\"] = \"PeerConnectionStateChangeTimeout\";\n MediaSessionDisconnectReason[\"InitiatorPeerReconnected\"] = \"InitiatorPeerReconnected\";\n MediaSessionDisconnectReason[\"PublishedStreamDestroyed\"] = \"PublishedStreamDestroyed\";\n MediaSessionDisconnectReason[\"ForcedByConsumer\"] = \"ForcedByConsumer\";\n MediaSessionDisconnectReason[\"SignalingChannelDisconnect\"] = \"SignalingChannelDisconnect\";\n})(MediaSessionDisconnectReason = exports.MediaSessionDisconnectReason || (exports.MediaSessionDisconnectReason = {}));\nvar MediaStreamUnregisterReason;\n(function (MediaStreamUnregisterReason) {\n MediaStreamUnregisterReason[\"NativeEvent\"] = \"NativeEvent\";\n MediaStreamUnregisterReason[\"ReplacingStream\"] = \"ReplacingStream\";\n MediaStreamUnregisterReason[\"ClosedRemotely\"] = \"ClosedRemotely\";\n MediaStreamUnregisterReason[\"ServiceCleanUp\"] = \"ServiceCleanUp\";\n})(MediaStreamUnregisterReason = exports.MediaStreamUnregisterReason || (exports.MediaStreamUnregisterReason = {}));\nexports.DEFAULT_VIDEO_RESOLUTION = '640x480';\nexports.DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexports.DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexports.DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\nexports.DEFAULT_VIDEO_CONSTRAINTS = {\n resolution: exports.DEFAULT_VIDEO_RESOLUTION,\n constraintType: exports.DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\nexports.POSSIBLE_LOOPBACK_RESOLUTIONS = [\n { resolution: '1920x1080', constraintType: ConstraintType.MIN },\n { resolution: '1280x720', constraintType: ConstraintType.MIN },\n exports.DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n\n//# sourceMappingURL=MediaConstants.js.map\n","import {VideoStreamResolution} from './MediaContracts';\n\nexport enum LocalVideoSourceType {\n CAMERA = 'CAMERA',\n CAMERA_FRONT = 'CAMERA_FRONT',\n DESKTOP_SHARE = 'DESKTOP_SHARE'\n}\n\nexport enum ConstraintType {\n MIN = 'min',\n IDEAL = 'ideal'\n}\n\nexport enum CameraTypes {\n FRONT = 'front',\n BACK = 'back',\n NONE = 'none'\n}\n\nexport enum MediaServiceType {\n OPENTOK = 'OPENTOK',\n TURNSERVER = 'TURN_SERVER',\n MEDIASERVER = 'MEDIA_SERVER'\n}\n\nexport enum SessionClientRole {\n AGENT = 'AGENT',\n OBSERVER = 'OBSERVER',\n USER = 'USER'\n}\n\nexport enum SessionClientType {\n INITIATOR = 'publisher',\n GUEST = 'subscriber'\n}\n\nexport enum MediaRequestErrorCode {\n Overconstrained = 'Overconstrained',\n PermissionDenied = 'PermissionDenied',\n GeneralError = 'GeneralError'\n}\n\nexport enum KnownMediaStreamKind {\n Audio = 'audio',\n Video = 'video'\n}\n\nexport enum KnownMediaStream {\n AGENT_AUDIO_STREAM = 'DASHBOARD_AUDIO_STREAM',\n OBSERVER_AUDIO_STREAM = 'OBSERVER_AUDIO_STREAM',\n USER_AUDIO_STREAM = 'MOBILE_CLIENT_AUDIO_STREAM',\n USER_VIDEO_STREAM = 'MOBILE_CLIENT_VIDEO_STREAM',\n USER_SCREEN_SHARE_STREAM = 'USER_SCREEN_SHARE_STREAM'\n}\n\nexport enum MediaSessionDisconnectReason {\n //Raised on initiator peer when guest peer was disconnected from signaling\n PeerDisconnected = 'PeerDisconnected',\n PeerConnectionInterrupted = 'PeerConnectionInterrupted',\n PeerConnectionStateChangeTimeout = 'PeerConnectionStateChangeTimeout',\n InitiatorPeerReconnected = 'InitiatorPeerReconnected',\n PublishedStreamDestroyed = 'PublishedStreamDestroyed',\n ForcedByConsumer = 'ForcedByConsumer',\n SignalingChannelDisconnect = 'SignalingChannelDisconnect'\n}\n\nexport enum MediaStreamUnregisterReason {\n NativeEvent = 'NativeEvent',\n ReplacingStream = 'ReplacingStream',\n ClosedRemotely = 'ClosedRemotely',\n ServiceCleanUp = 'ServiceCleanUp'\n}\n\nexport const DEFAULT_VIDEO_RESOLUTION = '640x480';\nexport const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;\nexport const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;\nexport const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;\n\nexport const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution = {\n resolution: DEFAULT_VIDEO_RESOLUTION,\n constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE\n};\n\nexport const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[] = [\n {resolution: '1920x1080', constraintType: ConstraintType.MIN}, // FHD\n {resolution: '1280x720', constraintType: ConstraintType.MIN}, // HD\n DEFAULT_VIDEO_CONSTRAINTS // fallback\n];\n"]}
@@ -1,4 +1,4 @@
1
- import { MultiPartyCameraTypes, MediaServiceType } from '../MediaConstants';
1
+ import { CameraTypes, MediaServiceType } from '../MediaConstants';
2
2
  export declare type Credentials = {
3
3
  apiKey: string;
4
4
  sessionId: string;
@@ -8,8 +8,7 @@ export declare type BrandingSettings = {
8
8
  backgroundImageURI?: string;
9
9
  };
10
10
  export declare type SessionSettings = {
11
- selectedCamera: MultiPartyCameraTypes;
12
- cameraEnabled: boolean;
11
+ defaultCamera: CameraTypes;
13
12
  startWithAudioMuted: boolean;
14
13
  mediaServiceType: MediaServiceType;
15
14
  branding?: BrandingSettings;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/Contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,OAAO,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAC9B,CAAA","file":"Contracts.d.ts","sourcesContent":["import {MultiPartyCameraTypes, MediaServiceType} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string,\n sessionId: string,\n token: string\n}\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type SessionSettings = {\n selectedCamera: MultiPartyCameraTypes,\n cameraEnabled: boolean\n startWithAudioMuted: boolean,\n mediaServiceType: MediaServiceType,\n branding?: BrandingSettings\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/Contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEhE,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,aAAa,EAAE,WAAW,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAA","file":"Contracts.d.ts","sourcesContent":["import {CameraTypes, MediaServiceType} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string,\n sessionId: string,\n token: string\n}\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type SessionSettings = {\n defaultCamera: CameraTypes,\n startWithAudioMuted: boolean,\n mediaServiceType: MediaServiceType,\n branding?: BrandingSettings,\n}\n"]}
@@ -1,7 +1,7 @@
1
- export declare class MediaCapabilitiesService {
1
+ export declare class MediaCapabilitiesHelper {
2
2
  private static detectWebRtcService;
3
3
  private static webRtcSupportInfo;
4
- private static instance;
4
+ private static mediaCapabilitiesHelper;
5
5
  private static devicesList;
6
6
  private static groupedDevices;
7
7
  private static _supportSwitchCamera;
@@ -9,7 +9,7 @@ export declare class MediaCapabilitiesService {
9
9
  private static _frontCameraDeviceId;
10
10
  private static _initPromise;
11
11
  private environmentService;
12
- static getInstance(): Promise<MediaCapabilitiesService>;
12
+ static getInstance(): Promise<MediaCapabilitiesHelper>;
13
13
  private static init;
14
14
  hasCamera(): boolean;
15
15
  hasMicrophone(): boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesHelper.ts"],"names":[],"mappings":"AA6BA,qBAAa,uBAAuB;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA+B;IAC/D,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAA0B;IAChE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAyD;IACnF,OAAO,CAAC,MAAM,CAAC,cAAc,CAA8C;IAC3E,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAS;IAC3C,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAS;IAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAmC;IAE9D,OAAO,CAAC,kBAAkB,CAA6B;WAEnC,WAAW,IAAI,OAAO,CAAC,uBAAuB,CAAC;mBAoB9C,IAAI;IAkBlB,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAMxB,SAAS,IAAI,OAAO;IAIpB,wBAAwB,IAAI,OAAO;mBAIrB,iBAAiB;WAalB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnD,IAAW,mBAAmB,YAE7B;IAED,IAAW,kBAAkB,WAE5B;IAED,IAAW,mBAAmB,WAE7B;CACJ","file":"MediaCapabilitiesHelper.d.ts","sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-var-requires\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {DETECT_RTC_ADVISED_TIMEOUT, DetectWebRtcService} from './DetectWebRtcService';\nimport {ClientWebRtcInfo} from '../MediaContracts';\nimport filter from 'lodash/filter';\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {CameraTypes} from '../MediaConstants';\nimport last from 'lodash/last';\nimport first from 'lodash/first';\nimport get from 'lodash/get';\nimport {Nullable} from '@techsee/techsee-common';\n\nconst trace = getMediaTracer('MediaCapabilitiesHelper');\n\nfunction enumerateMediaDevices(): Promise<MediaDeviceInfo[]> {\n return new Promise((resolve, reject) => {\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n return navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n\n return resolve([]);\n });\n}\n\ntype GroupedDevices = {\n video: Nullable<{ back?: MediaDeviceInfo; front?: MediaDeviceInfo }>;\n audio: Nullable<MediaDeviceInfo>;\n}\n\nexport class MediaCapabilitiesHelper {\n private static detectWebRtcService: DetectWebRtcService;\n private static webRtcSupportInfo: ClientWebRtcInfo | undefined;\n private static mediaCapabilitiesHelper: MediaCapabilitiesHelper;\n private static devicesList: { video: MediaDeviceInfo[]; audio: MediaDeviceInfo[] };\n private static groupedDevices: GroupedDevices = {video: null, audio: null};\n private static _supportSwitchCamera: boolean;\n private static _backCameraDeviceId: string;\n private static _frontCameraDeviceId: string;\n private static _initPromise: Promise<MediaCapabilitiesHelper>;\n\n private environmentService = new TsEnvironmentDetect();\n\n public static async getInstance(): Promise<MediaCapabilitiesHelper> {\n try {\n if (this.mediaCapabilitiesHelper) {\n return await (this.mediaCapabilitiesHelper);\n }\n\n if (this._initPromise) {\n return this._initPromise;\n }\n\n this._initPromise = this.init();\n\n return this._initPromise;\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n private static async init(): Promise<MediaCapabilitiesHelper> {\n try {\n this.mediaCapabilitiesHelper = await new MediaCapabilitiesHelper();\n\n this.detectWebRtcService = await new DetectWebRtcService(DETECT_RTC_ADVISED_TIMEOUT);\n this.webRtcSupportInfo = await this.detectWebRtcService.getWebRtcInfo();\n await this.setDevicesList();\n\n trace.info('initialize media capabilities helper successfully');\n\n return this.mediaCapabilitiesHelper;\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n throw err;\n }\n }\n\n public hasCamera(): boolean {\n return MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasMicrophone(): boolean {\n return this.environmentService.isIOS()\n ? this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();\n }\n\n public hasWebRTC(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isWebRTCSupported;\n }\n\n public hasGetUserMediaSupported(): boolean {\n return MediaCapabilitiesHelper.webRtcSupportInfo!.isGetUserMediaSupported;\n }\n\n private static async setGroupedDevices() {\n trace.info('setGroupedDevices', this.devicesList);\n this.groupedDevices = {\n video: this.devicesList.video\n ? {[CameraTypes.BACK]: last(this.devicesList.video), [CameraTypes.FRONT]: first(this.devicesList.video)}\n : null,\n audio: last(this.devicesList.audio) || null\n };\n this._supportSwitchCamera = this.devicesList.video.length > 1;\n this._backCameraDeviceId = get(this.groupedDevices, `video.${CameraTypes.BACK}.deviceId`) || '';\n this._frontCameraDeviceId = get(this.groupedDevices, `video.${CameraTypes.FRONT}.deviceId`) || '';\n }\n\n public static async setDevicesList(): Promise<void> {\n const localDevicesList = this.webRtcSupportInfo!.isWebRTCSupported ? await enumerateMediaDevices() : [];\n\n this.devicesList = {\n video: filter(localDevicesList, (device) => device.kind.toLowerCase() === 'videoinput'),\n audio: filter(localDevicesList, (device) => device.kind.toLowerCase() === 'audioinput')\n };\n\n await this.setGroupedDevices();\n }\n\n public get supportSwitchCamera() {\n return MediaCapabilitiesHelper._supportSwitchCamera;\n }\n\n public get backCameraDeviceId() {\n return MediaCapabilitiesHelper._backCameraDeviceId;\n }\n\n public get frontCameraDeviceId() {\n return MediaCapabilitiesHelper._frontCameraDeviceId;\n }\n}\n"]}
@@ -152,7 +152,7 @@ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
152
152
  Object.defineProperty(exports, "__esModule", {
153
153
  value: true
154
154
  });
155
- exports.MediaCapabilitiesService = void 0; // eslint-disable-next-line @typescript-eslint/no-var-requires
155
+ exports.MediaCapabilitiesHelper = void 0; // eslint-disable-next-line @typescript-eslint/no-var-requires
156
156
 
157
157
  var MediaTracer_1 = require("../MediaUtils/MediaTracer");
158
158
 
@@ -170,7 +170,7 @@ var first_1 = __importDefault(require("lodash/first"));
170
170
 
171
171
  var get_1 = __importDefault(require("lodash/get"));
172
172
 
173
- var trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesService');
173
+ var trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesHelper');
174
174
 
175
175
  function enumerateMediaDevices() {
176
176
  return new Promise(function (resolve, reject) {
@@ -182,81 +182,107 @@ function enumerateMediaDevices() {
182
182
  });
183
183
  }
184
184
 
185
- var MediaCapabilitiesService =
185
+ var MediaCapabilitiesHelper =
186
186
  /** @class */
187
187
  function () {
188
- function MediaCapabilitiesService() {
188
+ function MediaCapabilitiesHelper() {
189
189
  this.environmentService = new ts_environment_detect_1.TsEnvironmentDetect();
190
190
  }
191
191
 
192
- MediaCapabilitiesService.getInstance = function () {
192
+ MediaCapabilitiesHelper.getInstance = function () {
193
193
  return __awaiter(this, void 0, void 0, function () {
194
+ var err_1;
194
195
  return __generator(this, function (_a) {
195
- try {
196
- if (this.instance) {
196
+ switch (_a.label) {
197
+ case 0:
198
+ _a.trys.push([0, 3,, 4]);
199
+
200
+ if (!this.mediaCapabilitiesHelper) return [3
201
+ /*break*/
202
+ , 2];
203
+ return [4
204
+ /*yield*/
205
+ , this.mediaCapabilitiesHelper];
206
+
207
+ case 1:
197
208
  return [2
198
209
  /*return*/
199
- , this.instance];
200
- }
210
+ , _a.sent()];
201
211
 
202
- if (this._initPromise) {
212
+ case 2:
213
+ if (this._initPromise) {
214
+ return [2
215
+ /*return*/
216
+ , this._initPromise];
217
+ }
218
+
219
+ this._initPromise = this.init();
203
220
  return [2
204
221
  /*return*/
205
222
  , this._initPromise];
206
- }
207
-
208
- this._initPromise = this.init();
209
- return [2
210
- /*return*/
211
- , this._initPromise];
212
- } catch (err) {
213
- trace.error(JSON.stringify(err));
214
- throw err;
215
- }
216
223
 
217
- return [2
218
- /*return*/
219
- ];
224
+ case 3:
225
+ err_1 = _a.sent();
226
+ trace.error(JSON.stringify(err_1));
227
+ throw err_1;
228
+
229
+ case 4:
230
+ return [2
231
+ /*return*/
232
+ ];
233
+ }
220
234
  });
221
235
  });
222
236
  };
223
237
 
224
- MediaCapabilitiesService.init = function () {
238
+ MediaCapabilitiesHelper.init = function () {
225
239
  return __awaiter(this, void 0, void 0, function () {
226
- var _a, err_1;
240
+ var _a, _b, _c, err_2;
227
241
 
228
- return __generator(this, function (_b) {
229
- switch (_b.label) {
242
+ return __generator(this, function (_d) {
243
+ switch (_d.label) {
230
244
  case 0:
231
- _b.trys.push([0, 3,, 4]);
245
+ _d.trys.push([0, 5,, 6]);
232
246
 
233
- this.instance = new MediaCapabilitiesService();
234
- this.detectWebRtcService = new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT);
235
247
  _a = this;
236
248
  return [4
237
249
  /*yield*/
238
- , this.detectWebRtcService.getWebRtcInfo()];
250
+ , new MediaCapabilitiesHelper()];
239
251
 
240
252
  case 1:
241
- _a.webRtcSupportInfo = _b.sent();
253
+ _a.mediaCapabilitiesHelper = _d.sent();
254
+ _b = this;
242
255
  return [4
243
256
  /*yield*/
244
- , this.setDevicesList()];
257
+ , new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];
245
258
 
246
259
  case 2:
247
- _b.sent();
260
+ _b.detectWebRtcService = _d.sent();
261
+ _c = this;
262
+ return [4
263
+ /*yield*/
264
+ , this.detectWebRtcService.getWebRtcInfo()];
265
+
266
+ case 3:
267
+ _c.webRtcSupportInfo = _d.sent();
268
+ return [4
269
+ /*yield*/
270
+ , this.setDevicesList()];
271
+
272
+ case 4:
273
+ _d.sent();
248
274
 
249
275
  trace.info('initialize media capabilities helper successfully');
250
276
  return [2
251
277
  /*return*/
252
- , this.instance];
278
+ , this.mediaCapabilitiesHelper];
253
279
 
254
- case 3:
255
- err_1 = _b.sent();
256
- trace.error(JSON.stringify(err_1));
257
- throw err_1;
280
+ case 5:
281
+ err_2 = _d.sent();
282
+ trace.error(JSON.stringify(err_2));
283
+ throw err_2;
258
284
 
259
- case 4:
285
+ case 6:
260
286
  return [2
261
287
  /*return*/
262
288
  ];
@@ -265,36 +291,43 @@ function () {
265
291
  });
266
292
  };
267
293
 
268
- MediaCapabilitiesService.prototype.hasCamera = function () {
269
- return MediaCapabilitiesService.devicesList.video.length > 0 && this.hasGetUserMediaSupported();
294
+ MediaCapabilitiesHelper.prototype.hasCamera = function () {
295
+ return MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();
270
296
  };
271
297
 
272
- MediaCapabilitiesService.prototype.hasMicrophone = function () {
273
- return this.environmentService.isIOS() ? this.hasGetUserMediaSupported() : MediaCapabilitiesService.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();
298
+ MediaCapabilitiesHelper.prototype.hasMicrophone = function () {
299
+ return this.environmentService.isIOS() ? this.hasGetUserMediaSupported() : MediaCapabilitiesHelper.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();
274
300
  };
275
301
 
276
- MediaCapabilitiesService.prototype.hasWebRTC = function () {
277
- return MediaCapabilitiesService.webRtcSupportInfo.isWebRTCSupported;
302
+ MediaCapabilitiesHelper.prototype.hasWebRTC = function () {
303
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isWebRTCSupported;
278
304
  };
279
305
 
280
- MediaCapabilitiesService.prototype.hasGetUserMediaSupported = function () {
281
- return MediaCapabilitiesService.webRtcSupportInfo.isGetUserMediaSupported;
306
+ MediaCapabilitiesHelper.prototype.hasGetUserMediaSupported = function () {
307
+ return MediaCapabilitiesHelper.webRtcSupportInfo.isGetUserMediaSupported;
282
308
  };
283
309
 
284
- MediaCapabilitiesService.setGroupedDevices = function () {
285
- var _a;
310
+ MediaCapabilitiesHelper.setGroupedDevices = function () {
311
+ return __awaiter(this, void 0, void 0, function () {
312
+ var _a;
286
313
 
287
- trace.info('setGroupedDevices', this.devicesList);
288
- this.groupedDevices = {
289
- video: this.devicesList.video ? (_a = {}, _a[MediaConstants_1.CameraTypes.BACK] = last_1["default"](this.devicesList.video), _a[MediaConstants_1.CameraTypes.FRONT] = first_1["default"](this.devicesList.video), _a) : null,
290
- audio: last_1["default"](this.devicesList.audio) || null
291
- };
292
- this._supportSwitchCamera = this.devicesList.video.length > 1;
293
- this._backCameraDeviceId = get_1["default"](this.groupedDevices, "video." + MediaConstants_1.CameraTypes.BACK + ".deviceId") || '';
294
- this._frontCameraDeviceId = get_1["default"](this.groupedDevices, "video." + MediaConstants_1.CameraTypes.FRONT + ".deviceId") || '';
314
+ return __generator(this, function (_b) {
315
+ trace.info('setGroupedDevices', this.devicesList);
316
+ this.groupedDevices = {
317
+ video: this.devicesList.video ? (_a = {}, _a[MediaConstants_1.CameraTypes.BACK] = last_1["default"](this.devicesList.video), _a[MediaConstants_1.CameraTypes.FRONT] = first_1["default"](this.devicesList.video), _a) : null,
318
+ audio: last_1["default"](this.devicesList.audio) || null
319
+ };
320
+ this._supportSwitchCamera = this.devicesList.video.length > 1;
321
+ this._backCameraDeviceId = get_1["default"](this.groupedDevices, "video." + MediaConstants_1.CameraTypes.BACK + ".deviceId") || '';
322
+ this._frontCameraDeviceId = get_1["default"](this.groupedDevices, "video." + MediaConstants_1.CameraTypes.FRONT + ".deviceId") || '';
323
+ return [2
324
+ /*return*/
325
+ ];
326
+ });
327
+ });
295
328
  };
296
329
 
297
- MediaCapabilitiesService.setDevicesList = function () {
330
+ MediaCapabilitiesHelper.setDevicesList = function () {
298
331
  return __awaiter(this, void 0, void 0, function () {
299
332
  var localDevicesList, _a;
300
333
 
@@ -328,7 +361,13 @@ function () {
328
361
  return device.kind.toLowerCase() === 'audioinput';
329
362
  })
330
363
  };
331
- this.setGroupedDevices();
364
+ return [4
365
+ /*yield*/
366
+ , this.setGroupedDevices()];
367
+
368
+ case 4:
369
+ _b.sent();
370
+
332
371
  return [2
333
372
  /*return*/
334
373
  ];
@@ -337,33 +376,33 @@ function () {
337
376
  });
338
377
  };
339
378
 
340
- Object.defineProperty(MediaCapabilitiesService.prototype, "supportSwitchCamera", {
379
+ Object.defineProperty(MediaCapabilitiesHelper.prototype, "supportSwitchCamera", {
341
380
  get: function get() {
342
- return MediaCapabilitiesService._supportSwitchCamera;
381
+ return MediaCapabilitiesHelper._supportSwitchCamera;
343
382
  },
344
383
  enumerable: false,
345
384
  configurable: true
346
385
  });
347
- Object.defineProperty(MediaCapabilitiesService.prototype, "backCameraDeviceId", {
386
+ Object.defineProperty(MediaCapabilitiesHelper.prototype, "backCameraDeviceId", {
348
387
  get: function get() {
349
- return MediaCapabilitiesService._backCameraDeviceId;
388
+ return MediaCapabilitiesHelper._backCameraDeviceId;
350
389
  },
351
390
  enumerable: false,
352
391
  configurable: true
353
392
  });
354
- Object.defineProperty(MediaCapabilitiesService.prototype, "frontCameraDeviceId", {
393
+ Object.defineProperty(MediaCapabilitiesHelper.prototype, "frontCameraDeviceId", {
355
394
  get: function get() {
356
- return MediaCapabilitiesService._frontCameraDeviceId;
395
+ return MediaCapabilitiesHelper._frontCameraDeviceId;
357
396
  },
358
397
  enumerable: false,
359
398
  configurable: true
360
399
  });
361
- MediaCapabilitiesService.groupedDevices = {
400
+ MediaCapabilitiesHelper.groupedDevices = {
362
401
  video: null,
363
402
  audio: null
364
403
  };
365
- return MediaCapabilitiesService;
404
+ return MediaCapabilitiesHelper;
366
405
  }();
367
406
 
368
- exports.MediaCapabilitiesService = MediaCapabilitiesService;
369
- //# sourceMappingURL=MediaCapabilitiesService.js.map
407
+ exports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;
408
+ //# sourceMappingURL=MediaCapabilitiesHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MultiParty/MediaCapabilitiesHelper.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__importDefault","mod","__esModule","Object","defineProperty","exports","MediaCapabilitiesHelper","MediaTracer_1","require","DetectWebRtcService_1","filter_1","ts_environment_detect_1","MediaConstants_1","last_1","first_1","get_1","trace","getMediaTracer","enumerateMediaDevices","navigator","mediaDevices","enumerateDevices","environmentService","TsEnvironmentDetect","getInstance","err_1","_a","mediaCapabilitiesHelper","_initPromise","init","error","JSON","stringify","_b","_c","err_2","_d","DetectWebRtcService","DETECT_RTC_ADVISED_TIMEOUT","detectWebRtcService","getWebRtcInfo","webRtcSupportInfo","setDevicesList","info","prototype","hasCamera","devicesList","video","hasGetUserMediaSupported","hasMicrophone","isIOS","audio","hasWebRTC","isWebRTCSupported","isGetUserMediaSupported","setGroupedDevices","groupedDevices","CameraTypes","BACK","FRONT","_supportSwitchCamera","_backCameraDeviceId","_frontCameraDeviceId","localDevicesList","device","kind","toLowerCase","get","enumerable","configurable"],"mappings":"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","file":"MediaCapabilitiesHelper.js","sourcesContent":["\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediaCapabilitiesHelper = void 0;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar DetectWebRtcService_1 = require(\"./DetectWebRtcService\");\nvar filter_1 = __importDefault(require(\"lodash/filter\"));\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar last_1 = __importDefault(require(\"lodash/last\"));\nvar first_1 = __importDefault(require(\"lodash/first\"));\nvar get_1 = __importDefault(require(\"lodash/get\"));\nvar trace = MediaTracer_1.getMediaTracer('MediaCapabilitiesHelper');\nfunction enumerateMediaDevices() {\n return new Promise(function (resolve, reject) {\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n return navigator.mediaDevices.enumerateDevices().then(resolve).catch(reject);\n }\n return resolve([]);\n });\n}\nvar MediaCapabilitiesHelper = /** @class */ (function () {\n function MediaCapabilitiesHelper() {\n this.environmentService = new ts_environment_detect_1.TsEnvironmentDetect();\n }\n MediaCapabilitiesHelper.getInstance = function () {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (!this.mediaCapabilitiesHelper) return [3 /*break*/, 2];\n return [4 /*yield*/, (this.mediaCapabilitiesHelper)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n if (this._initPromise) {\n return [2 /*return*/, this._initPromise];\n }\n this._initPromise = this.init();\n return [2 /*return*/, this._initPromise];\n case 3:\n err_1 = _a.sent();\n trace.error(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, _c, err_2;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 5, , 6]);\n _a = this;\n return [4 /*yield*/, new MediaCapabilitiesHelper()];\n case 1:\n _a.mediaCapabilitiesHelper = _d.sent();\n _b = this;\n return [4 /*yield*/, new DetectWebRtcService_1.DetectWebRtcService(DetectWebRtcService_1.DETECT_RTC_ADVISED_TIMEOUT)];\n case 2:\n _b.detectWebRtcService = _d.sent();\n _c = this;\n return [4 /*yield*/, this.detectWebRtcService.getWebRtcInfo()];\n case 3:\n _c.webRtcSupportInfo = _d.sent();\n return [4 /*yield*/, this.setDevicesList()];\n case 4:\n _d.sent();\n trace.info('initialize media capabilities helper successfully');\n return [2 /*return*/, this.mediaCapabilitiesHelper];\n case 5:\n err_2 = _d.sent();\n trace.error(JSON.stringify(err_2));\n throw err_2;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n MediaCapabilitiesHelper.prototype.hasCamera = function () {\n return MediaCapabilitiesHelper.devicesList.video.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasMicrophone = function () {\n return this.environmentService.isIOS()\n ? this.hasGetUserMediaSupported()\n : MediaCapabilitiesHelper.devicesList.audio.length > 0 && this.hasGetUserMediaSupported();\n };\n MediaCapabilitiesHelper.prototype.hasWebRTC = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isWebRTCSupported;\n };\n MediaCapabilitiesHelper.prototype.hasGetUserMediaSupported = function () {\n return MediaCapabilitiesHelper.webRtcSupportInfo.isGetUserMediaSupported;\n };\n MediaCapabilitiesHelper.setGroupedDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n trace.info('setGroupedDevices', this.devicesList);\n this.groupedDevices = {\n video: this.devicesList.video\n ? (_a = {}, _a[MediaConstants_1.CameraTypes.BACK] = last_1.default(this.devicesList.video), _a[MediaConstants_1.CameraTypes.FRONT] = first_1.default(this.devicesList.video), _a) : null,\n audio: last_1.default(this.devicesList.audio) || null\n };\n this._supportSwitchCamera = this.devicesList.video.length > 1;\n this._backCameraDeviceId = get_1.default(this.groupedDevices, \"video.\" + MediaConstants_1.CameraTypes.BACK + \".deviceId\") || '';\n this._frontCameraDeviceId = get_1.default(this.groupedDevices, \"video.\" + MediaConstants_1.CameraTypes.FRONT + \".deviceId\") || '';\n return [2 /*return*/];\n });\n });\n };\n MediaCapabilitiesHelper.setDevicesList = function () {\n return __awaiter(this, void 0, void 0, function () {\n var localDevicesList, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.webRtcSupportInfo.isWebRTCSupported) return [3 /*break*/, 2];\n return [4 /*yield*/, enumerateMediaDevices()];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = [];\n _b.label = 3;\n case 3:\n localDevicesList = _a;\n this.devicesList = {\n video: filter_1.default(localDevicesList, function (device) { return device.kind.toLowerCase() === 'videoinput'; }),\n audio: filter_1.default(localDevicesList, function (device) { return device.kind.toLowerCase() === 'audioinput'; })\n };\n return [4 /*yield*/, this.setGroupedDevices()];\n case 4:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"supportSwitchCamera\", {\n get: function () {\n return MediaCapabilitiesHelper._supportSwitchCamera;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"backCameraDeviceId\", {\n get: function () {\n return MediaCapabilitiesHelper._backCameraDeviceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MediaCapabilitiesHelper.prototype, \"frontCameraDeviceId\", {\n get: function () {\n return MediaCapabilitiesHelper._frontCameraDeviceId;\n },\n enumerable: false,\n configurable: true\n });\n MediaCapabilitiesHelper.groupedDevices = { video: null, audio: null };\n return MediaCapabilitiesHelper;\n}());\nexports.MediaCapabilitiesHelper = MediaCapabilitiesHelper;\n\n//# sourceMappingURL=MediaCapabilitiesHelper.js.map\n"]}
@@ -0,0 +1,46 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { SessionSettings } from './Contracts';
4
+ import { SessionClientRole } from '../MediaConstants';
5
+ export declare const DEFAULT_AVATAR_URI = "data:image/png;base64,PHN2ZyB3aWR0aD0iMjYzIiBoZWlnaHQ9IjMzMCIgdmlld0JveD0iMCAwIDI2MyAzMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNjIuOTE5IiBoZWlnaHQ9IjMyOS45OSIgZmlsbD0iIzcwNkU2QiIvPgo8Y2lyY2xlIGN4PSIxMzEiIGN5PSIxNjUiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNDAuNjYzIDE2Ny4xOTVDMTQyLjg0MiAxNjcuNDQ2IDE0NC43NCAxNjguNDgzIDE0Ni4wOTkgMTcwLjAxTDE0Ni4xMDcgMTcwLjAxOEMxNDcuNDQgMTcxLjQ3NyAxNDguMjU3IDE3My40MjcgMTQ4LjI1NyAxNzUuNTY4QzE0OC4yNTcgMTc1LjYyNSAxNDguMjU3IDE3NS42ODEgMTQ4LjI1NiAxNzUuNzM3TDE0OC4yNTYgMTc1LjcyOVYxNzcuNjExQzE0OC4yNTYgMTc3LjYxIDE0OC4yNTYgMTc3LjYxMiAxNDguMjU2IDE3Ny42MTFDMTQ4LjI1NiAxODAuMTE0IDE0Ni4yNjIgMTgyLjE1MyAxNDMuNzc2IDE4Mi4yMjNIMTE4LjI5M0MxMTUuNzczIDE4Mi4xODggMTEzLjc0NCAxODAuMTM3IDExMy43NDQgMTc3LjYxMUMxMTMuNzQ0IDE3Ny42MTIgMTEzLjc0NCAxNzcuNjExIDExMy43NDQgMTc3LjYxMVYxNzUuNzI5QzExMy43NDMgMTc1LjY5MSAxMTMuNzQzIDE3NS42NDcgMTEzLjc0MyAxNzUuNjAzQzExMy43NDMgMTczLjQzOCAxMTQuNTc4IDE3MS40NjggMTE1Ljk0NSAxNjkuOTk4TDExNS45NCAxNzAuMDAzQzExNy4zMDYgMTY4LjQ2NyAxMTkuMjA1IDE2Ny40MyAxMjEuMzQ0IDE2Ny4xODNMMTIxLjM4MyAxNjcuMTc5QzExOS44MjggMTY1LjIxNiAxMTguODg4IDE2Mi43MDQgMTE4Ljg4OCAxNTkuOTcyQzExOC44ODggMTU5LjkzIDExOC44ODkgMTU5Ljg4OCAxMTguODg5IDE1OS44NDdMMTE4Ljg4OSAxNTkuODUzQzExOC44ODkgMTU5LjgzNyAxMTguODg5IDE1OS44MTkgMTE4Ljg4OSAxNTkuODAxQzExOC44ODkgMTU1LjM1NSAxMjEuMyAxNTEuNDcyIDEyNC44ODcgMTQ5LjM4OUwxMjQuOTQ0IDE0OS4zNThDMTI2LjcwMyAxNDguMzQyIDEyOC44MTMgMTQ3Ljc0MyAxMzEuMDYyIDE0Ny43NDNDMTMzLjMxMiAxNDcuNzQzIDEzNS40MjIgMTQ4LjM0MiAxMzcuMjQgMTQ5LjM5TDEzNy4xOCAxNDkuMzU4QzE0MC44MjQgMTUxLjQ3MiAxNDMuMjM2IDE1NS4zNTUgMTQzLjIzNiAxNTkuODAxQzE0My4yMzYgMTU5LjgxOSAxNDMuMjM2IDE1OS44MzcgMTQzLjIzNiAxNTkuODU2VjE1OS44NTNDMTQzLjIzNiAxNTkuODY0IDE0My4yMzYgMTU5Ljg3NyAxNDMuMjM2IDE1OS44OUMxNDMuMjM2IDE2Mi42NjYgMTQyLjI2NiAxNjUuMjE1IDE0MC42NDYgMTY3LjIxN0wxNDAuNjYzIDE2Ny4xOTVaTTEzMSAxNTAuOTc0QzEzMC45NzcgMTUwLjk3NCAxMzAuOTQ5IDE1MC45NzQgMTMwLjkyMiAxNTAuOTc0QzEyOS4zMDYgMTUwLjk3NCAxMjcuNzk1IDE1MS40MjMgMTI2LjUwNyAxNTIuMjAzTDEyNi41NDUgMTUyLjE4MkMxMjUuMjAxIDE1Mi45ODYgMTI0LjEwNyAxNTQuMDc1IDEyMy4zMjEgMTU1LjM3MkwxMjMuMjk3IDE1NS40MTRDMTIyLjUzMyAxNTYuNjgzIDEyMi4wOCAxNTguMjE1IDEyMi4wOCAxNTkuODUzQzEyMi4wOCAxNjEuNDkxIDEyMi41MzMgMTYzLjAyMyAxMjMuMzE5IDE2NC4zMzJMMTIzLjI5NyAxNjQuMjkzQzEyNC4xMDcgMTY1LjYzMSAxMjUuMjAxIDE2Ni43MiAxMjYuNTAyIDE2Ny41MDFMMTI2LjU0NSAxNjcuNTI0QzEyNy44MjIgMTY4LjI4NiAxMjkuMzYyIDE2OC43MzcgMTMxLjAwOCAxNjguNzM3QzEzMi42NTMgMTY4LjczNyAxMzQuMTkzIDE2OC4yODcgMTM1LjUxMSAxNjcuNTAyTDEzNS40NzEgMTY3LjUyNEMxMzYuODE0IDE2Ni43MiAxMzcuOTA4IDE2NS42MzEgMTM4LjY5NSAxNjQuMzM0TDEzOC43MTggMTY0LjI5M0MxMzkuNDgzIDE2My4wMjMgMTM5LjkzNSAxNjEuNDkxIDEzOS45MzUgMTU5Ljg1M0MxMzkuOTM1IDE1OC4yMTUgMTM5LjQ4MyAxNTYuNjgzIDEzOC42OTYgMTU1LjM3NEwxMzguNzE4IDE1NS40MTRDMTM3LjkwOCAxNTQuMDc1IDEzNi44MTQgMTUyLjk4NiAxMzUuNTEzIDE1Mi4yMDVMMTM1LjQ3MSAxNTIuMTgyQzEzNC4yMiAxNTEuNDIzIDEzMi43MDkgMTUwLjk3NCAxMzEuMDkzIDE1MC45NzRDMTMxLjA2IDE1MC45NzQgMTMxLjAyNyAxNTAuOTc0IDEzMC45OTUgMTUwLjk3NEwxMzEgMTUwLjk3NFpNMTQ1LjExOCAxNzcuNjQyVjE3NS43NkMxNDUuMSAxNzIuNzg0IDE0Mi42ODQgMTcwLjM3OSAxMzkuNzA2IDE3MC4zNzlDMTM5LjcwNiAxNzAuMzc5IDEzOS43MDYgMTcwLjM3OSAxMzkuNzA2IDE3MC4zNzlIMTM3LjA4NkMxMzUuMzM4IDE3MS4zOTYgMTMzLjIzOSAxNzEuOTk2IDEzMSAxNzEuOTk2QzEyOC43NiAxNzEuOTk2IDEyNi42NjEgMTcxLjM5NiAxMjQuODU0IDE3MC4zNDhMMTI0LjkxMyAxNzAuMzc5SDEyMi4zNEMxMjIuMzI2IDE3MC4zNzkgMTIyLjMxIDE3MC4zNzkgMTIyLjI5MyAxNzAuMzc5QzExOS4zMjYgMTcwLjM3OSAxMTYuOTE2IDE3Mi43NjcgMTE2Ljg4MSAxNzUuNzI1VjE3Ny42NzRDMTE2Ljg4MSAxNzcuNjggMTE2Ljg4MSAxNzcuNjg3IDExNi44ODEgMTc3LjY5NEMxMTYuODgxIDE3OC4wNDMgMTE3LjAyNSAxNzguMzU4IDExNy4yNTcgMTc4LjU4M0MxMTcuNDk3IDE3OC44MTcgMTE3LjgyNSAxNzguOTYxIDExOC4xODcgMTc4Ljk2MUMxMTguMjAyIDE3OC45NjEgMTE4LjIxNyAxNzguOTYxIDExOC4yMzIgMTc4Ljk2TDExOC4yMyAxNzguOTZIMTQzLjc2OUMxNDMuNzc1IDE3OC45NiAxNDMuNzgyIDE3OC45NiAxNDMuNzg5IDE3OC45NkMxNDQuMTM4IDE3OC45NiAxNDQuNDUzIDE3OC44MTYgMTQ0LjY3OSAxNzguNTg0QzE0NC45NDYgMTc4LjM0NCAxNDUuMTE1IDE3Ny45OTcgMTQ1LjExOCAxNzcuNjEyVjE3Ny42NDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K";
6
+ export declare const maxParticipantsNumber = 2;
7
+ export declare enum MULTI_PARTY_EVENTS {
8
+ connectFailed = "connectFailed",
9
+ streamDestroyed = "streamDestroyed",
10
+ connectionCreated = "connectionCreated",
11
+ connectionDestroyed = "connectionDestroyed",
12
+ streamCreated = "streamCreated",
13
+ videoElementCreated = "videoElementCreated",
14
+ participantsNumberChanged = "participantsNumberChanged",
15
+ videoAudioStatus = "videoAudioStatus",
16
+ mediaDeviceAccessDenied = "mediaDeviceAccessDenied"
17
+ }
18
+ export declare type Subscriber = {
19
+ subscriber: unknown;
20
+ connectionId: string;
21
+ clientRole: SessionClientRole | 'default';
22
+ };
23
+ export interface IMultiParty {
24
+ session?: any;
25
+ subscribers?: Array<Subscriber>;
26
+ ownConnectionId?: string;
27
+ connect(...args: any[]): void;
28
+ disconnect(): void;
29
+ switchCamera(): Promise<void>;
30
+ on(event: string | symbol, listener: (...args: any[]) => void): IMultiParty;
31
+ publishAudio(shouldMute: boolean): Promise<void>;
32
+ publishVideo(shouldPublishVideo: boolean): Promise<void>;
33
+ }
34
+ export declare abstract class MultiParty extends EventEmitter implements IMultiParty {
35
+ session?: any;
36
+ abstract subscribers?: Array<Subscriber>;
37
+ abstract ownConnectionId?: string;
38
+ protected settings: SessionSettings;
39
+ abstract connect(...args: any[]): void;
40
+ abstract disconnect(): void;
41
+ abstract switchCamera(): Promise<void>;
42
+ abstract publishAudio(shouldMute: boolean): Promise<void>;
43
+ abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;
44
+ constructor(settings: SessionSettings);
45
+ }
46
+ export declare const couldStartMultiparty: () => Promise<boolean>;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/MultiParty/MultiParty.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAKpD,eAAO,MAAM,kBAAkB,22HAA22H,CAAC;AAE34H,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,oBAAY,kBAAkB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;CACtD;AAED,oBAAY,UAAU,GAAG;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;IAC5E,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,8BAAsB,UAAW,SAAQ,YAAa,YAAW,WAAW;IACxE,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEpC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBAErD,QAAQ,EAAE,eAAe;CAIxC;AAED,eAAO,MAAM,oBAAoB,QAAa,QAAQ,OAAO,CAW5D,CAAC","file":"MultiParty.d.ts","sourcesContent":["import {MediaCapabilitiesHelper} from './MediaCapabilitiesHelper';\nimport {getMediaTracer} from '../MediaUtils/MediaTracer';\nimport {EventEmitter} from 'events';\nimport {SessionSettings} from './Contracts';\nimport {SessionClientRole} from '../MediaConstants';\n\nconst trace = getMediaTracer('Multiparty');\n\n// eslint-disable-next-line max-len\nexport const DEFAULT_AVATAR_URI = 'data:image/png;base64,PHN2ZyB3aWR0aD0iMjYzIiBoZWlnaHQ9IjMzMCIgdmlld0JveD0iMCAwIDI2MyAzMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNjIuOTE5IiBoZWlnaHQ9IjMyOS45OSIgZmlsbD0iIzcwNkU2QiIvPgo8Y2lyY2xlIGN4PSIxMzEiIGN5PSIxNjUiIHI9IjQwIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNDAuNjYzIDE2Ny4xOTVDMTQyLjg0MiAxNjcuNDQ2IDE0NC43NCAxNjguNDgzIDE0Ni4wOTkgMTcwLjAxTDE0Ni4xMDcgMTcwLjAxOEMxNDcuNDQgMTcxLjQ3NyAxNDguMjU3IDE3My40MjcgMTQ4LjI1NyAxNzUuNTY4QzE0OC4yNTcgMTc1LjYyNSAxNDguMjU3IDE3NS42ODEgMTQ4LjI1NiAxNzUuNzM3TDE0OC4yNTYgMTc1LjcyOVYxNzcuNjExQzE0OC4yNTYgMTc3LjYxIDE0OC4yNTYgMTc3LjYxMiAxNDguMjU2IDE3Ny42MTFDMTQ4LjI1NiAxODAuMTE0IDE0Ni4yNjIgMTgyLjE1MyAxNDMuNzc2IDE4Mi4yMjNIMTE4LjI5M0MxMTUuNzczIDE4Mi4xODggMTEzLjc0NCAxODAuMTM3IDExMy43NDQgMTc3LjYxMUMxMTMuNzQ0IDE3Ny42MTIgMTEzLjc0NCAxNzcuNjExIDExMy43NDQgMTc3LjYxMVYxNzUuNzI5QzExMy43NDMgMTc1LjY5MSAxMTMuNzQzIDE3NS42NDcgMTEzLjc0MyAxNzUuNjAzQzExMy43NDMgMTczLjQzOCAxMTQuNTc4IDE3MS40NjggMTE1Ljk0NSAxNjkuOTk4TDExNS45NCAxNzAuMDAzQzExNy4zMDYgMTY4LjQ2NyAxMTkuMjA1IDE2Ny40MyAxMjEuMzQ0IDE2Ny4xODNMMTIxLjM4MyAxNjcuMTc5QzExOS44MjggMTY1LjIxNiAxMTguODg4IDE2Mi43MDQgMTE4Ljg4OCAxNTkuOTcyQzExOC44ODggMTU5LjkzIDExOC44ODkgMTU5Ljg4OCAxMTguODg5IDE1OS44NDdMMTE4Ljg4OSAxNTkuODUzQzExOC44ODkgMTU5LjgzNyAxMTguODg5IDE1OS44MTkgMTE4Ljg4OSAxNTkuODAxQzExOC44ODkgMTU1LjM1NSAxMjEuMyAxNTEuNDcyIDEyNC44ODcgMTQ5LjM4OUwxMjQuOTQ0IDE0OS4zNThDMTI2LjcwMyAxNDguMzQyIDEyOC44MTMgMTQ3Ljc0MyAxMzEuMDYyIDE0Ny43NDNDMTMzLjMxMiAxNDcuNzQzIDEzNS40MjIgMTQ4LjM0MiAxMzcuMjQgMTQ5LjM5TDEzNy4xOCAxNDkuMzU4QzE0MC44MjQgMTUxLjQ3MiAxNDMuMjM2IDE1NS4zNTUgMTQzLjIzNiAxNTkuODAxQzE0My4yMzYgMTU5LjgxOSAxNDMuMjM2IDE1OS44MzcgMTQzLjIzNiAxNTkuODU2VjE1OS44NTNDMTQzLjIzNiAxNTkuODY0IDE0My4yMzYgMTU5Ljg3NyAxNDMuMjM2IDE1OS44OUMxNDMuMjM2IDE2Mi42NjYgMTQyLjI2NiAxNjUuMjE1IDE0MC42NDYgMTY3LjIxN0wxNDAuNjYzIDE2Ny4xOTVaTTEzMSAxNTAuOTc0QzEzMC45NzcgMTUwLjk3NCAxMzAuOTQ5IDE1MC45NzQgMTMwLjkyMiAxNTAuOTc0QzEyOS4zMDYgMTUwLjk3NCAxMjcuNzk1IDE1MS40MjMgMTI2LjUwNyAxNTIuMjAzTDEyNi41NDUgMTUyLjE4MkMxMjUuMjAxIDE1Mi45ODYgMTI0LjEwNyAxNTQuMDc1IDEyMy4zMjEgMTU1LjM3MkwxMjMuMjk3IDE1NS40MTRDMTIyLjUzMyAxNTYuNjgzIDEyMi4wOCAxNTguMjE1IDEyMi4wOCAxNTkuODUzQzEyMi4wOCAxNjEuNDkxIDEyMi41MzMgMTYzLjAyMyAxMjMuMzE5IDE2NC4zMzJMMTIzLjI5NyAxNjQuMjkzQzEyNC4xMDcgMTY1LjYzMSAxMjUuMjAxIDE2Ni43MiAxMjYuNTAyIDE2Ny41MDFMMTI2LjU0NSAxNjcuNTI0QzEyNy44MjIgMTY4LjI4NiAxMjkuMzYyIDE2OC43MzcgMTMxLjAwOCAxNjguNzM3QzEzMi42NTMgMTY4LjczNyAxMzQuMTkzIDE2OC4yODcgMTM1LjUxMSAxNjcuNTAyTDEzNS40NzEgMTY3LjUyNEMxMzYuODE0IDE2Ni43MiAxMzcuOTA4IDE2NS42MzEgMTM4LjY5NSAxNjQuMzM0TDEzOC43MTggMTY0LjI5M0MxMzkuNDgzIDE2My4wMjMgMTM5LjkzNSAxNjEuNDkxIDEzOS45MzUgMTU5Ljg1M0MxMzkuOTM1IDE1OC4yMTUgMTM5LjQ4MyAxNTYuNjgzIDEzOC42OTYgMTU1LjM3NEwxMzguNzE4IDE1NS40MTRDMTM3LjkwOCAxNTQuMDc1IDEzNi44MTQgMTUyLjk4NiAxMzUuNTEzIDE1Mi4yMDVMMTM1LjQ3MSAxNTIuMTgyQzEzNC4yMiAxNTEuNDIzIDEzMi43MDkgMTUwLjk3NCAxMzEuMDkzIDE1MC45NzRDMTMxLjA2IDE1MC45NzQgMTMxLjAyNyAxNTAuOTc0IDEzMC45OTUgMTUwLjk3NEwxMzEgMTUwLjk3NFpNMTQ1LjExOCAxNzcuNjQyVjE3NS43NkMxNDUuMSAxNzIuNzg0IDE0Mi42ODQgMTcwLjM3OSAxMzkuNzA2IDE3MC4zNzlDMTM5LjcwNiAxNzAuMzc5IDEzOS43MDYgMTcwLjM3OSAxMzkuNzA2IDE3MC4zNzlIMTM3LjA4NkMxMzUuMzM4IDE3MS4zOTYgMTMzLjIzOSAxNzEuOTk2IDEzMSAxNzEuOTk2QzEyOC43NiAxNzEuOTk2IDEyNi42NjEgMTcxLjM5NiAxMjQuODU0IDE3MC4zNDhMMTI0LjkxMyAxNzAuMzc5SDEyMi4zNEMxMjIuMzI2IDE3MC4zNzkgMTIyLjMxIDE3MC4zNzkgMTIyLjI5MyAxNzAuMzc5QzExOS4zMjYgMTcwLjM3OSAxMTYuOTE2IDE3Mi43NjcgMTE2Ljg4MSAxNzUuNzI1VjE3Ny42NzRDMTE2Ljg4MSAxNzcuNjggMTE2Ljg4MSAxNzcuNjg3IDExNi44ODEgMTc3LjY5NEMxMTYuODgxIDE3OC4wNDMgMTE3LjAyNSAxNzguMzU4IDExNy4yNTcgMTc4LjU4M0MxMTcuNDk3IDE3OC44MTcgMTE3LjgyNSAxNzguOTYxIDExOC4xODcgMTc4Ljk2MUMxMTguMjAyIDE3OC45NjEgMTE4LjIxNyAxNzguOTYxIDExOC4yMzIgMTc4Ljk2TDExOC4yMyAxNzguOTZIMTQzLjc2OUMxNDMuNzc1IDE3OC45NiAxNDMuNzgyIDE3OC45NiAxNDMuNzg5IDE3OC45NkMxNDQuMTM4IDE3OC45NiAxNDQuNDUzIDE3OC44MTYgMTQ0LjY3OSAxNzguNTg0QzE0NC45NDYgMTc4LjM0NCAxNDUuMTE1IDE3Ny45OTcgMTQ1LjExOCAxNzcuNjEyVjE3Ny42NDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K';\n\nexport const maxParticipantsNumber = 2;\n\nexport enum MULTI_PARTY_EVENTS {\n connectFailed = 'connectFailed',\n streamDestroyed = 'streamDestroyed',\n connectionCreated = 'connectionCreated',\n connectionDestroyed = 'connectionDestroyed',\n streamCreated = 'streamCreated',\n videoElementCreated = 'videoElementCreated',\n participantsNumberChanged = 'participantsNumberChanged',\n videoAudioStatus = 'videoAudioStatus',\n mediaDeviceAccessDenied = 'mediaDeviceAccessDenied',\n}\n\nexport type Subscriber = {\n subscriber: unknown;\n connectionId: string;\n clientRole: SessionClientRole | 'default';\n};\n\nexport interface IMultiParty {\n session?: any;\n subscribers?: Array<Subscriber>;\n ownConnectionId?: string;\n\n connect(...args: any[]): void;\n disconnect(): void;\n switchCamera(): Promise<void>;\n on(event: string | symbol, listener: (...args: any[]) => void): IMultiParty;\n publishAudio(shouldMute: boolean): Promise<void>;\n publishVideo(shouldPublishVideo: boolean): Promise<void>;\n}\n\nexport abstract class MultiParty extends EventEmitter implements IMultiParty {\n session?: any;\n abstract subscribers?: Array<Subscriber>;\n abstract ownConnectionId?: string;\n protected settings: SessionSettings;\n\n abstract connect(...args: any[]): void;\n abstract disconnect(): void;\n abstract switchCamera(): Promise<void>;\n abstract publishAudio(shouldMute: boolean): Promise<void>;\n abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;\n\n constructor(settings: SessionSettings) {\n super();\n this.settings = settings;\n }\n}\n\nexport const couldStartMultiparty = async (): Promise<boolean> => {\n try {\n const mediaCapabilitiesHelper = await MediaCapabilitiesHelper.getInstance();\n\n return mediaCapabilitiesHelper.hasWebRTC();\n\n } catch (err) {\n trace.error(JSON.stringify(err));\n\n return false;\n }\n};\n"]}