@techsee/techsee-media-service 999.1.1-sap → 999.1.2-eli-alpha1

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 (55) hide show
  1. package/lib/MediaConstants.d.ts +5 -0
  2. package/lib/MediaConstants.d.ts.map +1 -1
  3. package/lib/MediaConstants.js +9 -1
  4. package/lib/MediaConstants.js.map +1 -1
  5. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  6. package/lib/MediaUtils/MediaDomUtils.js +1 -2
  7. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  8. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
  9. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -1
  10. package/lib/MultiParty/MultiPartyService.d.ts +8 -4
  11. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
  12. package/lib/MultiParty/MultiPartyService.js +1 -1
  13. package/lib/MultiParty/MultiPartyService.js.map +1 -1
  14. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -2
  15. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
  16. package/lib/MultiParty/MultiPartyServiceFactory.js +2 -2
  17. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
  18. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +7 -2
  19. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
  20. package/lib/MultiParty/index.d.ts +0 -1
  21. package/lib/MultiParty/index.d.ts.map +1 -1
  22. package/lib/MultiParty/index.js +1 -10
  23. package/lib/MultiParty/index.js.map +1 -1
  24. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +13 -6
  25. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
  26. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +215 -71
  27. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
  28. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +12 -18
  29. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
  30. package/lib/MultiParty/opentok/OpentokPublisher.js +18 -119
  31. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
  32. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +2 -1
  33. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
  34. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +8 -5
  35. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
  36. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +5 -0
  37. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
  38. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +85 -0
  39. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
  40. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +14 -0
  41. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
  42. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +329 -0
  43. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
  44. package/lib/MultiParty/opentok.d.ts +1 -0
  45. package/lib/MultiParty/types.d.ts +6 -1
  46. package/lib/MultiParty/types.d.ts.map +1 -1
  47. package/lib/MultiParty/utils.d.ts +8 -1
  48. package/lib/MultiParty/utils.d.ts.map +1 -1
  49. package/lib/MultiParty/utils.js +13 -1
  50. package/lib/MultiParty/utils.js.map +1 -1
  51. package/package.json +22 -21
  52. package/lib/MultiParty/VideoLayoutType.d.ts +0 -4
  53. package/lib/MultiParty/VideoLayoutType.d.ts.map +0 -1
  54. package/lib/MultiParty/VideoLayoutType.js +0 -13
  55. package/lib/MultiParty/VideoLayoutType.js.map +0 -1
@@ -9,6 +9,11 @@ export declare enum ConstraintType {
9
9
  MIN = "min",
10
10
  IDEAL = "ideal"
11
11
  }
12
+ export declare enum VideoTypesEnum {
13
+ CAMERA = "camera",
14
+ SCREEN = "screen",
15
+ NOTHING = ""
16
+ }
12
17
  export declare enum MultiPartyCameraTypes {
13
18
  FRONT = "front",
14
19
  BACK = "back"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,uDAAuD,CAAC;AAElF,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAClC;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;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,oBAAY,6BAA6B;IACrC,EAAE,SAAS;IACX,EAAE,SAAS;CACd;AAED,oBAAY,qBAAqB;IAC7B,EAAE,OAAO;IACT,EAAE,OAAO;IACT,IAAI,SAAS;CAChB;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;AAEF,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,OAAO,EAAC,WAAW,EAAC,CAAC","file":"MediaConstants.d.ts","sourcesContent":["import {VideoStreamResolution} from './MediaContracts';\nimport {CameraTypes} from '@techsee/techsee-common/lib/constants/media.constants';\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 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 enum VideoResolutionMultiplication {\n HD = 829440, //(1280*720)*0.9\n SD = 230400 //640*360*0.9\n}\n\nexport enum VideoResolutionFormat {\n HD = 'HD',\n SD = 'SD',\n NONE = 'none'\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\nexport const HD_RESOLUTION = '1280x720';\n\nexport {CameraTypes};\n"]}
1
+ {"version":3,"sources":["../src/MediaConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,uDAAuD,CAAC;AAElF,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;CAClC;AAED,oBAAY,cAAc;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,KAAK;CACf;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,oBAAY,6BAA6B;IACrC,EAAE,SAAS;IACX,EAAE,SAAS;CACd;AAED,oBAAY,qBAAqB;IAC7B,EAAE,OAAO;IACT,EAAE,OAAO;IACT,IAAI,SAAS;CAChB;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;AAEF,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,OAAO,EAAC,WAAW,EAAC,CAAC","file":"MediaConstants.d.ts","sourcesContent":["import {VideoStreamResolution} from './MediaContracts';\nimport {CameraTypes} from '@techsee/techsee-common/lib/constants/media.constants';\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 VideoTypesEnum {\n CAMERA = 'camera',\n SCREEN = 'screen',\n NOTHING = ''\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 enum VideoResolutionMultiplication {\n HD = 829440, //(1280*720)*0.9\n SD = 230400 //640*360*0.9\n}\n\nexport enum VideoResolutionFormat {\n HD = 'HD',\n SD = 'SD',\n NONE = 'none'\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\nexport const HD_RESOLUTION = '1280x720';\n\nexport {CameraTypes};\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.CameraTypes = exports.HD_RESOLUTION = 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.VideoResolutionFormat = exports.VideoResolutionMultiplication = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;
6
+ exports.CameraTypes = exports.HD_RESOLUTION = 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.VideoResolutionFormat = exports.VideoResolutionMultiplication = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.VideoTypesEnum = exports.ConstraintType = exports.LocalVideoSourceType = void 0;
7
7
 
8
8
  var media_constants_1 = require("@techsee/techsee-common/lib/constants/media.constants");
9
9
 
@@ -28,6 +28,14 @@ var ConstraintType;
28
28
  ConstraintType["IDEAL"] = "ideal";
29
29
  })(ConstraintType = exports.ConstraintType || (exports.ConstraintType = {}));
30
30
 
31
+ var VideoTypesEnum;
32
+
33
+ (function (VideoTypesEnum) {
34
+ VideoTypesEnum["CAMERA"] = "camera";
35
+ VideoTypesEnum["SCREEN"] = "screen";
36
+ VideoTypesEnum["NOTHING"] = "";
37
+ })(VideoTypesEnum = exports.VideoTypesEnum || (exports.VideoTypesEnum = {}));
38
+
31
39
  var MultiPartyCameraTypes;
32
40
 
33
41
  (function (MultiPartyCameraTypes) {
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaConstants.js","../src/MediaConstants.ts"],"names":["Object","defineProperty","exports","value","CameraTypes","HD_RESOLUTION","POSSIBLE_LOOPBACK_RESOLUTIONS","DEFAULT_VIDEO_CONSTRAINTS","DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS","DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS","DEFAULT_VIDEO_CONSTRAINT_TYPE","DEFAULT_VIDEO_RESOLUTION","VideoResolutionFormat","VideoResolutionMultiplication","MediaStreamUnregisterReason","MediaSessionDisconnectReason","KnownMediaStream","KnownMediaStreamKind","MediaRequestErrorCode","SessionClientType","SessionClientRole","MediaServiceType","MultiPartyCameraTypes","ConstraintType","LocalVideoSourceType","media_constants_1","require","enumerable","get","IDEAL","resolution","constraintType","MIN"],"mappings":"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","file":"MediaConstants.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CameraTypes = exports.HD_RESOLUTION = 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.VideoResolutionFormat = exports.VideoResolutionMultiplication = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.ConstraintType = exports.LocalVideoSourceType = void 0;\nvar media_constants_1 = require(\"@techsee/techsee-common/lib/constants/media.constants\");\nObject.defineProperty(exports, \"CameraTypes\", { enumerable: true, get: function () { return media_constants_1.CameraTypes; } });\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 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 = {}));\nvar VideoResolutionMultiplication;\n(function (VideoResolutionMultiplication) {\n VideoResolutionMultiplication[VideoResolutionMultiplication[\"HD\"] = 829440] = \"HD\";\n VideoResolutionMultiplication[VideoResolutionMultiplication[\"SD\"] = 230400] = \"SD\"; //640*360*0.9\n})(VideoResolutionMultiplication = exports.VideoResolutionMultiplication || (exports.VideoResolutionMultiplication = {}));\nvar VideoResolutionFormat;\n(function (VideoResolutionFormat) {\n VideoResolutionFormat[\"HD\"] = \"HD\";\n VideoResolutionFormat[\"SD\"] = \"SD\";\n VideoResolutionFormat[\"NONE\"] = \"none\";\n})(VideoResolutionFormat = exports.VideoResolutionFormat || (exports.VideoResolutionFormat = {}));\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];\nexports.HD_RESOLUTION = '1280x720';\n\n//# sourceMappingURL=MediaConstants.js.map\n","import {VideoStreamResolution} from './MediaContracts';\nimport {CameraTypes} from '@techsee/techsee-common/lib/constants/media.constants';\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 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 enum VideoResolutionMultiplication {\n HD = 829440, //(1280*720)*0.9\n SD = 230400 //640*360*0.9\n}\n\nexport enum VideoResolutionFormat {\n HD = 'HD',\n SD = 'SD',\n NONE = 'none'\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\nexport const HD_RESOLUTION = '1280x720';\n\nexport {CameraTypes};\n"]}
1
+ {"version":3,"sources":["MediaConstants.js","../src/MediaConstants.ts"],"names":["Object","defineProperty","exports","value","CameraTypes","HD_RESOLUTION","POSSIBLE_LOOPBACK_RESOLUTIONS","DEFAULT_VIDEO_CONSTRAINTS","DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS","DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS","DEFAULT_VIDEO_CONSTRAINT_TYPE","DEFAULT_VIDEO_RESOLUTION","VideoResolutionFormat","VideoResolutionMultiplication","MediaStreamUnregisterReason","MediaSessionDisconnectReason","KnownMediaStream","KnownMediaStreamKind","MediaRequestErrorCode","SessionClientType","SessionClientRole","MediaServiceType","MultiPartyCameraTypes","VideoTypesEnum","ConstraintType","LocalVideoSourceType","media_constants_1","require","enumerable","get","IDEAL","resolution","constraintType","MIN"],"mappings":"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","file":"MediaConstants.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CameraTypes = exports.HD_RESOLUTION = 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.VideoResolutionFormat = exports.VideoResolutionMultiplication = exports.MediaStreamUnregisterReason = exports.MediaSessionDisconnectReason = exports.KnownMediaStream = exports.KnownMediaStreamKind = exports.MediaRequestErrorCode = exports.SessionClientType = exports.SessionClientRole = exports.MediaServiceType = exports.MultiPartyCameraTypes = exports.VideoTypesEnum = exports.ConstraintType = exports.LocalVideoSourceType = void 0;\nvar media_constants_1 = require(\"@techsee/techsee-common/lib/constants/media.constants\");\nObject.defineProperty(exports, \"CameraTypes\", { enumerable: true, get: function () { return media_constants_1.CameraTypes; } });\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 VideoTypesEnum;\n(function (VideoTypesEnum) {\n VideoTypesEnum[\"CAMERA\"] = \"camera\";\n VideoTypesEnum[\"SCREEN\"] = \"screen\";\n VideoTypesEnum[\"NOTHING\"] = \"\";\n})(VideoTypesEnum = exports.VideoTypesEnum || (exports.VideoTypesEnum = {}));\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 = {}));\nvar VideoResolutionMultiplication;\n(function (VideoResolutionMultiplication) {\n VideoResolutionMultiplication[VideoResolutionMultiplication[\"HD\"] = 829440] = \"HD\";\n VideoResolutionMultiplication[VideoResolutionMultiplication[\"SD\"] = 230400] = \"SD\"; //640*360*0.9\n})(VideoResolutionMultiplication = exports.VideoResolutionMultiplication || (exports.VideoResolutionMultiplication = {}));\nvar VideoResolutionFormat;\n(function (VideoResolutionFormat) {\n VideoResolutionFormat[\"HD\"] = \"HD\";\n VideoResolutionFormat[\"SD\"] = \"SD\";\n VideoResolutionFormat[\"NONE\"] = \"none\";\n})(VideoResolutionFormat = exports.VideoResolutionFormat || (exports.VideoResolutionFormat = {}));\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];\nexports.HD_RESOLUTION = '1280x720';\n\n//# sourceMappingURL=MediaConstants.js.map\n","import {VideoStreamResolution} from './MediaContracts';\nimport {CameraTypes} from '@techsee/techsee-common/lib/constants/media.constants';\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 VideoTypesEnum {\n CAMERA = 'camera',\n SCREEN = 'screen',\n NOTHING = ''\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 enum VideoResolutionMultiplication {\n HD = 829440, //(1280*720)*0.9\n SD = 230400 //640*360*0.9\n}\n\nexport enum VideoResolutionFormat {\n HD = 'HD',\n SD = 'SD',\n NONE = 'none'\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\nexport const HD_RESOLUTION = '1280x720';\n\nexport {CameraTypes};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAgC,MAAM,mBAAmB,CAAC;AAMzG,wBAAgB,mBAAmB,CAAC,EAAC,UAAU,EAAE,WAAW,EAAC,EAAE,eAAe,yBAgB7E;AAED,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,gBAAgB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CA0F3B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAOD,wBAAgB,0BAA0B,CACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB,EAC9B,eAAe,GAAE,eAAiC,GACnD,OAAO,CAAC,MAAM,CAAC,CAwGjB","file":"MediaDomUtils.d.ts","sourcesContent":["import isUndefined from 'lodash/isUndefined';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {repeatWithTimeout} from '@techsee/techsee-common/lib/core/retry-with-timeout';\nimport {SnapshotOptions, VideoResolution} from '../MediaContracts';\nimport {getMediaTracer} from './MediaTracer';\nimport {KnownMediaStream, VideoResolutionFormat, VideoResolutionMultiplication} from '../MediaConstants';\n\nconst trace = getMediaTracer('DomUtils');\n\nconst isIE11 = new TsEnvironmentDetect().isIE11();\n\nexport function calculateResolution({videoWidth, videoHeight}: VideoResolution) {\n const multiplyResolution = videoWidth * videoHeight;\n let videoResolutionFormat = VideoResolutionFormat.NONE;\n\n if (multiplyResolution >= VideoResolutionMultiplication.HD) {\n videoResolutionFormat = VideoResolutionFormat.HD;\n }\n\n if (\n multiplyResolution >= VideoResolutionMultiplication.SD &&\n multiplyResolution < VideoResolutionMultiplication.HD\n ) {\n videoResolutionFormat = VideoResolutionFormat.SD;\n }\n\n return videoResolutionFormat;\n}\n\nexport function renderMediaStreamToVideoEl(\n container: HTMLDivElement,\n mediaStream: MediaStream,\n streamType: KnownMediaStream\n): Promise<HTMLVideoElement> {\n return new Promise((resolve, reject) => {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n\n return;\n }\n\n const doResolve = (videoEl: HTMLVideoElement): void => {\n trace.info('Video element created successfully', {videoEl});\n resolve(videoEl);\n };\n\n const videoEl = document.createElement('video') as any;\n\n videoEl.muted = true;\n videoEl.playsInline = true;\n\n if (isIE11 && (window as any).WebRTCAdapter) {\n container.appendChild(videoEl);\n (window as any).WebRTCAdapter.bindVideoElement(videoEl);\n }\n\n videoEl.srcObject = mediaStream;\n\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', () => {\n if (\n [\n KnownMediaStream.USER_AUDIO_STREAM,\n KnownMediaStream.AGENT_AUDIO_STREAM,\n KnownMediaStream.OBSERVER_AUDIO_STREAM\n ].indexOf(streamType) > -1\n ) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n\n try {\n const playRes = videoEl.play();\n\n if (playRes && playRes.then) {\n playRes.then(() => {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n } else if (!isIE11) {\n doResolve(videoEl);\n }\n\n if (playRes && playRes.catch) {\n playRes.catch((error: any) => {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n } catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n\n return;\n }\n\n if (isIE11) {\n const handleComplete = (): boolean => videoEl.parentElement.tagName !== 'OBJECT';\n\n const waitForObjectSettings = {intervalInMs: 30, timeoutInMs: 200};\n\n repeatWithTimeout(handleComplete, waitForObjectSettings).then(() => {\n //We will wait, until video is played, then we resolve\n const isVideoPlaying = (): boolean => videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;\n const waitForVideoSettings = {intervalInMs: 50, timeoutInMs: 10000};\n\n repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(() => doResolve(videoEl.parentElement))\n .catch(() => reject(new Error('Timeout while waiting for video to play')));\n });\n } else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\n\nexport function removeVideoElementFromDom(videoEl: HTMLVideoElement): Promise<void> {\n return new Promise((resolve) => {\n if (isIE11 && (window as any).WebRTCAdapter) {\n (window as any).WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n } else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n } else {\n videoEl.remove();\n }\n\n resolve();\n });\n}\n\nconst defaultSnapshot: SnapshotOptions = {\n format: 'image/png',\n quality: 0.92\n};\n\nexport function getSnapshotFromMediaStream(\n mediaStream: MediaStream,\n sourceStream: KnownMediaStream,\n snapshotOptions: SnapshotOptions = defaultSnapshot\n): Promise<string> {\n const {format, quality, x, y, w, h} = snapshotOptions;\n const crop = !isUndefined(x) && !isUndefined(y) && !isUndefined(w) && !isUndefined(h);\n const resize = !crop && (!isUndefined(w) || !isUndefined(h));\n\n return new Promise((resolve, reject) => {\n const tempContainer = document.createElement('div');\n\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n\n const doneFn = (err: any, image?: any): void => {\n if (err) {\n reject(err);\n\n return;\n }\n\n setTimeout(() => {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then((videoElement) =>\n Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(\n (imgData: any) => {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n\n doneFn(null, imgData);\n }\n )\n )\n .catch((error) => {\n // eslint-disable-next-line prettier/prettier\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl'));\n });\n });\n\n //Gets image in all browsers except of IE\n function getImgData(videoElement: HTMLVideoElement): string {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, 0, 0, w, h);\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n\n ctx.drawImage(videoElement, 0, 0);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement: any): Promise<string> {\n return new Promise((resolve) => {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n\n function _drawAndRemove(image: any): string {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n } else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n const base64 = videoElement.getFrame();\n const image = new Image();\n\n image.onload = () => resolve(_drawAndRemove(image));\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/MediaUtils/MediaDomUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAgC,MAAM,mBAAmB,CAAC;AAMzG,wBAAgB,mBAAmB,CAAC,EAAC,UAAU,EAAE,WAAW,EAAC,EAAE,eAAe,yBAgB7E;AAED,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,gBAAgB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CA0F3B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAOD,wBAAgB,0BAA0B,CACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB,EAC9B,eAAe,GAAE,eAAiC,GACnD,OAAO,CAAC,MAAM,CAAC,CAuGjB","file":"MediaDomUtils.d.ts","sourcesContent":["import isUndefined from 'lodash/isUndefined';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nimport {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {repeatWithTimeout} from '@techsee/techsee-common/lib/core/retry-with-timeout';\nimport {SnapshotOptions, VideoResolution} from '../MediaContracts';\nimport {getMediaTracer} from './MediaTracer';\nimport {KnownMediaStream, VideoResolutionFormat, VideoResolutionMultiplication} from '../MediaConstants';\n\nconst trace = getMediaTracer('DomUtils');\n\nconst isIE11 = new TsEnvironmentDetect().isIE11();\n\nexport function calculateResolution({videoWidth, videoHeight}: VideoResolution) {\n const multiplyResolution = videoWidth * videoHeight;\n let videoResolutionFormat = VideoResolutionFormat.NONE;\n\n if (multiplyResolution >= VideoResolutionMultiplication.HD) {\n videoResolutionFormat = VideoResolutionFormat.HD;\n }\n\n if (\n multiplyResolution >= VideoResolutionMultiplication.SD &&\n multiplyResolution < VideoResolutionMultiplication.HD\n ) {\n videoResolutionFormat = VideoResolutionFormat.SD;\n }\n\n return videoResolutionFormat;\n}\n\nexport function renderMediaStreamToVideoEl(\n container: HTMLDivElement,\n mediaStream: MediaStream,\n streamType: KnownMediaStream\n): Promise<HTMLVideoElement> {\n return new Promise((resolve, reject) => {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n\n return;\n }\n\n const doResolve = (videoEl: HTMLVideoElement): void => {\n trace.info('Video element created successfully', {videoEl});\n resolve(videoEl);\n };\n\n const videoEl = document.createElement('video') as any;\n\n videoEl.muted = true;\n videoEl.playsInline = true;\n\n if (isIE11 && (window as any).WebRTCAdapter) {\n container.appendChild(videoEl);\n (window as any).WebRTCAdapter.bindVideoElement(videoEl);\n }\n\n videoEl.srcObject = mediaStream;\n\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', () => {\n if (\n [\n KnownMediaStream.USER_AUDIO_STREAM,\n KnownMediaStream.AGENT_AUDIO_STREAM,\n KnownMediaStream.OBSERVER_AUDIO_STREAM\n ].indexOf(streamType) > -1\n ) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n\n try {\n const playRes = videoEl.play();\n\n if (playRes && playRes.then) {\n playRes.then(() => {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n } else if (!isIE11) {\n doResolve(videoEl);\n }\n\n if (playRes && playRes.catch) {\n playRes.catch((error: any) => {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n } catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n\n return;\n }\n\n if (isIE11) {\n const handleComplete = (): boolean => videoEl.parentElement.tagName !== 'OBJECT';\n\n const waitForObjectSettings = {intervalInMs: 30, timeoutInMs: 200};\n\n repeatWithTimeout(handleComplete, waitForObjectSettings).then(() => {\n //We will wait, until video is played, then we resolve\n const isVideoPlaying = (): boolean => videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0;\n const waitForVideoSettings = {intervalInMs: 50, timeoutInMs: 10000};\n\n repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(() => doResolve(videoEl.parentElement))\n .catch(() => reject(new Error('Timeout while waiting for video to play')));\n });\n } else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\n\nexport function removeVideoElementFromDom(videoEl: HTMLVideoElement): Promise<void> {\n return new Promise((resolve) => {\n if (isIE11 && (window as any).WebRTCAdapter) {\n (window as any).WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n } else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n } else {\n videoEl.remove();\n }\n\n resolve();\n });\n}\n\nconst defaultSnapshot: SnapshotOptions = {\n format: 'image/png',\n quality: 0.92\n};\n\nexport function getSnapshotFromMediaStream(\n mediaStream: MediaStream,\n sourceStream: KnownMediaStream,\n snapshotOptions: SnapshotOptions = defaultSnapshot\n): Promise<string> {\n const {format, quality, x, y, w, h} = snapshotOptions;\n const crop = !isUndefined(x) && !isUndefined(y) && !isUndefined(w) && !isUndefined(h);\n const resize = !crop && (!isUndefined(w) || !isUndefined(h));\n\n return new Promise((resolve, reject) => {\n const tempContainer = document.createElement('div');\n\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n\n const doneFn = (err: any, image?: any): void => {\n if (err) {\n reject(err);\n\n return;\n }\n\n setTimeout(() => {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then((videoElement) =>\n Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(\n (imgData: any) => {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n\n doneFn(null, imgData);\n }\n )\n )\n .catch((error) =>\n doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'))\n );\n });\n\n //Gets image in all browsers except of IE\n function getImgData(videoElement: HTMLVideoElement): string {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElement, 0, 0, w, h);\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n\n ctx.drawImage(videoElement, 0, 0);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement: any): Promise<string> {\n return new Promise((resolve) => {\n const {videoWidth, videoHeight} = videoElement;\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d')!;\n\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n } else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n\n function _drawAndRemove(image: any): string {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n } else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n\n return canvas.toDataURL(format, quality);\n }\n\n const base64 = videoElement.getFrame();\n const image = new Image();\n\n image.onload = () => resolve(_drawAndRemove(image));\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\n"]}
@@ -209,8 +209,7 @@ function getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions)
209
209
  doneFn(null, imgData);
210
210
  });
211
211
  })["catch"](function (error) {
212
- // eslint-disable-next-line prettier/prettier
213
- doneFn(error || new Error('Failed to create a snapshot - can\'t render MediaStream To VideoEl'));
212
+ return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));
214
213
  });
215
214
  }); //Gets image in all browsers except of IE
216
215
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MediaUtils/MediaDomUtils.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","calculateResolution","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","_a","videoWidth","videoHeight","multiplyResolution","videoResolutionFormat","VideoResolutionFormat","NONE","VideoResolutionMultiplication","HD","SD","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = exports.calculateResolution = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = new ts_environment_detect_1.TsEnvironmentDetect().isIE11();\nfunction calculateResolution(_a) {\n var videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;\n var multiplyResolution = videoWidth * videoHeight;\n var videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.NONE;\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.HD;\n }\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.SD &&\n multiplyResolution < MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.SD;\n }\n return videoResolutionFormat;\n}\nexports.calculateResolution = calculateResolution;\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([\n MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM\n ].indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings).then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) {\n return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n });\n })\n .catch(function (error) {\n // eslint-disable-next-line prettier/prettier\n doneFn(error || new Error('Failed to create a snapshot - can\\'t render MediaStream To VideoEl'));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n\n//# sourceMappingURL=MediaDomUtils.js.map\n"]}
1
+ {"version":3,"sources":["MediaUtils/MediaDomUtils.js"],"names":["__importDefault","mod","__esModule","Object","defineProperty","exports","value","getSnapshotFromMediaStream","removeVideoElementFromDom","renderMediaStreamToVideoEl","calculateResolution","isUndefined_1","require","ts_environment_detect_1","retry_with_timeout_1","MediaTracer_1","MediaConstants_1","trace","getMediaTracer","isIE11","TsEnvironmentDetect","_a","videoWidth","videoHeight","multiplyResolution","videoResolutionFormat","VideoResolutionFormat","NONE","VideoResolutionMultiplication","HD","SD","container","mediaStream","streamType","Promise","resolve","reject","document","body","contains","Error","doResolve","videoEl","info","createElement","muted","playsInline","window","WebRTCAdapter","appendChild","bindVideoElement","srcObject","addEventListener","KnownMediaStream","USER_AUDIO_STREAM","AGENT_AUDIO_STREAM","OBSERVER_AUDIO_STREAM","indexOf","play","setAttribute","playRes","then","error","handleComplete","parentElement","tagName","waitForObjectSettings","intervalInMs","timeoutInMs","repeatWithTimeout","isVideoPlaying","waitForVideoSettings","unBindVideoElement","parentNode","removeChild","warn","remove","defaultSnapshot","format","quality","sourceStream","snapshotOptions","x","y","w","h","crop","resize","tempContainer","style","cssText","doneFn","err","image","setTimeout","videoElement","getImgDataIE11","getImgData","imgData","length","canvas","ctx","getContext","width","height","drawImage","toDataURL","_drawAndRemove","base64","getFrame","Image","onload"],"mappings":"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","file":"MediaDomUtils.js","sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSnapshotFromMediaStream = exports.removeVideoElementFromDom = exports.renderMediaStreamToVideoEl = exports.calculateResolution = void 0;\nvar isUndefined_1 = __importDefault(require(\"lodash/isUndefined\"));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n//@ts-ignore\nvar ts_environment_detect_1 = require(\"@techsee/techsee-common/lib/helpers/ts-environment-detect\");\nvar retry_with_timeout_1 = require(\"@techsee/techsee-common/lib/core/retry-with-timeout\");\nvar MediaTracer_1 = require(\"./MediaTracer\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('DomUtils');\nvar isIE11 = new ts_environment_detect_1.TsEnvironmentDetect().isIE11();\nfunction calculateResolution(_a) {\n var videoWidth = _a.videoWidth, videoHeight = _a.videoHeight;\n var multiplyResolution = videoWidth * videoHeight;\n var videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.NONE;\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.HD;\n }\n if (multiplyResolution >= MediaConstants_1.VideoResolutionMultiplication.SD &&\n multiplyResolution < MediaConstants_1.VideoResolutionMultiplication.HD) {\n videoResolutionFormat = MediaConstants_1.VideoResolutionFormat.SD;\n }\n return videoResolutionFormat;\n}\nexports.calculateResolution = calculateResolution;\nfunction renderMediaStreamToVideoEl(container, mediaStream, streamType) {\n return new Promise(function (resolve, reject) {\n if (!document.body.contains(container)) {\n reject(new Error('Cannot render to container that is not attached to dom'));\n return;\n }\n var doResolve = function (videoEl) {\n trace.info('Video element created successfully', { videoEl: videoEl });\n resolve(videoEl);\n };\n var videoEl = document.createElement('video');\n videoEl.muted = true;\n videoEl.playsInline = true;\n if (isIE11 && window.WebRTCAdapter) {\n container.appendChild(videoEl);\n window.WebRTCAdapter.bindVideoElement(videoEl);\n }\n videoEl.srcObject = mediaStream;\n // When unplugged the headphones in ios the video element got paused.\n videoEl.addEventListener('pause', function () {\n if ([\n MediaConstants_1.KnownMediaStream.USER_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.AGENT_AUDIO_STREAM,\n MediaConstants_1.KnownMediaStream.OBSERVER_AUDIO_STREAM\n ].indexOf(streamType) > -1) {\n trace.info('Video element got paused. IOS headphones disconnected');\n videoEl.play();\n }\n });\n if (!isIE11) {\n // Hack to override behavior introduced by Chrome/FF that unmuted video elements can't auto play\n videoEl.setAttribute('muted', '');\n }\n try {\n var playRes = videoEl.play();\n if (playRes && playRes.then) {\n playRes.then(function () {\n trace.info('Video element play success');\n if (!isIE11) {\n doResolve(videoEl);\n }\n });\n }\n else if (!isIE11) {\n doResolve(videoEl);\n }\n if (playRes && playRes.catch) {\n playRes.catch(function (error) {\n trace.error('Reject while executing play method on video element', error);\n reject(error);\n });\n }\n }\n catch (error) {\n reject(error);\n trace.error('Error while executing play method on video element', error);\n return;\n }\n if (isIE11) {\n var handleComplete = function () { return videoEl.parentElement.tagName !== 'OBJECT'; };\n var waitForObjectSettings = { intervalInMs: 30, timeoutInMs: 200 };\n retry_with_timeout_1.repeatWithTimeout(handleComplete, waitForObjectSettings).then(function () {\n //We will wait, until video is played, then we resolve\n var isVideoPlaying = function () { return videoEl.videoHeight <= 0 || videoEl.videoWidth <= 0; };\n var waitForVideoSettings = { intervalInMs: 50, timeoutInMs: 10000 };\n retry_with_timeout_1.repeatWithTimeout(isVideoPlaying, waitForVideoSettings)\n .then(function () { return doResolve(videoEl.parentElement); })\n .catch(function () { return reject(new Error('Timeout while waiting for video to play')); });\n });\n }\n else {\n container.appendChild(videoEl);\n //doResolve(videoEl);\n }\n });\n}\nexports.renderMediaStreamToVideoEl = renderMediaStreamToVideoEl;\nfunction removeVideoElementFromDom(videoEl) {\n return new Promise(function (resolve) {\n if (isIE11 && window.WebRTCAdapter) {\n window.WebRTCAdapter.unBindVideoElement(videoEl);\n if (videoEl && videoEl.parentNode && videoEl.parentNode.removeChild) {\n videoEl.parentNode.removeChild(videoEl);\n trace.info('Video element removed successfully');\n }\n else {\n trace.warn('Video element not removed', videoEl, videoEl.parentNode);\n }\n }\n else {\n videoEl.remove();\n }\n resolve();\n });\n}\nexports.removeVideoElementFromDom = removeVideoElementFromDom;\nvar defaultSnapshot = {\n format: 'image/png',\n quality: 0.92\n};\nfunction getSnapshotFromMediaStream(mediaStream, sourceStream, snapshotOptions) {\n if (snapshotOptions === void 0) { snapshotOptions = defaultSnapshot; }\n var format = snapshotOptions.format, quality = snapshotOptions.quality, x = snapshotOptions.x, y = snapshotOptions.y, w = snapshotOptions.w, h = snapshotOptions.h;\n var crop = !isUndefined_1.default(x) && !isUndefined_1.default(y) && !isUndefined_1.default(w) && !isUndefined_1.default(h);\n var resize = !crop && (!isUndefined_1.default(w) || !isUndefined_1.default(h));\n return new Promise(function (resolve, reject) {\n var tempContainer = document.createElement('div');\n tempContainer.style.cssText = 'position:absolute;left: -10000px;';\n document.body.appendChild(tempContainer);\n var doneFn = function (err, image) {\n if (err) {\n reject(err);\n return;\n }\n setTimeout(function () {\n document.body.removeChild(tempContainer);\n if (!err) {\n resolve(image);\n }\n }, 50);\n };\n renderMediaStreamToVideoEl(tempContainer, mediaStream, sourceStream)\n .then(function (videoElement) {\n return Promise.resolve(isIE11 ? getImgDataIE11(videoElement) : getImgData(videoElement)).then(function (imgData) {\n if (!imgData || imgData.length < 10) {\n throw new Error('Failed to create a snapshot - imgData is null or empty');\n }\n doneFn(null, imgData);\n });\n })\n .catch(function (error) {\n return doneFn(error || new Error('Failed to create a snapshot - cannot render MediaStream To VideoEl'));\n });\n });\n //Gets image in all browsers except of IE\n function getImgData(videoElement) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n canvas.width = w;\n canvas.height = h;\n ctx.drawImage(videoElement, 0, 0, w, h);\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n ctx.drawImage(videoElement, 0, 0);\n }\n return canvas.toDataURL(format, quality);\n }\n //Gets image in IE browser. There should be TechSee IE11 plugin or OpenTok plugin installed.\n function getImgDataIE11(videoElement) {\n return new Promise(function (resolve) {\n var videoWidth = videoElement.videoWidth, videoHeight = videoElement.videoHeight;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (crop || resize) {\n canvas.width = w;\n canvas.height = h;\n }\n else {\n canvas.height = videoHeight;\n canvas.width = videoWidth;\n }\n function _drawAndRemove(image) {\n if (crop) {\n ctx.drawImage(image, x, y, w, h, 0, 0, w, h);\n }\n else if (resize) {\n ctx.drawImage(image, 0, 0, w, h);\n }\n else {\n ctx.drawImage(image, 0, 0, videoWidth, videoHeight);\n }\n return canvas.toDataURL(format, quality);\n }\n var base64 = videoElement.getFrame();\n var image = new Image();\n image.onload = function () { return resolve(_drawAndRemove(image)); };\n image.setAttribute('src', 'data:image/bmp;base64,' + base64);\n });\n }\n}\nexports.getSnapshotFromMediaStream = getSnapshotFromMediaStream;\n\n//# sourceMappingURL=MediaDomUtils.js.map\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AAEvF,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO;IAEP,OAAc,GAAG,QAAa,QAAQ,mBAAmB,CAAC,CAWxD;IAEF,OAAO,CAAC,IAAI,CAyBL;IAEA,aAAa,QAAO,gBAAgB,CAAsB;CACpE","file":"DetectWebRtcService.d.ts","sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport detectRTC from '@techsee/techsee-common/lib/detectrtc.js';\nimport {ClientWebRtcInfo} from '@techsee/techsee-common/lib/data-contracts/ClientInfo';\n\nexport const DETECT_RTC_ADVISED_TIMEOUT = 20000;\n\nexport const defaultWebRtcResult = {\n isWebRTCSupported: false,\n isWebsiteHasWebcamPermissions: false,\n isWebsiteHasMicrophonePermissions: false,\n isGetUserMediaSupported: false,\n isApplyConstraintsSupported: false\n};\n\nexport class DetectWebRtcService {\n private static instance?: DetectWebRtcService;\n private static initPromise: Promise<void> = Promise.resolve();\n\n private cachedResult: ClientWebRtcInfo = defaultWebRtcResult;\n\n private constructor() {}\n\n public static get = async (): Promise<DetectWebRtcService> => {\n await DetectWebRtcService.initPromise;\n\n if (!DetectWebRtcService.instance) {\n DetectWebRtcService.instance = new DetectWebRtcService();\n DetectWebRtcService.initPromise = DetectWebRtcService.instance.init();\n\n await DetectWebRtcService.initPromise;\n }\n\n return DetectWebRtcService.instance;\n };\n\n private init = async (): Promise<void> =>\n new Promise((resolve, reject) => {\n let timeoutPtr: NodeJS.Timeout | null = setTimeout(() => {\n timeoutPtr = null;\n this.cachedResult = defaultWebRtcResult;\n reject();\n }, DETECT_RTC_ADVISED_TIMEOUT);\n\n detectRTC.load(() => {\n if (timeoutPtr === null) {\n return;\n }\n\n clearTimeout(timeoutPtr);\n\n this.cachedResult = {\n isWebRTCSupported: detectRTC.isWebRTCSupported,\n isWebsiteHasWebcamPermissions: detectRTC.isWebsiteHasWebcamPermissions,\n isWebsiteHasMicrophonePermissions: detectRTC.isWebsiteHasMicrophonePermissions,\n isGetUserMediaSupported: detectRTC.isGetUserMediaSupported,\n isApplyConstraintsSupported: detectRTC.isApplyConstraintsSupported\n };\n\n resolve();\n });\n });\n\n public getWebRtcInfo = (): ClientWebRtcInfo => this.cachedResult;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/DetectWebRtcService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AAEvF,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO;IAEP,OAAc,GAAG,QAAa,QAAQ,mBAAmB,CAAC,CAWxD;IAEF,OAAO,CAAC,IAAI,CAyBL;IAEA,aAAa,QAAO,gBAAgB,CAAsB;CACpE","file":"DetectWebRtcService.d.ts","sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport detectRTC from '@techsee/techsee-common/lib/detectrtc.js';\nimport {ClientWebRtcInfo} from '@techsee/techsee-common/lib/data-contracts/ClientInfo';\n\nexport const DETECT_RTC_ADVISED_TIMEOUT = 20000;\n\nexport const defaultWebRtcResult = {\n isWebRTCSupported: false,\n isWebsiteHasWebcamPermissions: false,\n isWebsiteHasMicrophonePermissions: false,\n isGetUserMediaSupported: false,\n isApplyConstraintsSupported: false\n};\n\nexport class DetectWebRtcService {\n // eslint-disable-next-line no-use-before-define\n private static instance?: DetectWebRtcService;\n private static initPromise: Promise<void> = Promise.resolve();\n\n private cachedResult: ClientWebRtcInfo = defaultWebRtcResult;\n\n private constructor() {}\n\n public static get = async (): Promise<DetectWebRtcService> => {\n await DetectWebRtcService.initPromise;\n\n if (!DetectWebRtcService.instance) {\n DetectWebRtcService.instance = new DetectWebRtcService();\n DetectWebRtcService.initPromise = DetectWebRtcService.instance.init();\n\n await DetectWebRtcService.initPromise;\n }\n\n return DetectWebRtcService.instance;\n };\n\n private init = async (): Promise<void> =>\n new Promise((resolve, reject) => {\n let timeoutPtr: NodeJS.Timeout | null = setTimeout(() => {\n timeoutPtr = null;\n this.cachedResult = defaultWebRtcResult;\n reject();\n }, DETECT_RTC_ADVISED_TIMEOUT);\n\n detectRTC.load(() => {\n if (timeoutPtr === null) {\n return;\n }\n\n clearTimeout(timeoutPtr);\n\n this.cachedResult = {\n isWebRTCSupported: detectRTC.isWebRTCSupported,\n isWebsiteHasWebcamPermissions: detectRTC.isWebsiteHasWebcamPermissions,\n isWebsiteHasMicrophonePermissions: detectRTC.isWebsiteHasMicrophonePermissions,\n isGetUserMediaSupported: detectRTC.isGetUserMediaSupported,\n isApplyConstraintsSupported: detectRTC.isApplyConstraintsSupported\n };\n\n resolve();\n });\n });\n\n public getWebRtcInfo = (): ClientWebRtcInfo => this.cachedResult;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesService.ts"],"names":[],"mappings":"AAYA,qBAAa,wBAAwB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,iBAAiB,CAAyC;IAElE,OAAO,CAAC,WAAW,CAGjB;IAEF,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,OAAO;WAEa,WAAW,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAatD,IAAI;IAUX,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAQxB,SAAS,IAAI,OAAO;IAId,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;CACJ","file":"MediaCapabilitiesService.d.ts","sourcesContent":["import {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {getMediaTracer} from './MediaTracer';\nimport {defaultWebRtcResult, DetectWebRtcService} from './DetectWebRtcService';\nimport {ClientWebRtcInfo} from './types';\n\nconst trace = getMediaTracer('MediaCapabilitiesService');\n\ntype DevicesList = {\n video: MediaDeviceInfo[];\n audio: MediaDeviceInfo[];\n};\n\nexport class MediaCapabilitiesService {\n private static instance: MediaCapabilitiesService;\n private static initPromise: Promise<void> = Promise.resolve();\n\n private webRtcSupportInfo: ClientWebRtcInfo = defaultWebRtcResult;\n\n private devicesList: DevicesList = {\n video: [],\n audio: []\n };\n\n private environmentService = new TsEnvironmentDetect();\n\n private constructor() {}\n\n public static async getInstance(): Promise<MediaCapabilitiesService> {\n await this.initPromise;\n\n if (!this.instance) {\n this.instance = new MediaCapabilitiesService();\n this.initPromise = this.instance.init();\n\n await this.initPromise;\n }\n\n return this.instance;\n }\n\n private async init(): Promise<void> {\n const detectWebRtcService = await DetectWebRtcService.get();\n\n this.webRtcSupportInfo = detectWebRtcService.getWebRtcInfo();\n\n await this.updateDevicesList();\n\n trace.info('initialize media capabilities helper successfully');\n }\n\n public hasCamera(): boolean {\n return this.devicesList.video.length > 0 && this.webRtcSupportInfo.isGetUserMediaSupported;\n }\n\n public hasMicrophone(): boolean {\n const userMediaSupported = this.webRtcSupportInfo.isGetUserMediaSupported;\n\n return this.environmentService.isIOS()\n ? userMediaSupported\n : this.devicesList.audio.length > 0 && userMediaSupported;\n }\n\n public hasWebRTC(): boolean {\n return this.webRtcSupportInfo.isWebRTCSupported;\n }\n\n public async updateDevicesList(reverse?: boolean): Promise<void> {\n const localDevicesList = this.webRtcSupportInfo.isWebRTCSupported\n ? (await navigator?.mediaDevices?.enumerateDevices()) || []\n : [];\n\n this.devicesList = {\n video: localDevicesList.filter((device) => device.kind.toLowerCase() === 'videoinput'),\n audio: localDevicesList.filter((device) => device.kind.toLowerCase() === 'audioinput')\n };\n if (reverse) {\n this.devicesList.video.reverse();\n }\n }\n\n public get supportSwitchCamera(): boolean {\n return this.devicesList.video.length > 1;\n }\n\n public get backCameraDeviceId(): string {\n return this.devicesList.video[this.devicesList.video.length - 1]?.deviceId || '';\n }\n\n public get frontCameraDeviceId(): string {\n return this.devicesList.video[0]?.deviceId || '';\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/MediaCapabilitiesService.ts"],"names":[],"mappings":"AAYA,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAoC;IAE9D,OAAO,CAAC,iBAAiB,CAAyC;IAElE,OAAO,CAAC,WAAW,CAGjB;IAEF,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,OAAO;WAEa,WAAW,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAatD,IAAI;IAUX,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,OAAO;IAQxB,SAAS,IAAI,OAAO;IAId,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;CACJ","file":"MediaCapabilitiesService.d.ts","sourcesContent":["import {TsEnvironmentDetect} from '@techsee/techsee-common/lib/helpers/ts-environment-detect';\nimport {getMediaTracer} from './MediaTracer';\nimport {defaultWebRtcResult, DetectWebRtcService} from './DetectWebRtcService';\nimport {ClientWebRtcInfo} from './types';\n\nconst trace = getMediaTracer('MediaCapabilitiesService');\n\ntype DevicesList = {\n video: MediaDeviceInfo[];\n audio: MediaDeviceInfo[];\n};\n\nexport class MediaCapabilitiesService {\n // eslint-disable-next-line no-use-before-define\n private static instance: MediaCapabilitiesService;\n private static initPromise: Promise<void> = Promise.resolve();\n\n private webRtcSupportInfo: ClientWebRtcInfo = defaultWebRtcResult;\n\n private devicesList: DevicesList = {\n video: [],\n audio: []\n };\n\n private environmentService = new TsEnvironmentDetect();\n\n private constructor() {}\n\n public static async getInstance(): Promise<MediaCapabilitiesService> {\n await this.initPromise;\n\n if (!this.instance) {\n this.instance = new MediaCapabilitiesService();\n this.initPromise = this.instance.init();\n\n await this.initPromise;\n }\n\n return this.instance;\n }\n\n private async init(): Promise<void> {\n const detectWebRtcService = await DetectWebRtcService.get();\n\n this.webRtcSupportInfo = detectWebRtcService.getWebRtcInfo();\n\n await this.updateDevicesList();\n\n trace.info('initialize media capabilities helper successfully');\n }\n\n public hasCamera(): boolean {\n return this.devicesList.video.length > 0 && this.webRtcSupportInfo.isGetUserMediaSupported;\n }\n\n public hasMicrophone(): boolean {\n const userMediaSupported = this.webRtcSupportInfo.isGetUserMediaSupported;\n\n return this.environmentService.isIOS()\n ? userMediaSupported\n : this.devicesList.audio.length > 0 && userMediaSupported;\n }\n\n public hasWebRTC(): boolean {\n return this.webRtcSupportInfo.isWebRTCSupported;\n }\n\n public async updateDevicesList(reverse?: boolean): Promise<void> {\n const localDevicesList = this.webRtcSupportInfo.isWebRTCSupported\n ? (await navigator?.mediaDevices?.enumerateDevices()) || []\n : [];\n\n this.devicesList = {\n video: localDevicesList.filter((device) => device.kind.toLowerCase() === 'videoinput'),\n audio: localDevicesList.filter((device) => device.kind.toLowerCase() === 'audioinput')\n };\n if (reverse) {\n this.devicesList.video.reverse();\n }\n }\n\n public get supportSwitchCamera(): boolean {\n return this.devicesList.video.length > 1;\n }\n\n public get backCameraDeviceId(): string {\n return this.devicesList.video[this.devicesList.video.length - 1]?.deviceId || '';\n }\n\n public get frontCameraDeviceId(): string {\n return this.devicesList.video[0]?.deviceId || '';\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { MultipartyServiceEventTypesMap } from './MultipartyServiceEventTypes';
2
2
  import { SessionSettings } from './types';
3
3
  import { TypedEventEmitter } from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';
4
- import { SessionClientRole } from '../MediaConstants';
4
+ import { SessionClientRole, VideoTypesEnum } from '../MediaConstants';
5
5
  export declare const DEFAULT_AVATAR_URI = "data:image/png;base64,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";
6
- export declare const maxParticipantsNumber = 2;
6
+ export declare const maxParticipantsNumber = 3;
7
7
  export declare type OTError = {
8
8
  name: string;
9
9
  message: string;
@@ -29,16 +29,20 @@ export declare type SubscriberInfo = {
29
29
  subscriber: MultipartySubscriber;
30
30
  connectionId: string;
31
31
  clientRole: SessionClientRole | 'default';
32
+ videoType: VideoTypesEnum;
32
33
  };
33
34
  export declare abstract class MultiPartyService extends TypedEventEmitter<MultipartyServiceEventTypesMap> {
34
35
  abstract subscribers: Readonly<SubscriberInfo>[];
35
36
  abstract ownConnectionId: string;
36
37
  abstract connect(...args: any[]): void;
37
38
  abstract disconnect(): void;
38
- abstract reinitializeStreams(settings: SessionSettings): Promise<void>;
39
+ abstract reinitializeStreams(settings: SessionSettings): Promise<void[]>;
39
40
  abstract switchCamera(): Promise<void>;
40
41
  abstract publishAudio(shouldMute: boolean): Promise<void>;
41
42
  abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;
42
- abstract takeSnapshot(connectionId: string): string | null;
43
+ abstract publishScreen(): Promise<void>;
44
+ abstract stopScreenPublisher(): void | undefined;
45
+ abstract isScreenSharingSupported(isScreenSharingCapabilitiesEnabled?: boolean): Promise<boolean>;
46
+ abstract takeSnapshot(connectionId: string, videoType: VideoTypesEnum): string | null;
43
47
  }
44
48
  export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MultiPartyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAGpD,eAAO,MAAM,kBAAkB,uqLACyoL,CAAC;AAEzqL,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAIvC,oBAAY,OAAO,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,kBAAkB,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,aAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;AACzF,oBAAY,oBAAoB,GAAG;IAC/B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,oBAAY,cAAc,GAAG;IACzB,UAAU,EAAE,oBAAoB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,8BAAsB,iBAAkB,SAAQ,iBAAiB,CAAC,8BAA8B,CAAC;IAC7F,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAEjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtE,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzD,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAC7D","file":"MultiPartyService.d.ts","sourcesContent":["import {MultipartyServiceEventTypesMap} from './MultipartyServiceEventTypes';\nimport {SessionSettings} from './types';\nimport {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {SessionClientRole} from '../MediaConstants';\n\n// eslint-disable-next-line max-len\nexport const DEFAULT_AVATAR_URI =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQcAAAFKCAYAAAAQbZoVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABB+SURBVHgB7d3NbxzlAcfxJ9jrtXFiE4MdQhOE1NALnBJUQbjwciDJBfVC20NVVaIvEgf4r4C0asWFwqFApRIuJD006aExQoqjgu3EiZM4fo87v3FXMuufvbO7MzvPbL4fyUoxTYC1/d3neeaZZw689+4734at8EwAgB0eCQBgEAcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcA1mBAX3vkkUfCwMBAqA0NhaHaUPrXg4OD6ecaf18fzTY2NsKDBw/C1tZW8utmWFtbDxubG2FzczOsr62lfw/9jTj0mXq9HoaSENSSEOh/KwSdaP59IyM//PuKx/r6WlhdXQ1r6+thdWUloL8Qh4rTu/5w8pM7XB9OfoBH7CigCIqHPkZGHk3/WiOJ1dWVsLy8nH4wsqg+4lBBCoBGBYcOHUpHCL0Kwn7076BQNGKxvHw/jcTS0lJANRGHChkYHAgHRw+GgwcPRRGE/TRCMTY2nk49Fu/cDpsbmwHVQRwqQKOE8fHx5NfhUDWN6cfo6Gg6ili6v8T6REUQh4hVOQqOAqEPjSRuLtxgJBE54hAhTR8en3i8b6LQTNF76uiP0pEE0414EYeIaB1Bi4xVWFPIQ2MkcefOYlhcXAyIC3GIhN5NJ5LRQqf7EqpMi5aPPjoaFm4tsB4REeJQMo0QtK6g0cLDTFGcmpwKd+/eDbdv3wooH3EokdYWpiaPPJSjhb1oWqXNXHPzs6xFlIwbr0qiufaTR44SBkOviV4bhQLl4TuzBJpjayqBvWm69dhjh9NfWawsB3Hooe1v+MeSUcPBgGwU0lqtFhYWFrhfo8eYVvSI1hcmkwU3wtA+bcPWa6fXEL1DHHqgsfCoW6nRGb12eg0JRO8Qh4JxRSI/25c7CUSvEIcCEYb8EYjeIQ4F0eLjE49PEoYC6DXVa/swbDEvE69uQbQVmjWG4ui11ZUfFIc4FECX30aaD11E7nTlh/0ixSEOOdOuPr5he0ch1m5T5I845EiLZPpmRW9pJyULlPkjDjnSKjqLZL2n15zXPn+8mjk5fPgwVyZKpNeeUVu+iEMOdFDLw34eQwy03lMf7s+j9cpAHHKgy5aIw8ThCaYXOeFV7JKGskwn4qGvBedA5IM4dEEr5Fy2jI+meFy96B5x6ML4GDv0YqRpxeMTTwR0hzh0SO9MbL6JlxaJWZzsDnHo0MRhFiFjN86lza6wktYBPYlquA/elbSYOjU1lb7D1utD6X/XnTt30jMbV1dXwvzcXKiyxuiBZ2F0hjh0oMrTiWPHnw4nTpwIJ559tuWmoTtJJGZmZsI301fDdPJRRRo9zBGHjhCHNlV1rUFROH36dPprVmPJlZjn9PH882kovvrqy3Dl8uVQJRo96GvGMzDaRxzaVLUrFGNjY+HM2XNtRcH+OUkk3jhzLrz00svh/Ifvp9OPqjg4epDj7TvAgmSb9E5UFSdOPBt+9evfdB2GnRSJt3/3h/DS6ZdDVTwsDybOGyOHNmg6UZXdkCdPngqvvPb6vv+f68l6wtzcbJifn0//eiWZm2uhdXJyMlmoPJJE5fiev7cRh68ufBlipzAo6svLywHZEYc26PkJVfDcc8/vGYbV1dVw6eLX6Yf+9360YKn1Bn24xcsqBeLQoTHi0KaBF1/86XvJr2z1a0HvPlW4wUprDG/94pf272mk8Oc//TG9+rC52XqBTvHQ75m+Op1e5tRlz2bHkymL5vPz83Ff9tTXb2npXtja2grIholYRlU5E/Ktn/sw6N19eyGx/YU5/Z5PP/l4zxHCq8koRVGKmeIwzLmebSEOGVVhSqFh/pi5EUw/1HkM/ff6czSf1xWR2A3X2U7dDuKQUexXKfTO7a4g5BWGnX+e1iua6YrIfguYMeBE8PYQhww03479Uph2PDbTdKCIxcIvPv8sucqxe43hdOSXN9OrFtyMlRlxyGBoqBZid/LkC7s+98Vnn4Wi/P3zv+36nEYP9eG4R1i1wfi/lrEgDhnUI5+ral9C81qDRg1F3g+hey6uz1zb9XltvIoZTyHLjjhkUKvF/W5z3OyAvHTxYija9NXd8Tl2LL/dmEWo0g7XshGHFjRPjX1XpNsePWPe1fM2PT2963NTR6ZCzPS1ZCt1NrxKLdRq8Q9Dh808vxdnMWjq0rzLsgrPjhgcYGNwFsShhYGB+A8q3bXe0MM7EHUozE5VGLYPVmCBOQbEoQWOne8/QxUYDcaAOLTA6nb/Yc0hG16lFg4cOBBi1zyN0DSjV/sNmtcYWt3pGQNGg9kQhxaq8C6zaE5lmpws/qqB9lc0q8KhtFVYR4oBcWihCnGYn53d9bnjx4vfb+D+GTo8Bv2BOLRQhSGo229w8tQLoWjunzFzfSbEjjWHbHiV+oD2GzRvZdYlRZ3gVJT0dCizZfubq/EfYU8csuFV6hNuK/Mrr75eyMJkenv4S7vvwJy5Fv+oAdkRhz5x5crlXVcKNHp4882fhbzpfMq9DpVB/yAOfUJhuHDhH7s+r/suNILIiw6UcXdeKgydHEGHeBGHFh48eBCq4p8XL9rbqE+eOtX1FEOjkDfOnrOnTRV1qAzKxW6QFhSH2Bew9IM7OXUkfQbmXhQI/f2PPvpL23sRNPo4c+asnUrI6spqEp/Xtk+qrsAzNTc2NgJaO/Deu+98G7bCMwHW0aNPRXs5U1HQ5UR9tHPDk46mv7jHKGOnTp6vqd2aWv+4dOnrNBoxWltbC7Oz3wfsj5FDC3qXiTEOrd7N9/PjZM1AH1qnmJ+bTc+DbCxmKjJ6PoVGIp3cYal/H0099GCdTz75OB1NxIZnV2RDHFrI8vCXXtMP3hs5HAWvH/7tU6Pz302pSOgZGnmffp2HKq0jlYk4tBDbN1LWMDQ/BTuvh860++dqFNF4BF8sNK1Aa8ShhZi+kfSDuNczMLcXA/+TPrrOXVLU3ZPpcL/DXZP68y8kIwC3TqE/+9jTx9Oj6d1JUFqs1LF1sdyUtbHJgmQWLEi2UBuqhSePHA0xePu3v7drDHqORNZ3Zv3wnnj2RHLl4if7PoRmez1iLv2hzvLQ3QYFyF3uVFTOf/hBiMHcfLLGsrISsD9GDi1sbsSx5uDuZZBP//pxenUgK40qdDJ143Rq3do9PDwchv6/+LiWREAPxu10Q5PWFxaT33vmzA+nPlrX0IN3piO492KdaUUmxKEFrTnEcMVCaw3N9IPYThicIp6O/e/Ll8NUEp3muzZPnjxVehz0tWRBMht2SGZQ9ulGjasKO8W+K1H/bs2vWwxPxFpfXw/IhjhksL5e7jB0aurIrs/FfgekwnDl8r92ff7Y8XIferPCWkNmxCGDtbVy323GxndfLux2OtEL7srGcMlH169vMHLIijhkoGczlDlPdZcHm58XEaPFRX9JtSz6GnKVIjvikNHy8nKISaz3Ley0uhrXVYEqnIwdE+KQEXPV6ltevh+QHXHIaGVlmUtgbarX43ogUGyjv9gRh4wUhrK2UrsNSdpQFDt3dH1Zp0UpDMS9PWyCasO9e3fT3YS9NmeeS6EtytrdeD3So+DTQ2jNNuq5ku6vYErRPuLQBi1olXEy1Pz8fHpZcOcegcbR80UeP583jRrKuPlKuyKXlpYC2sO0og0Kw927d0MZ+uGMxvMflHPjFVcpOkMc2nT/fjnvQDMzM+nJSlWlG8TKWm/gVOzOMK1ok4aouqxZxtqDbmi6fm0mnDl7bt/brWOy3zkQvaDpBAfKdoY4dECnIZURh+1/9mI4/+H76U7Dyamp0v49spi5dq30d+2l+6w1dIo4dEBbl8saPTToh47h8v601sB26c6x5tCh5rMUEZ+FhZsBnSMOHWqMHhAn1hq6Rxy6cOvWArvuIsWUq3vEoQt6Zypr3wP2pjAwaugeceiStlTzjRgPfS3cORJoH3HokqYVCwsLAXFgETI/xCEHWpxkelE+fQ3YKp0f4pAT5rnl0mt/+/atgPwQh5xoeqFnQHD1ovcarz3yRRxyxLtXObQAyagtf8QhZ9p8w2p572g6pytGyB9xKIC+YZeW7gUUS0e/EeLiEIeC3L59u/QnZfUznefJZctiEYeCaJHsxo0bzIULoNf05s0bLP4WjDgUSN/EWkUnEPnhNe0d4lAwvpnzw2vZW8ShBxrf1KxBdE5rDISht4hDj+ibWs9s4KlL7dOVH8LQe8Shh7YXKee5/NYGXRbWjW0sPvYeZ0iWQN/wW1sP0kNie/2AnKpQDLTblIfRlIc4lER3EGqKoUfaDQ7yZdiJhcc48LZVIn3zf/fdf7ndewe9FrOz3xOGCPCWFQENnzWKmJiYeGhHEYqBdjxyHkM8iEMkdGCMRhFahxgfHw8Pi8bzR3XzFIuOcSEOkdFipZ7HqUiMjo6Gfqaj/XWCN1OIOBGHCDWG2ArF4cMTUT/yrhOKgv7bmELEjThErLFqX68Pp6OIqo8kiEK1EIcK0HqEPvSDpelGvV6vzMJlY01BUyWmD9VCHCqkMd0QjSJGRh5NPkZCbBQE3QuhRUaNElhorCbiUFHaOagP7bBUIBQKjSjK2nGpAOhy7IqeIZr8ShCqjzhUnH4IG6EQrU8MDdXSX2u1WmHTD41iNCrQnaYaJbCO0H+IQ59prE80dl1qJFGrDYWBwYEwODCYhGMoHDhwIP28Plw8FJzGO78isLm5uT1VSEKwsb6efo6RQf8jDn1OP8SKReCNHW3i3goAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGD9D7w3oqmvc81MAAAAAElFTkSuQmCC';\n\nexport const maxParticipantsNumber = 2;\n\n// ToDo: SubscriberInfo and GetStatsCb will need to be abstracted. Right now they are OT specific.\n// As a quick temporary fix replace with local redefinition of OT types\nexport type OTError = {\n name: string;\n message: string;\n};\n\nexport type IncomingTrackStats = {\n bytesReceived: number;\n packetsLost: number;\n packetsReceived: number;\n};\n\nexport type SubscriberStats = {\n audio: IncomingTrackStats;\n video: IncomingTrackStats & {frameRate: number};\n timestamp: number;\n};\n\ntype GetStatsCb = (callback: (error?: OTError, stats?: SubscriberStats) => void) => void;\nexport type MultipartySubscriber = {\n getImgData: () => string | null;\n getStats: GetStatsCb;\n};\n\nexport type SubscriberInfo = {\n subscriber: MultipartySubscriber;\n connectionId: string;\n clientRole: SessionClientRole | 'default';\n};\n\nexport abstract class MultiPartyService extends TypedEventEmitter<MultipartyServiceEventTypesMap> {\n abstract subscribers: Readonly<SubscriberInfo>[];\n\n abstract ownConnectionId: string;\n\n abstract connect(...args: any[]): void;\n\n abstract disconnect(): void;\n\n abstract reinitializeStreams(settings: SessionSettings): Promise<void>;\n\n abstract switchCamera(): Promise<void>;\n\n abstract publishAudio(shouldMute: boolean): Promise<void>;\n\n abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;\n\n abstract takeSnapshot(connectionId: string): string | null;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/MultiPartyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGpE,eAAO,MAAM,kBAAkB,uqLACyoL,CAAC;AAEzqL,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAIvC,oBAAY,OAAO,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,kBAAkB,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,aAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAC;AACzF,oBAAY,oBAAoB,GAAG;IAC/B,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,oBAAY,cAAc,GAAG;IACzB,UAAU,EAAE,oBAAoB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,8BAAsB,iBAAkB,SAAQ,iBAAiB,CAAC,8BAA8B,CAAC;IAC7F,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IAEjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAEtC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAExE,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzD,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,GAAG,SAAS;IAEhD,QAAQ,CAAC,wBAAwB,CAAC,kCAAkC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjG,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;CACxF","file":"MultiPartyService.d.ts","sourcesContent":["import {MultipartyServiceEventTypesMap} from './MultipartyServiceEventTypes';\nimport {SessionSettings} from './types';\nimport {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {SessionClientRole, VideoTypesEnum} from '../MediaConstants';\n\n// eslint-disable-next-line max-len\nexport const DEFAULT_AVATAR_URI =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQcAAAFKCAYAAAAQbZoVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABB+SURBVHgB7d3NbxzlAcfxJ9jrtXFiE4MdQhOE1NALnBJUQbjwciDJBfVC20NVVaIvEgf4r4C0asWFwqFApRIuJD006aExQoqjgu3EiZM4fo87v3FXMuufvbO7MzvPbL4fyUoxTYC1/d3neeaZZw689+4734at8EwAgB0eCQBgEAcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcA1mBAX3vkkUfCwMBAqA0NhaHaUPrXg4OD6ecaf18fzTY2NsKDBw/C1tZW8utmWFtbDxubG2FzczOsr62lfw/9jTj0mXq9HoaSENSSEOh/KwSdaP59IyM//PuKx/r6WlhdXQ1r6+thdWUloL8Qh4rTu/5w8pM7XB9OfoBH7CigCIqHPkZGHk3/WiOJ1dWVsLy8nH4wsqg+4lBBCoBGBYcOHUpHCL0Kwn7076BQNGKxvHw/jcTS0lJANRGHChkYHAgHRw+GgwcPRRGE/TRCMTY2nk49Fu/cDpsbmwHVQRwqQKOE8fHx5NfhUDWN6cfo6Gg6ili6v8T6REUQh4hVOQqOAqEPjSRuLtxgJBE54hAhTR8en3i8b6LQTNF76uiP0pEE0414EYeIaB1Bi4xVWFPIQ2MkcefOYlhcXAyIC3GIhN5NJ5LRQqf7EqpMi5aPPjoaFm4tsB4REeJQMo0QtK6g0cLDTFGcmpwKd+/eDbdv3wooH3EokdYWpiaPPJSjhb1oWqXNXHPzs6xFlIwbr0qiufaTR44SBkOviV4bhQLl4TuzBJpjayqBvWm69dhjh9NfWawsB3Hooe1v+MeSUcPBgGwU0lqtFhYWFrhfo8eYVvSI1hcmkwU3wtA+bcPWa6fXEL1DHHqgsfCoW6nRGb12eg0JRO8Qh4JxRSI/25c7CUSvEIcCEYb8EYjeIQ4F0eLjE49PEoYC6DXVa/swbDEvE69uQbQVmjWG4ui11ZUfFIc4FECX30aaD11E7nTlh/0ixSEOOdOuPr5he0ch1m5T5I845EiLZPpmRW9pJyULlPkjDjnSKjqLZL2n15zXPn+8mjk5fPgwVyZKpNeeUVu+iEMOdFDLw34eQwy03lMf7s+j9cpAHHKgy5aIw8ThCaYXOeFV7JKGskwn4qGvBedA5IM4dEEr5Fy2jI+meFy96B5x6ML4GDv0YqRpxeMTTwR0hzh0SO9MbL6JlxaJWZzsDnHo0MRhFiFjN86lza6wktYBPYlquA/elbSYOjU1lb7D1utD6X/XnTt30jMbV1dXwvzcXKiyxuiBZ2F0hjh0oMrTiWPHnw4nTpwIJ559tuWmoTtJJGZmZsI301fDdPJRRRo9zBGHjhCHNlV1rUFROH36dPprVmPJlZjn9PH882kovvrqy3Dl8uVQJRo96GvGMzDaRxzaVLUrFGNjY+HM2XNtRcH+OUkk3jhzLrz00svh/Ifvp9OPqjg4epDj7TvAgmSb9E5UFSdOPBt+9evfdB2GnRSJt3/3h/DS6ZdDVTwsDybOGyOHNmg6UZXdkCdPngqvvPb6vv+f68l6wtzcbJifn0//eiWZm2uhdXJyMlmoPJJE5fiev7cRh68ufBlipzAo6svLywHZEYc26PkJVfDcc8/vGYbV1dVw6eLX6Yf+9360YKn1Bn24xcsqBeLQoTHi0KaBF1/86XvJr2z1a0HvPlW4wUprDG/94pf272mk8Oc//TG9+rC52XqBTvHQ75m+Op1e5tRlz2bHkymL5vPz83Ff9tTXb2npXtja2grIholYRlU5E/Ktn/sw6N19eyGx/YU5/Z5PP/l4zxHCq8koRVGKmeIwzLmebSEOGVVhSqFh/pi5EUw/1HkM/ff6czSf1xWR2A3X2U7dDuKQUexXKfTO7a4g5BWGnX+e1iua6YrIfguYMeBE8PYQhww03479Uph2PDbTdKCIxcIvPv8sucqxe43hdOSXN9OrFtyMlRlxyGBoqBZid/LkC7s+98Vnn4Wi/P3zv+36nEYP9eG4R1i1wfi/lrEgDhnUI5+ral9C81qDRg1F3g+hey6uz1zb9XltvIoZTyHLjjhkUKvF/W5z3OyAvHTxYija9NXd8Tl2LL/dmEWo0g7XshGHFjRPjX1XpNsePWPe1fM2PT2963NTR6ZCzPS1ZCt1NrxKLdRq8Q9Dh808vxdnMWjq0rzLsgrPjhgcYGNwFsShhYGB+A8q3bXe0MM7EHUozE5VGLYPVmCBOQbEoQWOne8/QxUYDcaAOLTA6nb/Yc0hG16lFg4cOBBi1zyN0DSjV/sNmtcYWt3pGQNGg9kQhxaq8C6zaE5lmpws/qqB9lc0q8KhtFVYR4oBcWihCnGYn53d9bnjx4vfb+D+GTo8Bv2BOLRQhSGo229w8tQLoWjunzFzfSbEjjWHbHiV+oD2GzRvZdYlRZ3gVJT0dCizZfubq/EfYU8csuFV6hNuK/Mrr75eyMJkenv4S7vvwJy5Fv+oAdkRhz5x5crlXVcKNHp4882fhbzpfMq9DpVB/yAOfUJhuHDhH7s+r/suNILIiw6UcXdeKgydHEGHeBGHFh48eBCq4p8XL9rbqE+eOtX1FEOjkDfOnrOnTRV1qAzKxW6QFhSH2Bew9IM7OXUkfQbmXhQI/f2PPvpL23sRNPo4c+asnUrI6spqEp/Xtk+qrsAzNTc2NgJaO/Deu+98G7bCMwHW0aNPRXs5U1HQ5UR9tHPDk46mv7jHKGOnTp6vqd2aWv+4dOnrNBoxWltbC7Oz3wfsj5FDC3qXiTEOrd7N9/PjZM1AH1qnmJ+bTc+DbCxmKjJ6PoVGIp3cYal/H0099GCdTz75OB1NxIZnV2RDHFrI8vCXXtMP3hs5HAWvH/7tU6Pz302pSOgZGnmffp2HKq0jlYk4tBDbN1LWMDQ/BTuvh860++dqFNF4BF8sNK1Aa8ShhZi+kfSDuNczMLcXA/+TPrrOXVLU3ZPpcL/DXZP68y8kIwC3TqE/+9jTx9Oj6d1JUFqs1LF1sdyUtbHJgmQWLEi2UBuqhSePHA0xePu3v7drDHqORNZ3Zv3wnnj2RHLl4if7PoRmez1iLv2hzvLQ3QYFyF3uVFTOf/hBiMHcfLLGsrISsD9GDi1sbsSx5uDuZZBP//pxenUgK40qdDJ143Rq3do9PDwchv6/+LiWREAPxu10Q5PWFxaT33vmzA+nPlrX0IN3piO492KdaUUmxKEFrTnEcMVCaw3N9IPYThicIp6O/e/Ll8NUEp3muzZPnjxVehz0tWRBMht2SGZQ9ulGjasKO8W+K1H/bs2vWwxPxFpfXw/IhjhksL5e7jB0aurIrs/FfgekwnDl8r92ff7Y8XIferPCWkNmxCGDtbVy323GxndfLux2OtEL7srGcMlH169vMHLIijhkoGczlDlPdZcHm58XEaPFRX9JtSz6GnKVIjvikNHy8nKISaz3Ley0uhrXVYEqnIwdE+KQEXPV6ltevh+QHXHIaGVlmUtgbarX43ogUGyjv9gRh4wUhrK2UrsNSdpQFDt3dH1Zp0UpDMS9PWyCasO9e3fT3YS9NmeeS6EtytrdeD3So+DTQ2jNNuq5ku6vYErRPuLQBi1olXEy1Pz8fHpZcOcegcbR80UeP583jRrKuPlKuyKXlpYC2sO0og0Kw927d0MZ+uGMxvMflHPjFVcpOkMc2nT/fjnvQDMzM+nJSlWlG8TKWm/gVOzOMK1ok4aouqxZxtqDbmi6fm0mnDl7bt/brWOy3zkQvaDpBAfKdoY4dECnIZURh+1/9mI4/+H76U7Dyamp0v49spi5dq30d+2l+6w1dIo4dEBbl8saPTToh47h8v601sB26c6x5tCh5rMUEZ+FhZsBnSMOHWqMHhAn1hq6Rxy6cOvWArvuIsWUq3vEoQt6Zypr3wP2pjAwaugeceiStlTzjRgPfS3cORJoH3HokqYVCwsLAXFgETI/xCEHWpxkelE+fQ3YKp0f4pAT5rnl0mt/+/atgPwQh5xoeqFnQHD1ovcarz3yRRxyxLtXObQAyagtf8QhZ9p8w2p572g6pytGyB9xKIC+YZeW7gUUS0e/EeLiEIeC3L59u/QnZfUznefJZctiEYeCaJHsxo0bzIULoNf05s0bLP4WjDgUSN/EWkUnEPnhNe0d4lAwvpnzw2vZW8ShBxrf1KxBdE5rDISht4hDj+ibWs9s4KlL7dOVH8LQe8Shh7YXKee5/NYGXRbWjW0sPvYeZ0iWQN/wW1sP0kNie/2AnKpQDLTblIfRlIc4lER3EGqKoUfaDQ7yZdiJhcc48LZVIn3zf/fdf7ndewe9FrOz3xOGCPCWFQENnzWKmJiYeGhHEYqBdjxyHkM8iEMkdGCMRhFahxgfHw8Pi8bzR3XzFIuOcSEOkdFipZ7HqUiMjo6Gfqaj/XWCN1OIOBGHCDWG2ArF4cMTUT/yrhOKgv7bmELEjThErLFqX68Pp6OIqo8kiEK1EIcK0HqEPvSDpelGvV6vzMJlY01BUyWmD9VCHCqkMd0QjSJGRh5NPkZCbBQE3QuhRUaNElhorCbiUFHaOagP7bBUIBQKjSjK2nGpAOhy7IqeIZr8ShCqjzhUnH4IG6EQrU8MDdXSX2u1WmHTD41iNCrQnaYaJbCO0H+IQ59prE80dl1qJFGrDYWBwYEwODCYhGMoHDhwIP28Plw8FJzGO78isLm5uT1VSEKwsb6efo6RQf8jDn1OP8SKReCNHW3i3goAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGD9D7w3oqmvc81MAAAAAElFTkSuQmCC';\n\nexport const maxParticipantsNumber = 3;\n\n// ToDo: SubscriberInfo and GetStatsCb will need to be abstracted. Right now they are OT specific.\n// As a quick temporary fix replace with local redefinition of OT types\nexport type OTError = {\n name: string;\n message: string;\n};\n\nexport type IncomingTrackStats = {\n bytesReceived: number;\n packetsLost: number;\n packetsReceived: number;\n};\n\nexport type SubscriberStats = {\n audio: IncomingTrackStats;\n video: IncomingTrackStats & {frameRate: number};\n timestamp: number;\n};\n\ntype GetStatsCb = (callback: (error?: OTError, stats?: SubscriberStats) => void) => void;\nexport type MultipartySubscriber = {\n getImgData: () => string | null;\n getStats: GetStatsCb;\n};\n\nexport type SubscriberInfo = {\n subscriber: MultipartySubscriber;\n connectionId: string;\n clientRole: SessionClientRole | 'default';\n videoType: VideoTypesEnum;\n};\n\nexport abstract class MultiPartyService extends TypedEventEmitter<MultipartyServiceEventTypesMap> {\n abstract subscribers: Readonly<SubscriberInfo>[];\n\n abstract ownConnectionId: string;\n\n abstract connect(...args: any[]): void;\n\n abstract disconnect(): void;\n\n abstract reinitializeStreams(settings: SessionSettings): Promise<void[]>;\n\n abstract switchCamera(): Promise<void>;\n\n abstract publishAudio(shouldMute: boolean): Promise<void>;\n\n abstract publishVideo(shouldPublishVideo: boolean): Promise<void>;\n\n abstract publishScreen(): Promise<void>;\n\n abstract stopScreenPublisher(): void | undefined;\n\n abstract isScreenSharingSupported(isScreenSharingCapabilitiesEnabled?: boolean): Promise<boolean>;\n\n abstract takeSnapshot(connectionId: string, videoType: VideoTypesEnum): string | null;\n}\n"]}
@@ -35,7 +35,7 @@ var TypedEventEmitter_1 = require("@techsee/techsee-common/lib/helpers/TypedEven
35
35
 
36
36
 
37
37
  exports.DEFAULT_AVATAR_URI = 'data:image/png;base64,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';
38
- exports.maxParticipantsNumber = 2;
38
+ exports.maxParticipantsNumber = 3;
39
39
 
40
40
  var MultiPartyService =
41
41
  /** @class */
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/MultiPartyService.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","defineProperty","exports","value","MultiPartyService","maxParticipantsNumber","DEFAULT_AVATAR_URI","TypedEventEmitter_1","require","_super","apply","arguments","TypedEventEmitter"],"mappings":"AAAA;;AACA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA6B,YAAY;AACrD,MAAIC,cAAa,GAAG,uBAAUC,CAAV,EAAaC,CAAb,EAAgB;AAChCF,IAAAA,cAAa,GAAGG,MAAM,CAACC,cAAP,IACX;AAAEC,MAAAA,SAAS,EAAE;AAAb,iBAA6BC,KAA7B,IAAsC,UAAUL,CAAV,EAAaC,CAAb,EAAgB;AAAED,MAAAA,CAAC,CAACI,SAAF,GAAcH,CAAd;AAAkB,KAD/D,IAEZ,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AAAE,WAAK,IAAIK,CAAT,IAAcL,CAAd;AAAiB,YAAIC,MAAM,CAACK,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCR,CAArC,EAAwCK,CAAxC,CAAJ,EAAgDN,CAAC,CAACM,CAAD,CAAD,GAAOL,CAAC,CAACK,CAAD,CAAR;AAAjE;AAA+E,KAFrG;;AAGA,WAAOP,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAApB;AACH,GALD;;AAMA,SAAO,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AACnBF,IAAAA,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAAb;;AACA,aAASS,EAAT,GAAc;AAAE,WAAKC,WAAL,GAAmBX,CAAnB;AAAuB;;AACvCA,IAAAA,CAAC,CAACO,SAAF,GAAcN,CAAC,KAAK,IAAN,GAAaC,MAAM,CAACU,MAAP,CAAcX,CAAd,CAAb,IAAiCS,EAAE,CAACH,SAAH,GAAeN,CAAC,CAACM,SAAjB,EAA4B,IAAIG,EAAJ,EAA7D,CAAd;AACH,GAJD;AAKH,CAZ2C,EAA5C;;AAaAR,MAAM,CAACW,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,iBAAR,GAA4BF,OAAO,CAACG,qBAAR,GAAgCH,OAAO,CAACI,kBAAR,GAA6B,KAAK,CAA9F;;AACA,IAAIC,mBAAmB,GAAGC,OAAO,CAAC,uDAAD,CAAjC,C,CACA;;;AACAN,OAAO,CAACI,kBAAR,GAA6B,oqLAA7B;AACAJ,OAAO,CAACG,qBAAR,GAAgC,CAAhC;;AACA,IAAID,iBAAiB;AAAG;AAAe,UAAUK,MAAV,EAAkB;AACrDvB,EAAAA,SAAS,CAACkB,iBAAD,EAAoBK,MAApB,CAAT;;AACA,WAASL,iBAAT,GAA6B;AACzB,WAAOK,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAACC,KAAP,CAAa,IAAb,EAAmBC,SAAnB,CAAnB,IAAoD,IAA3D;AACH;;AACD,SAAOP,iBAAP;AACH,CANsC,CAMrCG,mBAAmB,CAACK,iBANiB,CAAvC;;AAOAV,OAAO,CAACE,iBAAR,GAA4BA,iBAA5B","file":"MultiPartyService.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MultiPartyService = exports.maxParticipantsNumber = exports.DEFAULT_AVATAR_URI = void 0;\nvar TypedEventEmitter_1 = require(\"@techsee/techsee-common/lib/helpers/TypedEventEmitter\");\n// eslint-disable-next-line max-len\nexports.DEFAULT_AVATAR_URI = 'data:image/png;base64,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';\nexports.maxParticipantsNumber = 2;\nvar MultiPartyService = /** @class */ (function (_super) {\n __extends(MultiPartyService, _super);\n function MultiPartyService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MultiPartyService;\n}(TypedEventEmitter_1.TypedEventEmitter));\nexports.MultiPartyService = MultiPartyService;\n\n//# sourceMappingURL=MultiPartyService.js.map\n"]}
1
+ {"version":3,"sources":["MultiParty/MultiPartyService.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","defineProperty","exports","value","MultiPartyService","maxParticipantsNumber","DEFAULT_AVATAR_URI","TypedEventEmitter_1","require","_super","apply","arguments","TypedEventEmitter"],"mappings":"AAAA;;AACA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA6B,YAAY;AACrD,MAAIC,cAAa,GAAG,uBAAUC,CAAV,EAAaC,CAAb,EAAgB;AAChCF,IAAAA,cAAa,GAAGG,MAAM,CAACC,cAAP,IACX;AAAEC,MAAAA,SAAS,EAAE;AAAb,iBAA6BC,KAA7B,IAAsC,UAAUL,CAAV,EAAaC,CAAb,EAAgB;AAAED,MAAAA,CAAC,CAACI,SAAF,GAAcH,CAAd;AAAkB,KAD/D,IAEZ,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AAAE,WAAK,IAAIK,CAAT,IAAcL,CAAd;AAAiB,YAAIC,MAAM,CAACK,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCR,CAArC,EAAwCK,CAAxC,CAAJ,EAAgDN,CAAC,CAACM,CAAD,CAAD,GAAOL,CAAC,CAACK,CAAD,CAAR;AAAjE;AAA+E,KAFrG;;AAGA,WAAOP,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAApB;AACH,GALD;;AAMA,SAAO,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AACnBF,IAAAA,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAAb;;AACA,aAASS,EAAT,GAAc;AAAE,WAAKC,WAAL,GAAmBX,CAAnB;AAAuB;;AACvCA,IAAAA,CAAC,CAACO,SAAF,GAAcN,CAAC,KAAK,IAAN,GAAaC,MAAM,CAACU,MAAP,CAAcX,CAAd,CAAb,IAAiCS,EAAE,CAACH,SAAH,GAAeN,CAAC,CAACM,SAAjB,EAA4B,IAAIG,EAAJ,EAA7D,CAAd;AACH,GAJD;AAKH,CAZ2C,EAA5C;;AAaAR,MAAM,CAACW,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,iBAAR,GAA4BF,OAAO,CAACG,qBAAR,GAAgCH,OAAO,CAACI,kBAAR,GAA6B,KAAK,CAA9F;;AACA,IAAIC,mBAAmB,GAAGC,OAAO,CAAC,uDAAD,CAAjC,C,CACA;;;AACAN,OAAO,CAACI,kBAAR,GAA6B,oqLAA7B;AACAJ,OAAO,CAACG,qBAAR,GAAgC,CAAhC;;AACA,IAAID,iBAAiB;AAAG;AAAe,UAAUK,MAAV,EAAkB;AACrDvB,EAAAA,SAAS,CAACkB,iBAAD,EAAoBK,MAApB,CAAT;;AACA,WAASL,iBAAT,GAA6B;AACzB,WAAOK,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAACC,KAAP,CAAa,IAAb,EAAmBC,SAAnB,CAAnB,IAAoD,IAA3D;AACH;;AACD,SAAOP,iBAAP;AACH,CANsC,CAMrCG,mBAAmB,CAACK,iBANiB,CAAvC;;AAOAV,OAAO,CAACE,iBAAR,GAA4BA,iBAA5B","file":"MultiPartyService.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MultiPartyService = exports.maxParticipantsNumber = exports.DEFAULT_AVATAR_URI = void 0;\nvar TypedEventEmitter_1 = require(\"@techsee/techsee-common/lib/helpers/TypedEventEmitter\");\n// eslint-disable-next-line max-len\nexports.DEFAULT_AVATAR_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQcAAAFKCAYAAAAQbZoVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABB+SURBVHgB7d3NbxzlAcfxJ9jrtXFiE4MdQhOE1NALnBJUQbjwciDJBfVC20NVVaIvEgf4r4C0asWFwqFApRIuJD006aExQoqjgu3EiZM4fo87v3FXMuufvbO7MzvPbL4fyUoxTYC1/d3neeaZZw689+4734at8EwAgB0eCQBgEAcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcA1mBAX3vkkUfCwMBAqA0NhaHaUPrXg4OD6ecaf18fzTY2NsKDBw/C1tZW8utmWFtbDxubG2FzczOsr62lfw/9jTj0mXq9HoaSENSSEOh/KwSdaP59IyM//PuKx/r6WlhdXQ1r6+thdWUloL8Qh4rTu/5w8pM7XB9OfoBH7CigCIqHPkZGHk3/WiOJ1dWVsLy8nH4wsqg+4lBBCoBGBYcOHUpHCL0Kwn7076BQNGKxvHw/jcTS0lJANRGHChkYHAgHRw+GgwcPRRGE/TRCMTY2nk49Fu/cDpsbmwHVQRwqQKOE8fHx5NfhUDWN6cfo6Gg6ili6v8T6REUQh4hVOQqOAqEPjSRuLtxgJBE54hAhTR8en3i8b6LQTNF76uiP0pEE0414EYeIaB1Bi4xVWFPIQ2MkcefOYlhcXAyIC3GIhN5NJ5LRQqf7EqpMi5aPPjoaFm4tsB4REeJQMo0QtK6g0cLDTFGcmpwKd+/eDbdv3wooH3EokdYWpiaPPJSjhb1oWqXNXHPzs6xFlIwbr0qiufaTR44SBkOviV4bhQLl4TuzBJpjayqBvWm69dhjh9NfWawsB3Hooe1v+MeSUcPBgGwU0lqtFhYWFrhfo8eYVvSI1hcmkwU3wtA+bcPWa6fXEL1DHHqgsfCoW6nRGb12eg0JRO8Qh4JxRSI/25c7CUSvEIcCEYb8EYjeIQ4F0eLjE49PEoYC6DXVa/swbDEvE69uQbQVmjWG4ui11ZUfFIc4FECX30aaD11E7nTlh/0ixSEOOdOuPr5he0ch1m5T5I845EiLZPpmRW9pJyULlPkjDjnSKjqLZL2n15zXPn+8mjk5fPgwVyZKpNeeUVu+iEMOdFDLw34eQwy03lMf7s+j9cpAHHKgy5aIw8ThCaYXOeFV7JKGskwn4qGvBedA5IM4dEEr5Fy2jI+meFy96B5x6ML4GDv0YqRpxeMTTwR0hzh0SO9MbL6JlxaJWZzsDnHo0MRhFiFjN86lza6wktYBPYlquA/elbSYOjU1lb7D1utD6X/XnTt30jMbV1dXwvzcXKiyxuiBZ2F0hjh0oMrTiWPHnw4nTpwIJ559tuWmoTtJJGZmZsI301fDdPJRRRo9zBGHjhCHNlV1rUFROH36dPprVmPJlZjn9PH882kovvrqy3Dl8uVQJRo96GvGMzDaRxzaVLUrFGNjY+HM2XNtRcH+OUkk3jhzLrz00svh/Ifvp9OPqjg4epDj7TvAgmSb9E5UFSdOPBt+9evfdB2GnRSJt3/3h/DS6ZdDVTwsDybOGyOHNmg6UZXdkCdPngqvvPb6vv+f68l6wtzcbJifn0//eiWZm2uhdXJyMlmoPJJE5fiev7cRh68ufBlipzAo6svLywHZEYc26PkJVfDcc8/vGYbV1dVw6eLX6Yf+9360YKn1Bn24xcsqBeLQoTHi0KaBF1/86XvJr2z1a0HvPlW4wUprDG/94pf272mk8Oc//TG9+rC52XqBTvHQ75m+Op1e5tRlz2bHkymL5vPz83Ff9tTXb2npXtja2grIholYRlU5E/Ktn/sw6N19eyGx/YU5/Z5PP/l4zxHCq8koRVGKmeIwzLmebSEOGVVhSqFh/pi5EUw/1HkM/ff6czSf1xWR2A3X2U7dDuKQUexXKfTO7a4g5BWGnX+e1iua6YrIfguYMeBE8PYQhww03479Uph2PDbTdKCIxcIvPv8sucqxe43hdOSXN9OrFtyMlRlxyGBoqBZid/LkC7s+98Vnn4Wi/P3zv+36nEYP9eG4R1i1wfi/lrEgDhnUI5+ral9C81qDRg1F3g+hey6uz1zb9XltvIoZTyHLjjhkUKvF/W5z3OyAvHTxYija9NXd8Tl2LL/dmEWo0g7XshGHFjRPjX1XpNsePWPe1fM2PT2963NTR6ZCzPS1ZCt1NrxKLdRq8Q9Dh808vxdnMWjq0rzLsgrPjhgcYGNwFsShhYGB+A8q3bXe0MM7EHUozE5VGLYPVmCBOQbEoQWOne8/QxUYDcaAOLTA6nb/Yc0hG16lFg4cOBBi1zyN0DSjV/sNmtcYWt3pGQNGg9kQhxaq8C6zaE5lmpws/qqB9lc0q8KhtFVYR4oBcWihCnGYn53d9bnjx4vfb+D+GTo8Bv2BOLRQhSGo229w8tQLoWjunzFzfSbEjjWHbHiV+oD2GzRvZdYlRZ3gVJT0dCizZfubq/EfYU8csuFV6hNuK/Mrr75eyMJkenv4S7vvwJy5Fv+oAdkRhz5x5crlXVcKNHp4882fhbzpfMq9DpVB/yAOfUJhuHDhH7s+r/suNILIiw6UcXdeKgydHEGHeBGHFh48eBCq4p8XL9rbqE+eOtX1FEOjkDfOnrOnTRV1qAzKxW6QFhSH2Bew9IM7OXUkfQbmXhQI/f2PPvpL23sRNPo4c+asnUrI6spqEp/Xtk+qrsAzNTc2NgJaO/Deu+98G7bCMwHW0aNPRXs5U1HQ5UR9tHPDk46mv7jHKGOnTp6vqd2aWv+4dOnrNBoxWltbC7Oz3wfsj5FDC3qXiTEOrd7N9/PjZM1AH1qnmJ+bTc+DbCxmKjJ6PoVGIp3cYal/H0099GCdTz75OB1NxIZnV2RDHFrI8vCXXtMP3hs5HAWvH/7tU6Pz302pSOgZGnmffp2HKq0jlYk4tBDbN1LWMDQ/BTuvh860++dqFNF4BF8sNK1Aa8ShhZi+kfSDuNczMLcXA/+TPrrOXVLU3ZPpcL/DXZP68y8kIwC3TqE/+9jTx9Oj6d1JUFqs1LF1sdyUtbHJgmQWLEi2UBuqhSePHA0xePu3v7drDHqORNZ3Zv3wnnj2RHLl4if7PoRmez1iLv2hzvLQ3QYFyF3uVFTOf/hBiMHcfLLGsrISsD9GDi1sbsSx5uDuZZBP//pxenUgK40qdDJ143Rq3do9PDwchv6/+LiWREAPxu10Q5PWFxaT33vmzA+nPlrX0IN3piO492KdaUUmxKEFrTnEcMVCaw3N9IPYThicIp6O/e/Ll8NUEp3muzZPnjxVehz0tWRBMht2SGZQ9ulGjasKO8W+K1H/bs2vWwxPxFpfXw/IhjhksL5e7jB0aurIrs/FfgekwnDl8r92ff7Y8XIferPCWkNmxCGDtbVy323GxndfLux2OtEL7srGcMlH169vMHLIijhkoGczlDlPdZcHm58XEaPFRX9JtSz6GnKVIjvikNHy8nKISaz3Ley0uhrXVYEqnIwdE+KQEXPV6ltevh+QHXHIaGVlmUtgbarX43ogUGyjv9gRh4wUhrK2UrsNSdpQFDt3dH1Zp0UpDMS9PWyCasO9e3fT3YS9NmeeS6EtytrdeD3So+DTQ2jNNuq5ku6vYErRPuLQBi1olXEy1Pz8fHpZcOcegcbR80UeP583jRrKuPlKuyKXlpYC2sO0og0Kw927d0MZ+uGMxvMflHPjFVcpOkMc2nT/fjnvQDMzM+nJSlWlG8TKWm/gVOzOMK1ok4aouqxZxtqDbmi6fm0mnDl7bt/brWOy3zkQvaDpBAfKdoY4dECnIZURh+1/9mI4/+H76U7Dyamp0v49spi5dq30d+2l+6w1dIo4dEBbl8saPTToh47h8v601sB26c6x5tCh5rMUEZ+FhZsBnSMOHWqMHhAn1hq6Rxy6cOvWArvuIsWUq3vEoQt6Zypr3wP2pjAwaugeceiStlTzjRgPfS3cORJoH3HokqYVCwsLAXFgETI/xCEHWpxkelE+fQ3YKp0f4pAT5rnl0mt/+/atgPwQh5xoeqFnQHD1ovcarz3yRRxyxLtXObQAyagtf8QhZ9p8w2p572g6pytGyB9xKIC+YZeW7gUUS0e/EeLiEIeC3L59u/QnZfUznefJZctiEYeCaJHsxo0bzIULoNf05s0bLP4WjDgUSN/EWkUnEPnhNe0d4lAwvpnzw2vZW8ShBxrf1KxBdE5rDISht4hDj+ibWs9s4KlL7dOVH8LQe8Shh7YXKee5/NYGXRbWjW0sPvYeZ0iWQN/wW1sP0kNie/2AnKpQDLTblIfRlIc4lER3EGqKoUfaDQ7yZdiJhcc48LZVIn3zf/fdf7ndewe9FrOz3xOGCPCWFQENnzWKmJiYeGhHEYqBdjxyHkM8iEMkdGCMRhFahxgfHw8Pi8bzR3XzFIuOcSEOkdFipZ7HqUiMjo6Gfqaj/XWCN1OIOBGHCDWG2ArF4cMTUT/yrhOKgv7bmELEjThErLFqX68Pp6OIqo8kiEK1EIcK0HqEPvSDpelGvV6vzMJlY01BUyWmD9VCHCqkMd0QjSJGRh5NPkZCbBQE3QuhRUaNElhorCbiUFHaOagP7bBUIBQKjSjK2nGpAOhy7IqeIZr8ShCqjzhUnH4IG6EQrU8MDdXSX2u1WmHTD41iNCrQnaYaJbCO0H+IQ59prE80dl1qJFGrDYWBwYEwODCYhGMoHDhwIP28Plw8FJzGO78isLm5uT1VSEKwsb6efo6RQf8jDn1OP8SKReCNHW3i3goAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGARBwAWcQBgEQcAFnEAYBEHABZxAGD9D7w3oqmvc81MAAAAAElFTkSuQmCC';\nexports.maxParticipantsNumber = 3;\nvar MultiPartyService = /** @class */ (function (_super) {\n __extends(MultiPartyService, _super);\n function MultiPartyService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MultiPartyService;\n}(TypedEventEmitter_1.TypedEventEmitter));\nexports.MultiPartyService = MultiPartyService;\n\n//# sourceMappingURL=MultiPartyService.js.map\n"]}
@@ -1,3 +1,3 @@
1
- import { SessionSettings } from './types';
2
1
  import { MultiPartyService } from './MultiPartyService';
3
- export declare const createMultiPartyService: (settings: SessionSettings, getParticipantDomId: (connectionId?: string | undefined) => string) => MultiPartyService;
2
+ import { MediaServiceType } from '../MediaConstants';
3
+ export declare const createMultiPartyService: (mediaServiceType: MediaServiceType, getParticipantDomId: (connectionId?: string | undefined) => string) => MultiPartyService;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/MultiPartyServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAItD,eAAO,MAAM,uBAAuB,aACtB,eAAe,8DACuB,MAAM,KACvD,iBAMF,CAAC","file":"MultiPartyServiceFactory.d.ts","sourcesContent":["import {SessionSettings} from './types';\nimport {MultiPartyService} from './MultiPartyService';\nimport {OpentokMultiPartyService} from './opentok/OpentokMultiPartyService';\nimport {MediaServiceType} from '../MediaConstants';\n\nexport const createMultiPartyService = (\n settings: SessionSettings,\n getParticipantDomId: (connectionId?: string) => string\n): MultiPartyService => {\n if (settings.mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiPartyService(getParticipantDomId);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/MultiPartyServiceFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,qBACd,gBAAgB,8DACc,MAAM,KACvD,iBAMF,CAAC","file":"MultiPartyServiceFactory.d.ts","sourcesContent":["import {SessionSettings} from './types';\nimport {MultiPartyService} from './MultiPartyService';\nimport {OpentokMultiPartyService} from './opentok/OpentokMultiPartyService';\nimport {MediaServiceType} from '../MediaConstants';\n\nexport const createMultiPartyService = (\n mediaServiceType: MediaServiceType,\n getParticipantDomId: (connectionId?: string) => string\n): MultiPartyService => {\n if (mediaServiceType === MediaServiceType.OPENTOK) {\n return new OpentokMultiPartyService(getParticipantDomId);\n }\n\n throw new Error('NOT_SUPPORTED');\n};\n"]}
@@ -9,8 +9,8 @@ var OpentokMultiPartyService_1 = require("./opentok/OpentokMultiPartyService");
9
9
 
10
10
  var MediaConstants_1 = require("../MediaConstants");
11
11
 
12
- var createMultiPartyService = function createMultiPartyService(settings, getParticipantDomId) {
13
- if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {
12
+ var createMultiPartyService = function createMultiPartyService(mediaServiceType, getParticipantDomId) {
13
+ if (mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {
14
14
  return new OpentokMultiPartyService_1.OpentokMultiPartyService(getParticipantDomId);
15
15
  }
16
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/MultiPartyServiceFactory.js"],"names":["Object","defineProperty","exports","value","createMultiPartyService","OpentokMultiPartyService_1","require","MediaConstants_1","settings","getParticipantDomId","mediaServiceType","MediaServiceType","OPENTOK","OpentokMultiPartyService","Error"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,uBAAR,GAAkC,KAAK,CAAvC;;AACA,IAAIC,0BAA0B,GAAGC,OAAO,CAAC,oCAAD,CAAxC;;AACA,IAAIC,gBAAgB,GAAGD,OAAO,CAAC,mBAAD,CAA9B;;AACA,IAAIF,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAUI,QAAV,EAAoBC,mBAApB,EAAyC;AACnE,MAAID,QAAQ,CAACE,gBAAT,KAA8BH,gBAAgB,CAACI,gBAAjB,CAAkCC,OAApE,EAA6E;AACzE,WAAO,IAAIP,0BAA0B,CAACQ,wBAA/B,CAAwDJ,mBAAxD,CAAP;AACH;;AACD,QAAM,IAAIK,KAAJ,CAAU,eAAV,CAAN;AACH,CALD;;AAMAZ,OAAO,CAACE,uBAAR,GAAkCA,uBAAlC","file":"MultiPartyServiceFactory.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMultiPartyService = void 0;\nvar OpentokMultiPartyService_1 = require(\"./opentok/OpentokMultiPartyService\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar createMultiPartyService = function (settings, getParticipantDomId) {\n if (settings.mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {\n return new OpentokMultiPartyService_1.OpentokMultiPartyService(getParticipantDomId);\n }\n throw new Error('NOT_SUPPORTED');\n};\nexports.createMultiPartyService = createMultiPartyService;\n\n//# sourceMappingURL=MultiPartyServiceFactory.js.map\n"]}
1
+ {"version":3,"sources":["MultiParty/MultiPartyServiceFactory.js"],"names":["Object","defineProperty","exports","value","createMultiPartyService","OpentokMultiPartyService_1","require","MediaConstants_1","mediaServiceType","getParticipantDomId","MediaServiceType","OPENTOK","OpentokMultiPartyService","Error"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,uBAAR,GAAkC,KAAK,CAAvC;;AACA,IAAIC,0BAA0B,GAAGC,OAAO,CAAC,oCAAD,CAAxC;;AACA,IAAIC,gBAAgB,GAAGD,OAAO,CAAC,mBAAD,CAA9B;;AACA,IAAIF,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAUI,gBAAV,EAA4BC,mBAA5B,EAAiD;AAC3E,MAAID,gBAAgB,KAAKD,gBAAgB,CAACG,gBAAjB,CAAkCC,OAA3D,EAAoE;AAChE,WAAO,IAAIN,0BAA0B,CAACO,wBAA/B,CAAwDH,mBAAxD,CAAP;AACH;;AACD,QAAM,IAAII,KAAJ,CAAU,eAAV,CAAN;AACH,CALD;;AAMAX,OAAO,CAACE,uBAAR,GAAkCA,uBAAlC","file":"MultiPartyServiceFactory.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMultiPartyService = void 0;\nvar OpentokMultiPartyService_1 = require(\"./opentok/OpentokMultiPartyService\");\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar createMultiPartyService = function (mediaServiceType, getParticipantDomId) {\n if (mediaServiceType === MediaConstants_1.MediaServiceType.OPENTOK) {\n return new OpentokMultiPartyService_1.OpentokMultiPartyService(getParticipantDomId);\n }\n throw new Error('NOT_SUPPORTED');\n};\nexports.createMultiPartyService = createMultiPartyService;\n\n//# sourceMappingURL=MultiPartyServiceFactory.js.map\n"]}