@techsee/techsee-media-service 13.0.0 → 15.0.0

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 (49) hide show
  1. package/lib/MediaConstants.d.ts +0 -5
  2. package/lib/MediaConstants.d.ts.map +1 -1
  3. package/lib/MediaConstants.js +1 -9
  4. package/lib/MediaConstants.js.map +1 -1
  5. package/lib/MultiParty/MultiPartyService.d.ts +3 -6
  6. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
  7. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -2
  8. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
  9. package/lib/MultiParty/MultiPartyServiceFactory.js +2 -2
  10. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
  11. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +1 -3
  12. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
  13. package/lib/MultiParty/VideoLayoutType.d.ts +4 -0
  14. package/lib/MultiParty/VideoLayoutType.d.ts.map +1 -0
  15. package/lib/MultiParty/VideoLayoutType.js +13 -0
  16. package/lib/MultiParty/VideoLayoutType.js.map +1 -0
  17. package/lib/MultiParty/index.d.ts +1 -0
  18. package/lib/MultiParty/index.d.ts.map +1 -1
  19. package/lib/MultiParty/index.js +10 -1
  20. package/lib/MultiParty/index.js.map +1 -1
  21. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +6 -12
  22. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
  23. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +71 -185
  24. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
  25. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +16 -12
  26. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
  27. package/lib/MultiParty/opentok/OpentokPublisher.js +108 -17
  28. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
  29. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +1 -2
  30. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
  31. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +5 -8
  32. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
  33. package/lib/MultiParty/types.d.ts +1 -5
  34. package/lib/MultiParty/types.d.ts.map +1 -1
  35. package/lib/MultiParty/utils.d.ts +1 -7
  36. package/lib/MultiParty/utils.d.ts.map +1 -1
  37. package/lib/MultiParty/utils.js +1 -7
  38. package/lib/MultiParty/utils.js.map +1 -1
  39. package/lib/qos/raw-qos.js +1 -1
  40. package/lib/webrtc-ie-shim.js +1 -1
  41. package/package.json +4 -4
  42. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +0 -5
  43. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +0 -1
  44. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +0 -80
  45. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +0 -1
  46. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +0 -13
  47. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +0 -1
  48. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +0 -314
  49. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +0 -1
@@ -1,31 +1,35 @@
1
1
  import { TypedEventEmitter } from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';
2
+ import { SessionSettings } from '../types';
2
3
  import { MultipartyServiceEventTypesMap } from '../MultipartyServiceEventTypes';
3
4
  import { MediaCapabilitiesService } from '../MediaCapabilitiesService';
4
- import { PublisherProperties } from '@opentok/client';
5
- import { MultiPartyCameraTypes } from '../../MediaConstants';
6
5
  export declare type PublisherEvents = Pick<MultipartyServiceEventTypesMap, 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'>;
7
6
  export interface OpentokPublisherOptions {
8
7
  participantId: string;
9
8
  backgroundImageURI: string;
10
9
  }
11
- export declare type IMediaCapablities = Pick<MediaCapabilitiesService, 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'>;
10
+ declare type IMediaCapablities = Pick<MediaCapabilitiesService, 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'>;
12
11
  export interface IOpentokPublisher {
13
12
  get: () => OT.Publisher;
14
13
  destroy: () => void;
15
14
  getImgData: () => string | null;
15
+ publishAudio: (enabled: boolean) => void;
16
16
  publishVideo: (enabled: boolean) => void;
17
+ switchCamera: () => Promise<void>;
17
18
  }
18
- export declare abstract class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {
19
- protected readonly options: OpentokPublisherOptions;
20
- protected readonly mediaCapabilitiesService: IMediaCapablities;
21
- protected abstract currentPublisher: OT.Publisher;
22
- protected isMobile: boolean;
23
- protected readonly publisherProperties: Partial<PublisherProperties>;
24
- protected selectedCamera?: MultiPartyCameraTypes;
25
- protected constructor(options: OpentokPublisherOptions, mediaCapabilitiesService: IMediaCapablities, selectedCamera?: MultiPartyCameraTypes);
19
+ export declare class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {
20
+ private readonly options;
21
+ private readonly mediaCapabilitiesService;
22
+ private currentPublisher;
23
+ private selectedCamera;
24
+ private isMobile;
25
+ constructor(settings: SessionSettings, options: OpentokPublisherOptions, mediaCapabilitiesService: IMediaCapablities);
26
26
  get: () => OT.Publisher;
27
27
  destroy: () => void;
28
28
  getImgData: () => string | null;
29
+ publishAudio: (enabled: boolean) => void;
29
30
  publishVideo: (enabled: boolean) => void;
30
- protected initializeEventHandlers: () => void;
31
+ switchCamera: () => Promise<void>;
32
+ private initializeEventHandlers;
33
+ private getVideoSourceId;
31
34
  }
35
+ export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAE3D,oBAAY,eAAe,GAAG,IAAI,CAC9B,8BAA8B,EAC9B,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAClH,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAChC,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,CAC7F,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,8BAAsB,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,iBAAiB;IAiBtG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB;IACnD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,iBAAiB;IAjBlE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAmB;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAUlE;IACF,SAAS,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEjD,SAAS,aACc,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,iBAAiB,EAC9D,cAAc,CAAC,EAAE,qBAAqB;IAKnC,GAAG,QAAO,GAAG,SAAS,CAA0B;IAEhD,OAAO,QAAO,IAAI,CAAoC;IAEtD,UAAU,QAAO,MAAM,GAAG,IAAI,CAA+C;IAE7E,YAAY,YAAa,OAAO,KAAG,IAAI,CAAgD;IAE9F,SAAS,CAAC,uBAAuB,aAuC/B;CACL","file":"OpentokPublisher.d.ts","sourcesContent":["import {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {MultipartyServiceEventTypesMap} from '../MultipartyServiceEventTypes';\nimport {MediaCapabilitiesService} from '../MediaCapabilitiesService';\nimport {traceInfo} from './trace';\nimport {\n createMediaAccessDeniedEvent,\n createStreamCreatedEvent,\n createStreamDestroyedEvent\n} from './OpentokPublisherEventMapper';\nimport {PublisherProperties} from '@opentok/client';\nimport {checkIsMobile} from '../MediaCapabilitiesUtils';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\n\nexport type PublisherEvents = Pick<\n MultipartyServiceEventTypesMap,\n 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'\n>;\n\nexport interface OpentokPublisherOptions {\n participantId: string;\n backgroundImageURI: string;\n}\n\nexport type IMediaCapablities = Pick<\n MediaCapabilitiesService,\n 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'\n>;\n\nexport interface IOpentokPublisher {\n get: () => OT.Publisher;\n destroy: () => void;\n getImgData: () => string | null;\n publishVideo: (enabled: boolean) => void;\n}\n\nexport abstract class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {\n protected abstract currentPublisher: OT.Publisher;\n protected isMobile: boolean = checkIsMobile();\n protected readonly publisherProperties: Partial<PublisherProperties> = {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off'\n }\n };\n protected selectedCamera?: MultiPartyCameraTypes;\n\n protected constructor(\n protected readonly options: OpentokPublisherOptions,\n protected readonly mediaCapabilitiesService: IMediaCapablities,\n selectedCamera?: MultiPartyCameraTypes\n ) {\n super();\n }\n\n public get = (): OT.Publisher => this.currentPublisher;\n\n public destroy = (): void => this.currentPublisher.destroy();\n\n public getImgData = (): string | null => this.currentPublisher.getImgData() || null;\n\n public publishVideo = (enabled: boolean): void => this.currentPublisher.publishVideo(enabled);\n\n protected initializeEventHandlers = () => {\n this.currentPublisher.on('videoElementCreated', (event: unknown) => {\n traceInfo('videoElementCreated', event);\n\n this.emit('videoElementCreated');\n });\n\n this.currentPublisher.on('streamCreated', async (event: {stream: OT.Stream}) => {\n traceInfo('publisher stream created', {\n event\n });\n const {hasAudio} = event.stream;\n const {participantId} = this.options;\n\n await this.mediaCapabilitiesService.updateDevicesList();\n\n this.emit(\n 'streamCreated',\n createStreamCreatedEvent(event.stream, this.options.participantId, this.isMobile, this.selectedCamera)\n );\n\n traceInfo('publisher stream created', {\n event,\n hasAudio,\n participantId\n });\n });\n\n this.currentPublisher.on('streamDestroyed', (event: {stream: OT.Stream}) => {\n traceInfo('Publisher stream destroyed', event);\n\n this.emit('streamDestroyed', createStreamDestroyedEvent(event.stream, this.options.participantId));\n });\n\n this.currentPublisher.on('accessDenied', () => {\n traceInfo('Publisher denied media permissions');\n\n this.emit('mediaDeviceAccessDenied', createMediaAccessDeniedEvent(true));\n });\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAkBrE,oBAAY,eAAe,GAAG,IAAI,CAC9B,8BAA8B,EAC9B,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAClH,CAAC;AAIF,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED,aAAK,iBAAiB,GAAG,IAAI,CACzB,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,CAC7F,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AACD,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,iBAAiB;IAQ7F,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IAR7C,OAAO,CAAC,gBAAgB,CAAe;IAEvC,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,QAAQ,CAA4B;gBAGxC,QAAQ,EAAE,eAAe,EACR,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,iBAAiB;IA2CzD,GAAG,QAAO,GAAG,SAAS,CAA0B;IAEhD,OAAO,QAAO,IAAI,CAAoC;IAEtD,UAAU,QAAO,MAAM,GAAG,IAAI,CAA+C;IAE7E,YAAY,YAAa,OAAO,KAAG,IAAI,CAAgD;IAEvF,YAAY,YAAa,OAAO,KAAG,IAAI,CAAgD;IAEvF,YAAY,QAAa,QAAQ,IAAI,CAAC,CA+B3C;IAEF,OAAO,CAAC,uBAAuB,CAoC7B;IAEF,OAAO,CAAC,gBAAgB,CAGoC;CAC/D","file":"OpentokPublisher.d.ts","sourcesContent":["import {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {SessionSettings} from '../types';\nimport {MultipartyServiceEventTypesMap} from '../MultipartyServiceEventTypes';\nimport {MediaCapabilitiesService} from '../MediaCapabilitiesService';\nimport {checkIsMobile} from '../MediaCapabilitiesUtils';\nimport {shouldMirrorCamera} from '../utils';\nimport {traceError, traceInfo} from './trace';\nimport {\n createCameraSourceChangedEvent,\n createMediaAccessDeniedEvent,\n createStreamCreatedEvent,\n createStreamDestroyedEvent\n} from './OpentokPublisherEventMapper';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport type PublisherEvents = Pick<\n MultipartyServiceEventTypesMap,\n 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'\n>;\n\nconst OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\n\nexport interface OpentokPublisherOptions {\n participantId: string;\n backgroundImageURI: string;\n}\n\ntype IMediaCapablities = Pick<\n MediaCapabilitiesService,\n 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'\n>;\n\nexport interface IOpentokPublisher {\n get: () => OT.Publisher;\n destroy: () => void;\n getImgData: () => string | null;\n publishAudio: (enabled: boolean) => void;\n publishVideo: (enabled: boolean) => void;\n switchCamera: () => Promise<void>;\n}\nexport class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {\n private currentPublisher: OT.Publisher;\n\n private selectedCamera;\n private isMobile: boolean = checkIsMobile();\n\n constructor(\n settings: SessionSettings,\n private readonly options: OpentokPublisherOptions,\n private readonly mediaCapabilitiesService: IMediaCapablities\n ) {\n super();\n\n const {selectedCamera, cameraEnabled, startWithAudioMuted} = settings;\n\n this.selectedCamera = selectedCamera;\n\n const {participantId, backgroundImageURI} = options;\n const videoSource = (!this.isMobile && this.getVideoSourceId(selectedCamera)) || undefined;\n const facingMode =\n (this.isMobile &&\n !videoSource &&\n (this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT)) ||\n undefined;\n\n this.currentPublisher = OT.initPublisher(\n participantId,\n {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource,\n facingMode,\n mirror: shouldMirrorCamera(this.isMobile, selectedCamera)\n },\n traceError\n );\n\n this.initializeEventHandlers();\n }\n\n public get = (): OT.Publisher => this.currentPublisher;\n\n public destroy = (): void => this.currentPublisher.destroy();\n\n public getImgData = (): string | null => this.currentPublisher.getImgData() || null;\n\n public publishAudio = (enabled: boolean): void => this.currentPublisher.publishAudio(enabled);\n\n public publishVideo = (enabled: boolean): void => this.currentPublisher.publishVideo(enabled);\n\n public switchCamera = async (): Promise<void> => {\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n\n try {\n const newSelectedCamera =\n this.selectedCamera === MultiPartyCameraTypes.BACK\n ? MultiPartyCameraTypes.FRONT\n : MultiPartyCameraTypes.BACK;\n\n const newVideoSourceId = this.getVideoSourceId(newSelectedCamera);\n\n await this.currentPublisher.setVideoSource(newVideoSourceId);\n\n if (shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {\n this.currentPublisher.element?.classList.add(OPENTOK_MIRRORED_CSS_CLASS);\n } else {\n this.currentPublisher.element?.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);\n }\n\n this.selectedCamera = newSelectedCamera;\n\n this.emit(\n 'cameraSourceChanged',\n createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile)\n );\n } catch (err) {\n traceError(JSON.stringify(err));\n throw err;\n }\n };\n\n private initializeEventHandlers = () => {\n this.currentPublisher.on('videoElementCreated', (event: unknown) => {\n traceInfo('videoElementCreated', event);\n\n this.emit('videoElementCreated');\n });\n\n this.currentPublisher.on('streamCreated', async (event: {stream: OT.Stream}) => {\n const {hasAudio} = event.stream;\n const {participantId} = this.options;\n\n await this.mediaCapabilitiesService.updateDevicesList();\n\n this.emit(\n 'streamCreated',\n createStreamCreatedEvent(event.stream, this.options.participantId, this.selectedCamera, this.isMobile)\n );\n\n traceInfo('publisher stream created', {\n event,\n hasAudio,\n participantId\n });\n });\n\n this.currentPublisher.on('streamDestroyed', (event: {stream: OT.Stream}) => {\n traceInfo('Publisher stream destroyed', event);\n\n this.emit('streamDestroyed', createStreamDestroyedEvent(event.stream, this.options.participantId));\n });\n\n this.currentPublisher.on('accessDenied', () => {\n traceInfo('Publisher denied media permissions');\n\n this.emit('mediaDeviceAccessDenied', createMediaAccessDeniedEvent(true));\n });\n };\n\n private getVideoSourceId = (selectedCamera: MultiPartyCameraTypes): string =>\n (selectedCamera === MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.frontCameraDeviceId\n : this.mediaCapabilitiesService.backCameraDeviceId);\n}\n"]}
@@ -176,34 +176,37 @@ exports.OpentokPublisher = void 0;
176
176
 
177
177
  var TypedEventEmitter_1 = require("@techsee/techsee-common/lib/helpers/TypedEventEmitter");
178
178
 
179
+ var MediaCapabilitiesUtils_1 = require("../MediaCapabilitiesUtils");
180
+
181
+ var utils_1 = require("../utils");
182
+
179
183
  var trace_1 = require("./trace");
180
184
 
181
185
  var OpentokPublisherEventMapper_1 = require("./OpentokPublisherEventMapper");
182
186
 
183
- var MediaCapabilitiesUtils_1 = require("../MediaCapabilitiesUtils");
187
+ var MediaConstants_1 = require("../../MediaConstants"); // The preferred camera position to use for the video source
188
+
189
+
190
+ var OpentokFacingMode;
191
+
192
+ (function (OpentokFacingMode) {
193
+ OpentokFacingMode["USER"] = "user";
194
+ OpentokFacingMode["ENVIRONMENT"] = "environment";
195
+ })(OpentokFacingMode || (OpentokFacingMode = {}));
196
+
197
+ var OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';
184
198
 
185
199
  var OpentokPublisher =
186
200
  /** @class */
187
201
  function (_super) {
188
202
  __extends(OpentokPublisher, _super);
189
203
 
190
- function OpentokPublisher(options, mediaCapabilitiesService, selectedCamera) {
204
+ function OpentokPublisher(settings, options, mediaCapabilitiesService) {
191
205
  var _this = _super.call(this) || this;
192
206
 
193
207
  _this.options = options;
194
208
  _this.mediaCapabilitiesService = mediaCapabilitiesService;
195
209
  _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();
196
- _this.publisherProperties = {
197
- insertMode: 'append',
198
- fitMode: 'cover',
199
- width: '100%',
200
- height: '100%',
201
- style: {
202
- buttonDisplayMode: 'off',
203
- archiveStatusDisplayMode: 'off',
204
- audioLevelDisplayMode: 'off'
205
- }
206
- };
207
210
 
208
211
  _this.get = function () {
209
212
  return _this.currentPublisher;
@@ -217,10 +220,67 @@ function (_super) {
217
220
  return _this.currentPublisher.getImgData() || null;
218
221
  };
219
222
 
223
+ _this.publishAudio = function (enabled) {
224
+ return _this.currentPublisher.publishAudio(enabled);
225
+ };
226
+
220
227
  _this.publishVideo = function (enabled) {
221
228
  return _this.currentPublisher.publishVideo(enabled);
222
229
  };
223
230
 
231
+ _this.switchCamera = function () {
232
+ return __awaiter(_this, void 0, void 0, function () {
233
+ var newSelectedCamera, newVideoSourceId, err_1;
234
+
235
+ var _a, _b;
236
+
237
+ return __generator(this, function (_c) {
238
+ switch (_c.label) {
239
+ case 0:
240
+ if (!this.mediaCapabilitiesService.supportSwitchCamera) {
241
+ throw new Error('Not Support switch camera');
242
+ }
243
+
244
+ _c.label = 1;
245
+
246
+ case 1:
247
+ _c.trys.push([1, 3,, 4]);
248
+
249
+ newSelectedCamera = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK ? MediaConstants_1.MultiPartyCameraTypes.FRONT : MediaConstants_1.MultiPartyCameraTypes.BACK;
250
+ newVideoSourceId = this.getVideoSourceId(newSelectedCamera);
251
+ return [4
252
+ /*yield*/
253
+ , this.currentPublisher.setVideoSource(newVideoSourceId)];
254
+
255
+ case 2:
256
+ _c.sent();
257
+
258
+ if (utils_1.shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {
259
+ (_a = this.currentPublisher.element) === null || _a === void 0 ? void 0 : _a.classList.add(OPENTOK_MIRRORED_CSS_CLASS);
260
+ } else {
261
+ (_b = this.currentPublisher.element) === null || _b === void 0 ? void 0 : _b.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);
262
+ }
263
+
264
+ this.selectedCamera = newSelectedCamera;
265
+ this.emit('cameraSourceChanged', OpentokPublisherEventMapper_1.createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile));
266
+ return [3
267
+ /*break*/
268
+ , 4];
269
+
270
+ case 3:
271
+ err_1 = _c.sent();
272
+ trace_1.traceError(JSON.stringify(err_1));
273
+ throw err_1;
274
+
275
+ case 4:
276
+ return [2
277
+ /*return*/
278
+ ];
279
+ }
280
+ });
281
+ });
282
+ };
283
+
224
284
  _this.initializeEventHandlers = function () {
225
285
  _this.currentPublisher.on('videoElementCreated', function (event) {
226
286
  trace_1.traceInfo('videoElementCreated', event);
@@ -234,9 +294,6 @@ function (_super) {
234
294
  return __generator(this, function (_a) {
235
295
  switch (_a.label) {
236
296
  case 0:
237
- trace_1.traceInfo('publisher stream created', {
238
- event: event
239
- });
240
297
  hasAudio = event.stream.hasAudio;
241
298
  participantId = this.options.participantId;
242
299
  return [4
@@ -246,7 +303,7 @@ function (_super) {
246
303
  case 1:
247
304
  _a.sent();
248
305
 
249
- this.emit('streamCreated', OpentokPublisherEventMapper_1.createStreamCreatedEvent(event.stream, this.options.participantId, this.isMobile, this.selectedCamera));
306
+ this.emit('streamCreated', OpentokPublisherEventMapper_1.createStreamCreatedEvent(event.stream, this.options.participantId, this.selectedCamera, this.isMobile));
250
307
  trace_1.traceInfo('publisher stream created', {
251
308
  event: event,
252
309
  hasAudio: hasAudio,
@@ -273,6 +330,38 @@ function (_super) {
273
330
  });
274
331
  };
275
332
 
333
+ _this.getVideoSourceId = function (selectedCamera) {
334
+ return selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? _this.mediaCapabilitiesService.frontCameraDeviceId : _this.mediaCapabilitiesService.backCameraDeviceId;
335
+ };
336
+
337
+ var selectedCamera = settings.selectedCamera,
338
+ cameraEnabled = settings.cameraEnabled,
339
+ startWithAudioMuted = settings.startWithAudioMuted;
340
+ _this.selectedCamera = selectedCamera;
341
+ var participantId = options.participantId,
342
+ backgroundImageURI = options.backgroundImageURI;
343
+ var videoSource = !_this.isMobile && _this.getVideoSourceId(selectedCamera) || undefined;
344
+ var facingMode = _this.isMobile && !videoSource && (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT ? OpentokFacingMode.USER : OpentokFacingMode.ENVIRONMENT) || undefined;
345
+ _this.currentPublisher = OT.initPublisher(participantId, {
346
+ insertMode: 'append',
347
+ fitMode: 'cover',
348
+ width: '100%',
349
+ height: '100%',
350
+ style: {
351
+ buttonDisplayMode: 'off',
352
+ archiveStatusDisplayMode: 'off',
353
+ audioLevelDisplayMode: 'off',
354
+ backgroundImageURI: backgroundImageURI
355
+ },
356
+ publishAudio: !startWithAudioMuted,
357
+ publishVideo: cameraEnabled,
358
+ videoSource: videoSource,
359
+ facingMode: facingMode,
360
+ mirror: utils_1.shouldMirrorCamera(_this.isMobile, selectedCamera)
361
+ }, trace_1.traceError);
362
+
363
+ _this.initializeEventHandlers();
364
+
276
365
  return _this;
277
366
  }
278
367
 
@@ -281,3 +370,5 @@ function (_super) {
281
370
 
282
371
  exports.OpentokPublisher = OpentokPublisher;
283
372
  //# sourceMappingURL=OpentokPublisher.js.map
373
+
374
+ //# sourceMappingURL=OpentokPublisher.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/opentok/OpentokPublisher.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","pop","length","push","defineProperty","exports","OpentokPublisher","TypedEventEmitter_1","require","trace_1","OpentokPublisherEventMapper_1","MediaCapabilitiesUtils_1","_super","options","mediaCapabilitiesService","selectedCamera","_this","isMobile","checkIsMobile","publisherProperties","insertMode","fitMode","width","height","style","buttonDisplayMode","archiveStatusDisplayMode","audioLevelDisplayMode","get","currentPublisher","destroy","getImgData","publishVideo","enabled","initializeEventHandlers","on","event","traceInfo","emit","hasAudio","participantId","_a","stream","updateDevicesList","createStreamCreatedEvent","createStreamDestroyedEvent","createMediaAccessDeniedEvent","TypedEventEmitter"],"mappings":"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","file":"OpentokPublisher.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})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokPublisher = void 0;\nvar TypedEventEmitter_1 = require(\"@techsee/techsee-common/lib/helpers/TypedEventEmitter\");\nvar trace_1 = require(\"./trace\");\nvar OpentokPublisherEventMapper_1 = require(\"./OpentokPublisherEventMapper\");\nvar MediaCapabilitiesUtils_1 = require(\"../MediaCapabilitiesUtils\");\nvar OpentokPublisher = /** @class */ (function (_super) {\n __extends(OpentokPublisher, _super);\n function OpentokPublisher(options, mediaCapabilitiesService, selectedCamera) {\n var _this = _super.call(this) || this;\n _this.options = options;\n _this.mediaCapabilitiesService = mediaCapabilitiesService;\n _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();\n _this.publisherProperties = {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off'\n }\n };\n _this.get = function () { return _this.currentPublisher; };\n _this.destroy = function () { return _this.currentPublisher.destroy(); };\n _this.getImgData = function () { return _this.currentPublisher.getImgData() || null; };\n _this.publishVideo = function (enabled) { return _this.currentPublisher.publishVideo(enabled); };\n _this.initializeEventHandlers = function () {\n _this.currentPublisher.on('videoElementCreated', function (event) {\n trace_1.traceInfo('videoElementCreated', event);\n _this.emit('videoElementCreated');\n });\n _this.currentPublisher.on('streamCreated', function (event) { return __awaiter(_this, void 0, void 0, function () {\n var hasAudio, participantId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n trace_1.traceInfo('publisher stream created', {\n event: event\n });\n hasAudio = event.stream.hasAudio;\n participantId = this.options.participantId;\n return [4 /*yield*/, this.mediaCapabilitiesService.updateDevicesList()];\n case 1:\n _a.sent();\n this.emit('streamCreated', OpentokPublisherEventMapper_1.createStreamCreatedEvent(event.stream, this.options.participantId, this.isMobile, this.selectedCamera));\n trace_1.traceInfo('publisher stream created', {\n event: event,\n hasAudio: hasAudio,\n participantId: participantId\n });\n return [2 /*return*/];\n }\n });\n }); });\n _this.currentPublisher.on('streamDestroyed', function (event) {\n trace_1.traceInfo('Publisher stream destroyed', event);\n _this.emit('streamDestroyed', OpentokPublisherEventMapper_1.createStreamDestroyedEvent(event.stream, _this.options.participantId));\n });\n _this.currentPublisher.on('accessDenied', function () {\n trace_1.traceInfo('Publisher denied media permissions');\n _this.emit('mediaDeviceAccessDenied', OpentokPublisherEventMapper_1.createMediaAccessDeniedEvent(true));\n });\n };\n return _this;\n }\n return OpentokPublisher;\n}(TypedEventEmitter_1.TypedEventEmitter));\nexports.OpentokPublisher = OpentokPublisher;\n\n//# sourceMappingURL=OpentokPublisher.js.map\n"]}
1
+ {"version":3,"sources":["MultiParty/opentok/OpentokPublisher.js","../src/MultiParty/opentok/OpentokPublisher.ts"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","pop","length","push","defineProperty","exports","OpentokPublisher","TypedEventEmitter_1","require","MediaCapabilitiesUtils_1","utils_1","trace_1","OpentokPublisherEventMapper_1","MediaConstants_1","OpentokFacingMode","OPENTOK_MIRRORED_CSS_CLASS","_super","settings","options","mediaCapabilitiesService","_this","isMobile","checkIsMobile","get","currentPublisher","destroy","getImgData","publishAudio","enabled","publishVideo","switchCamera","newSelectedCamera","newVideoSourceId","err_1","_a","_b","_c","supportSwitchCamera","Error","selectedCamera","MultiPartyCameraTypes","BACK","FRONT","getVideoSourceId","setVideoSource","shouldMirrorCamera","element","classList","add","remove","emit","createCameraSourceChangedEvent","stream","traceError","JSON","stringify","initializeEventHandlers","on","event","traceInfo","hasAudio","participantId","updateDevicesList","createStreamCreatedEvent","createStreamDestroyedEvent","createMediaAccessDeniedEvent","frontCameraDeviceId","backCameraDeviceId","cameraEnabled","startWithAudioMuted","backgroundImageURI","videoSource","undefined","facingMode","USER","ENVIRONMENT","OT","initPublisher","insertMode","fitMode","width","height","style","buttonDisplayMode","archiveStatusDisplayMode","audioLevelDisplayMode","mirror","TypedEventEmitter"],"mappings":"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","file":"OpentokPublisher.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})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokPublisher = void 0;\nvar TypedEventEmitter_1 = require(\"@techsee/techsee-common/lib/helpers/TypedEventEmitter\");\nvar MediaCapabilitiesUtils_1 = require(\"../MediaCapabilitiesUtils\");\nvar utils_1 = require(\"../utils\");\nvar trace_1 = require(\"./trace\");\nvar OpentokPublisherEventMapper_1 = require(\"./OpentokPublisherEventMapper\");\nvar MediaConstants_1 = require(\"../../MediaConstants\");\n// The preferred camera position to use for the video source\nvar OpentokFacingMode;\n(function (OpentokFacingMode) {\n OpentokFacingMode[\"USER\"] = \"user\";\n OpentokFacingMode[\"ENVIRONMENT\"] = \"environment\";\n})(OpentokFacingMode || (OpentokFacingMode = {}));\nvar OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\nvar OpentokPublisher = /** @class */ (function (_super) {\n __extends(OpentokPublisher, _super);\n function OpentokPublisher(settings, options, mediaCapabilitiesService) {\n var _this = _super.call(this) || this;\n _this.options = options;\n _this.mediaCapabilitiesService = mediaCapabilitiesService;\n _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();\n _this.get = function () { return _this.currentPublisher; };\n _this.destroy = function () { return _this.currentPublisher.destroy(); };\n _this.getImgData = function () { return _this.currentPublisher.getImgData() || null; };\n _this.publishAudio = function (enabled) { return _this.currentPublisher.publishAudio(enabled); };\n _this.publishVideo = function (enabled) { return _this.currentPublisher.publishVideo(enabled); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () {\n var newSelectedCamera, newVideoSourceId, err_1;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 4]);\n newSelectedCamera = this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.BACK\n ? MediaConstants_1.MultiPartyCameraTypes.FRONT\n : MediaConstants_1.MultiPartyCameraTypes.BACK;\n newVideoSourceId = this.getVideoSourceId(newSelectedCamera);\n return [4 /*yield*/, this.currentPublisher.setVideoSource(newVideoSourceId)];\n case 2:\n _c.sent();\n if (utils_1.shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {\n (_a = this.currentPublisher.element) === null || _a === void 0 ? void 0 : _a.classList.add(OPENTOK_MIRRORED_CSS_CLASS);\n }\n else {\n (_b = this.currentPublisher.element) === null || _b === void 0 ? void 0 : _b.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);\n }\n this.selectedCamera = newSelectedCamera;\n this.emit('cameraSourceChanged', OpentokPublisherEventMapper_1.createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile));\n return [3 /*break*/, 4];\n case 3:\n err_1 = _c.sent();\n trace_1.traceError(JSON.stringify(err_1));\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.initializeEventHandlers = function () {\n _this.currentPublisher.on('videoElementCreated', function (event) {\n trace_1.traceInfo('videoElementCreated', event);\n _this.emit('videoElementCreated');\n });\n _this.currentPublisher.on('streamCreated', function (event) { return __awaiter(_this, void 0, void 0, function () {\n var hasAudio, participantId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hasAudio = event.stream.hasAudio;\n participantId = this.options.participantId;\n return [4 /*yield*/, this.mediaCapabilitiesService.updateDevicesList()];\n case 1:\n _a.sent();\n this.emit('streamCreated', OpentokPublisherEventMapper_1.createStreamCreatedEvent(event.stream, this.options.participantId, this.selectedCamera, this.isMobile));\n trace_1.traceInfo('publisher stream created', {\n event: event,\n hasAudio: hasAudio,\n participantId: participantId\n });\n return [2 /*return*/];\n }\n });\n }); });\n _this.currentPublisher.on('streamDestroyed', function (event) {\n trace_1.traceInfo('Publisher stream destroyed', event);\n _this.emit('streamDestroyed', OpentokPublisherEventMapper_1.createStreamDestroyedEvent(event.stream, _this.options.participantId));\n });\n _this.currentPublisher.on('accessDenied', function () {\n trace_1.traceInfo('Publisher denied media permissions');\n _this.emit('mediaDeviceAccessDenied', OpentokPublisherEventMapper_1.createMediaAccessDeniedEvent(true));\n });\n };\n _this.getVideoSourceId = function (selectedCamera) {\n return (selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? _this.mediaCapabilitiesService.frontCameraDeviceId\n : _this.mediaCapabilitiesService.backCameraDeviceId);\n };\n var selectedCamera = settings.selectedCamera, cameraEnabled = settings.cameraEnabled, startWithAudioMuted = settings.startWithAudioMuted;\n _this.selectedCamera = selectedCamera;\n var participantId = options.participantId, backgroundImageURI = options.backgroundImageURI;\n var videoSource = (!_this.isMobile && _this.getVideoSourceId(selectedCamera)) || undefined;\n var facingMode = (_this.isMobile &&\n !videoSource &&\n (_this.selectedCamera === MediaConstants_1.MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT)) ||\n undefined;\n _this.currentPublisher = OT.initPublisher(participantId, {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI: backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource: videoSource,\n facingMode: facingMode,\n mirror: utils_1.shouldMirrorCamera(_this.isMobile, selectedCamera)\n }, trace_1.traceError);\n _this.initializeEventHandlers();\n return _this;\n }\n return OpentokPublisher;\n}(TypedEventEmitter_1.TypedEventEmitter));\nexports.OpentokPublisher = OpentokPublisher;\n","import {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {SessionSettings} from '../types';\nimport {MultipartyServiceEventTypesMap} from '../MultipartyServiceEventTypes';\nimport {MediaCapabilitiesService} from '../MediaCapabilitiesService';\nimport {checkIsMobile} from '../MediaCapabilitiesUtils';\nimport {shouldMirrorCamera} from '../utils';\nimport {traceError, traceInfo} from './trace';\nimport {\n createCameraSourceChangedEvent,\n createMediaAccessDeniedEvent,\n createStreamCreatedEvent,\n createStreamDestroyedEvent\n} from './OpentokPublisherEventMapper';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\n\n// The preferred camera position to use for the video source\nenum OpentokFacingMode {\n USER = 'user',\n ENVIRONMENT = 'environment'\n}\n\nexport type PublisherEvents = Pick<\n MultipartyServiceEventTypesMap,\n 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'\n>;\n\nconst OPENTOK_MIRRORED_CSS_CLASS = 'OT_mirrored';\n\nexport interface OpentokPublisherOptions {\n participantId: string;\n backgroundImageURI: string;\n}\n\ntype IMediaCapablities = Pick<\n MediaCapabilitiesService,\n 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'\n>;\n\nexport interface IOpentokPublisher {\n get: () => OT.Publisher;\n destroy: () => void;\n getImgData: () => string | null;\n publishAudio: (enabled: boolean) => void;\n publishVideo: (enabled: boolean) => void;\n switchCamera: () => Promise<void>;\n}\nexport class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {\n private currentPublisher: OT.Publisher;\n\n private selectedCamera;\n private isMobile: boolean = checkIsMobile();\n\n constructor(\n settings: SessionSettings,\n private readonly options: OpentokPublisherOptions,\n private readonly mediaCapabilitiesService: IMediaCapablities\n ) {\n super();\n\n const {selectedCamera, cameraEnabled, startWithAudioMuted} = settings;\n\n this.selectedCamera = selectedCamera;\n\n const {participantId, backgroundImageURI} = options;\n const videoSource = (!this.isMobile && this.getVideoSourceId(selectedCamera)) || undefined;\n const facingMode =\n (this.isMobile &&\n !videoSource &&\n (this.selectedCamera === MultiPartyCameraTypes.FRONT\n ? OpentokFacingMode.USER\n : OpentokFacingMode.ENVIRONMENT)) ||\n undefined;\n\n this.currentPublisher = OT.initPublisher(\n participantId,\n {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off',\n backgroundImageURI\n },\n publishAudio: !startWithAudioMuted,\n publishVideo: cameraEnabled,\n videoSource,\n facingMode,\n mirror: shouldMirrorCamera(this.isMobile, selectedCamera)\n },\n traceError\n );\n\n this.initializeEventHandlers();\n }\n\n public get = (): OT.Publisher => this.currentPublisher;\n\n public destroy = (): void => this.currentPublisher.destroy();\n\n public getImgData = (): string | null => this.currentPublisher.getImgData() || null;\n\n public publishAudio = (enabled: boolean): void => this.currentPublisher.publishAudio(enabled);\n\n public publishVideo = (enabled: boolean): void => this.currentPublisher.publishVideo(enabled);\n\n public switchCamera = async (): Promise<void> => {\n if (!this.mediaCapabilitiesService.supportSwitchCamera) {\n throw new Error('Not Support switch camera');\n }\n\n try {\n const newSelectedCamera =\n this.selectedCamera === MultiPartyCameraTypes.BACK\n ? MultiPartyCameraTypes.FRONT\n : MultiPartyCameraTypes.BACK;\n\n const newVideoSourceId = this.getVideoSourceId(newSelectedCamera);\n\n await this.currentPublisher.setVideoSource(newVideoSourceId);\n\n if (shouldMirrorCamera(!this.isMobile, newSelectedCamera)) {\n this.currentPublisher.element?.classList.add(OPENTOK_MIRRORED_CSS_CLASS);\n } else {\n this.currentPublisher.element?.classList.remove(OPENTOK_MIRRORED_CSS_CLASS);\n }\n\n this.selectedCamera = newSelectedCamera;\n\n this.emit(\n 'cameraSourceChanged',\n createCameraSourceChangedEvent(this.currentPublisher.stream, this.selectedCamera, this.isMobile)\n );\n } catch (err) {\n traceError(JSON.stringify(err));\n throw err;\n }\n };\n\n private initializeEventHandlers = () => {\n this.currentPublisher.on('videoElementCreated', (event: unknown) => {\n traceInfo('videoElementCreated', event);\n\n this.emit('videoElementCreated');\n });\n\n this.currentPublisher.on('streamCreated', async (event: {stream: OT.Stream}) => {\n const {hasAudio} = event.stream;\n const {participantId} = this.options;\n\n await this.mediaCapabilitiesService.updateDevicesList();\n\n this.emit(\n 'streamCreated',\n createStreamCreatedEvent(event.stream, this.options.participantId, this.selectedCamera, this.isMobile)\n );\n\n traceInfo('publisher stream created', {\n event,\n hasAudio,\n participantId\n });\n });\n\n this.currentPublisher.on('streamDestroyed', (event: {stream: OT.Stream}) => {\n traceInfo('Publisher stream destroyed', event);\n\n this.emit('streamDestroyed', createStreamDestroyedEvent(event.stream, this.options.participantId));\n });\n\n this.currentPublisher.on('accessDenied', () => {\n traceInfo('Publisher denied media permissions');\n\n this.emit('mediaDeviceAccessDenied', createMediaAccessDeniedEvent(true));\n });\n };\n\n private getVideoSourceId = (selectedCamera: MultiPartyCameraTypes): string =>\n (selectedCamera === MultiPartyCameraTypes.FRONT\n ? this.mediaCapabilitiesService.frontCameraDeviceId\n : this.mediaCapabilitiesService.backCameraDeviceId);\n}\n"]}
@@ -11,9 +11,8 @@ export declare type OTStreamCreatedEventParams = {
11
11
  height: number;
12
12
  width: number;
13
13
  };
14
- videoType: string;
15
14
  };
16
- export declare function createStreamCreatedEvent(stream: OTStreamCreatedEventParams, participantId: string, isMobile: boolean, selectedCamera?: MultiPartyCameraTypes): MultipartyServiceStreamCreatedEvent;
15
+ export declare function createStreamCreatedEvent(stream: OTStreamCreatedEventParams, participantId: string, selectedCamera: MultiPartyCameraTypes, isMobile: boolean): MultipartyServiceStreamCreatedEvent;
17
16
  export declare function createStreamDestroyedEvent(stream: OTStreamCreatedEventParams, participantId: string): MultipartyServiceStreamDestroyedEvent;
18
17
  export declare function createMediaAccessDeniedEvent(isOwnConnection: boolean): MultipartyServiceMediaAccessDeniedEvent;
19
18
  export declare function createCameraSourceChangedEvent(stream: OTStreamCreatedEventParams | undefined, selectedCamera: MultiPartyCameraTypes, isMobile: boolean): MultipartyServiceCameraSourceChangedEvent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisherEventMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAiB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACH,yCAAyC,EACzC,uCAAuC,EACvC,mCAAmC,EACnC,qCAAqC,EACxC,MAAM,gCAAgC,CAAC;AAGxC,oBAAY,0BAA0B,GAAG;IACrC,UAAU,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,qBAAqB,GACvC,mCAAmC,CAerC;AAED,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,GACtB,qCAAqC,CAWvC;AAED,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,OAAO,GAAG,uCAAuC,CAE9G;AAED,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,0BAA0B,GAAG,SAAS,EAC9C,cAAc,EAAE,qBAAqB,EACrC,QAAQ,EAAE,OAAO,GAClB,yCAAyC,CAW3C","file":"OpentokPublisherEventMapper.d.ts","sourcesContent":["import {MultiPartyCameraTypes, VideoTypesEnum} from '../../MediaConstants';\nimport {\n MultipartyServiceCameraSourceChangedEvent,\n MultipartyServiceMediaAccessDeniedEvent,\n MultipartyServiceStreamCreatedEvent,\n MultipartyServiceStreamDestroyedEvent\n} from '../MultipartyServiceEventTypes';\nimport {decodeClientRole, shouldMirrorCamera} from '../utils';\n\nexport type OTStreamCreatedEventParams = {\n connection: {\n connectionId: string;\n data: string;\n };\n hasVideo: boolean;\n hasAudio: boolean;\n videoDimensions: {\n height: number;\n width: number;\n };\n videoType: string;\n};\n\nexport function createStreamCreatedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string,\n isMobile: boolean,\n selectedCamera?: MultiPartyCameraTypes\n): MultipartyServiceStreamCreatedEvent {\n const {hasAudio, hasVideo, connection, videoDimensions, videoType} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n clientRole: decodeClientRole(connection.data),\n connectionId,\n hasVideo,\n hasAudio,\n isOwnConnection: true,\n mirror: selectedCamera ? shouldMirrorCamera(isMobile, selectedCamera) : false,\n videoDimensions,\n videoType: videoType as VideoTypesEnum\n };\n}\n\nexport function createStreamDestroyedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string\n): MultipartyServiceStreamDestroyedEvent {\n const {connection} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n connectionId,\n isOwnConnection: true,\n clientRole: decodeClientRole(connection.data),\n videoType: stream.videoType as VideoTypesEnum\n };\n}\n\nexport function createMediaAccessDeniedEvent(isOwnConnection: boolean): MultipartyServiceMediaAccessDeniedEvent {\n return {isOwnConnection};\n}\n\nexport function createCameraSourceChangedEvent(\n stream: OTStreamCreatedEventParams | undefined,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceCameraSourceChangedEvent {\n const videoDimensions = stream?.videoDimensions || {\n width: 0,\n height: 0\n };\n\n return {\n cameraSource: selectedCamera,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisherEventMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACH,yCAAyC,EACzC,uCAAuC,EACvC,mCAAmC,EACnC,qCAAqC,EACxC,MAAM,gCAAgC,CAAC;AAGxC,oBAAY,0BAA0B,GAAG;IACrC,UAAU,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,qBAAqB,EACrC,QAAQ,EAAE,OAAO,GAClB,mCAAmC,CAcrC;AAED,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,GACtB,qCAAqC,CAUvC;AAED,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,OAAO,GAAG,uCAAuC,CAE9G;AAED,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,0BAA0B,GAAG,SAAS,EAC9C,cAAc,EAAE,qBAAqB,EACrC,QAAQ,EAAE,OAAO,GAClB,yCAAyC,CAW3C","file":"OpentokPublisherEventMapper.d.ts","sourcesContent":["import {MultiPartyCameraTypes} from '../../MediaConstants';\nimport {\n MultipartyServiceCameraSourceChangedEvent,\n MultipartyServiceMediaAccessDeniedEvent,\n MultipartyServiceStreamCreatedEvent,\n MultipartyServiceStreamDestroyedEvent\n} from '../MultipartyServiceEventTypes';\nimport {decodeClientRole, shouldMirrorCamera} from '../utils';\n\nexport type OTStreamCreatedEventParams = {\n connection: {\n connectionId: string;\n data: string;\n };\n hasVideo: boolean;\n hasAudio: boolean;\n videoDimensions: {\n height: number;\n width: number;\n };\n};\n\nexport function createStreamCreatedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceStreamCreatedEvent {\n const {hasAudio, hasVideo, connection, videoDimensions} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n clientRole: decodeClientRole(connection.data),\n connectionId,\n hasVideo,\n hasAudio,\n isOwnConnection: true,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n\nexport function createStreamDestroyedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string\n): MultipartyServiceStreamDestroyedEvent {\n const {connection} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n connectionId,\n isOwnConnection: true,\n clientRole: decodeClientRole(connection.data)\n };\n}\n\nexport function createMediaAccessDeniedEvent(isOwnConnection: boolean): MultipartyServiceMediaAccessDeniedEvent {\n return {isOwnConnection};\n}\n\nexport function createCameraSourceChangedEvent(\n stream: OTStreamCreatedEventParams | undefined,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceCameraSourceChangedEvent {\n const videoDimensions = stream?.videoDimensions || {\n width: 0,\n height: 0\n };\n\n return {\n cameraSource: selectedCamera,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n"]}
@@ -7,12 +7,11 @@ exports.createCameraSourceChangedEvent = exports.createMediaAccessDeniedEvent =
7
7
 
8
8
  var utils_1 = require("../utils");
9
9
 
10
- function createStreamCreatedEvent(stream, participantId, isMobile, selectedCamera) {
10
+ function createStreamCreatedEvent(stream, participantId, selectedCamera, isMobile) {
11
11
  var hasAudio = stream.hasAudio,
12
12
  hasVideo = stream.hasVideo,
13
13
  connection = stream.connection,
14
- videoDimensions = stream.videoDimensions,
15
- videoType = stream.videoType;
14
+ videoDimensions = stream.videoDimensions;
16
15
  var connectionId = stream.connection.connectionId;
17
16
  return {
18
17
  participantId: participantId,
@@ -21,9 +20,8 @@ function createStreamCreatedEvent(stream, participantId, isMobile, selectedCamer
21
20
  hasVideo: hasVideo,
22
21
  hasAudio: hasAudio,
23
22
  isOwnConnection: true,
24
- mirror: selectedCamera ? utils_1.shouldMirrorCamera(isMobile, selectedCamera) : false,
25
- videoDimensions: videoDimensions,
26
- videoType: videoType
23
+ mirror: utils_1.shouldMirrorCamera(isMobile, selectedCamera),
24
+ videoDimensions: videoDimensions
27
25
  };
28
26
  }
29
27
 
@@ -36,8 +34,7 @@ function createStreamDestroyedEvent(stream, participantId) {
36
34
  participantId: participantId,
37
35
  connectionId: connectionId,
38
36
  isOwnConnection: true,
39
- clientRole: utils_1.decodeClientRole(connection.data),
40
- videoType: stream.videoType
37
+ clientRole: utils_1.decodeClientRole(connection.data)
41
38
  };
42
39
  }
43
40
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/opentok/OpentokPublisherEventMapper.js","../src/MultiParty/opentok/OpentokPublisherEventMapper.ts"],"names":["Object","defineProperty","exports","value","createCameraSourceChangedEvent","createMediaAccessDeniedEvent","createStreamDestroyedEvent","createStreamCreatedEvent","utils_1","require","stream","participantId","isMobile","selectedCamera","hasAudio","hasVideo","connection","videoDimensions","videoType","connectionId","clientRole","decodeClientRole","data","isOwnConnection","mirror","shouldMirrorCamera","width","height","cameraSource"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,8BAAR,GAAyCF,OAAO,CAACG,4BAAR,GAAuCH,OAAO,CAACI,0BAAR,GAAqCJ,OAAO,CAACK,wBAAR,GAAmC,KAAK,CAA7J;;ACKA,IAAAC,OAAA,GAAAC,OAAA,CAAA,UAAA,CAAA;;AAgBA,SAAgBF,wBAAhB,CACIG,MADJ,EAEIC,aAFJ,EAGIC,QAHJ,EAIIC,cAJJ,EAI0C;AAE/B,MAAAC,QAAQ,GAAsDJ,MAAM,CAAAI,QAApE;AAAA,MAAUC,QAAQ,GAA4CL,MAAM,CAAAK,QAApE;AAAA,MAAoBC,UAAU,GAAgCN,MAAM,CAAAM,UAApE;AAAA,MAAgCC,eAAe,GAAeP,MAAM,CAAAO,eAApE;AAAA,MAAiDC,SAAS,GAAIR,MAAM,CAAAQ,SAApE;AACA,MAAAC,YAAY,GAAIT,MAAM,CAACM,UAAP,CAAiBG,YAAjC;AAEP,SAAO;AACHR,IAAAA,aAAa,EAAAA,aADV;AAEHS,IAAAA,UAAU,EAAEZ,OAAA,CAAAa,gBAAA,CAAiBL,UAAU,CAACM,IAA5B,CAFT;AAGHH,IAAAA,YAAY,EAAAA,YAHT;AAIHJ,IAAAA,QAAQ,EAAAA,QAJL;AAKHD,IAAAA,QAAQ,EAAAA,QALL;AAMHS,IAAAA,eAAe,EAAE,IANd;AAOHC,IAAAA,MAAM,EAAEX,cAAc,GAAGL,OAAA,CAAAiB,kBAAA,CAAmBb,QAAnB,EAA6BC,cAA7B,CAAH,GAAkD,KAPrE;AAQHI,IAAAA,eAAe,EAAAA,eARZ;AASHC,IAAAA,SAAS,EAAEA;AATR,GAAP;AAWH;;AApBDhB,OAAA,CAAAK,wBAAA,GAAAA,wBAAA;;AAsBA,SAAgBD,0BAAhB,CACII,MADJ,EAEIC,aAFJ,EAEyB;AAEd,MAAAK,UAAU,GAAIN,MAAM,CAAAM,UAApB;AACA,MAAAG,YAAY,GAAIT,MAAM,CAACM,UAAP,CAAiBG,YAAjC;AAEP,SAAO;AACHR,IAAAA,aAAa,EAAAA,aADV;AAEHQ,IAAAA,YAAY,EAAAA,YAFT;AAGHI,IAAAA,eAAe,EAAE,IAHd;AAIHH,IAAAA,UAAU,EAAEZ,OAAA,CAAAa,gBAAA,CAAiBL,UAAU,CAACM,IAA5B,CAJT;AAKHJ,IAAAA,SAAS,EAAER,MAAM,CAACQ;AALf,GAAP;AAOH;;AAdDhB,OAAA,CAAAI,0BAAA,GAAAA,0BAAA;;AAgBA,SAAgBD,4BAAhB,CAA6CkB,eAA7C,EAAqE;AACjE,SAAO;AAACA,IAAAA,eAAe,EAAAA;AAAhB,GAAP;AACH;;AAFDrB,OAAA,CAAAG,4BAAA,GAAAA,4BAAA;;AAIA,SAAgBD,8BAAhB,CACIM,MADJ,EAEIG,cAFJ,EAGID,QAHJ,EAGqB;AAEjB,MAAMK,eAAe,GAAG,CAAAP,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEO,eAAR,KAA2B;AAC/CS,IAAAA,KAAK,EAAE,CADwC;AAE/CC,IAAAA,MAAM,EAAE;AAFuC,GAAnD;AAKA,SAAO;AACHC,IAAAA,YAAY,EAAEf,cADX;AAEHW,IAAAA,MAAM,EAAEhB,OAAA,CAAAiB,kBAAA,CAAmBb,QAAnB,EAA6BC,cAA7B,CAFL;AAGHI,IAAAA,eAAe,EAAAA;AAHZ,GAAP;AAKH;;AAfDf,OAAA,CAAAE,8BAAA,GAAAA,8BAAA","file":"OpentokPublisherEventMapper.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createCameraSourceChangedEvent = exports.createMediaAccessDeniedEvent = exports.createStreamDestroyedEvent = exports.createStreamCreatedEvent = void 0;\nvar utils_1 = require(\"../utils\");\nfunction createStreamCreatedEvent(stream, participantId, isMobile, selectedCamera) {\n var hasAudio = stream.hasAudio, hasVideo = stream.hasVideo, connection = stream.connection, videoDimensions = stream.videoDimensions, videoType = stream.videoType;\n var connectionId = stream.connection.connectionId;\n return {\n participantId: participantId,\n clientRole: utils_1.decodeClientRole(connection.data),\n connectionId: connectionId,\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n isOwnConnection: true,\n mirror: selectedCamera ? utils_1.shouldMirrorCamera(isMobile, selectedCamera) : false,\n videoDimensions: videoDimensions,\n videoType: videoType\n };\n}\nexports.createStreamCreatedEvent = createStreamCreatedEvent;\nfunction createStreamDestroyedEvent(stream, participantId) {\n var connection = stream.connection;\n var connectionId = stream.connection.connectionId;\n return {\n participantId: participantId,\n connectionId: connectionId,\n isOwnConnection: true,\n clientRole: utils_1.decodeClientRole(connection.data),\n videoType: stream.videoType\n };\n}\nexports.createStreamDestroyedEvent = createStreamDestroyedEvent;\nfunction createMediaAccessDeniedEvent(isOwnConnection) {\n return { isOwnConnection: isOwnConnection };\n}\nexports.createMediaAccessDeniedEvent = createMediaAccessDeniedEvent;\nfunction createCameraSourceChangedEvent(stream, selectedCamera, isMobile) {\n var videoDimensions = (stream === null || stream === void 0 ? void 0 : stream.videoDimensions) || {\n width: 0,\n height: 0\n };\n return {\n cameraSource: selectedCamera,\n mirror: utils_1.shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions: videoDimensions\n };\n}\nexports.createCameraSourceChangedEvent = createCameraSourceChangedEvent;\n","import {MultiPartyCameraTypes, VideoTypesEnum} from '../../MediaConstants';\nimport {\n MultipartyServiceCameraSourceChangedEvent,\n MultipartyServiceMediaAccessDeniedEvent,\n MultipartyServiceStreamCreatedEvent,\n MultipartyServiceStreamDestroyedEvent\n} from '../MultipartyServiceEventTypes';\nimport {decodeClientRole, shouldMirrorCamera} from '../utils';\n\nexport type OTStreamCreatedEventParams = {\n connection: {\n connectionId: string;\n data: string;\n };\n hasVideo: boolean;\n hasAudio: boolean;\n videoDimensions: {\n height: number;\n width: number;\n };\n videoType: string;\n};\n\nexport function createStreamCreatedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string,\n isMobile: boolean,\n selectedCamera?: MultiPartyCameraTypes\n): MultipartyServiceStreamCreatedEvent {\n const {hasAudio, hasVideo, connection, videoDimensions, videoType} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n clientRole: decodeClientRole(connection.data),\n connectionId,\n hasVideo,\n hasAudio,\n isOwnConnection: true,\n mirror: selectedCamera ? shouldMirrorCamera(isMobile, selectedCamera) : false,\n videoDimensions,\n videoType: videoType as VideoTypesEnum\n };\n}\n\nexport function createStreamDestroyedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string\n): MultipartyServiceStreamDestroyedEvent {\n const {connection} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n connectionId,\n isOwnConnection: true,\n clientRole: decodeClientRole(connection.data),\n videoType: stream.videoType as VideoTypesEnum\n };\n}\n\nexport function createMediaAccessDeniedEvent(isOwnConnection: boolean): MultipartyServiceMediaAccessDeniedEvent {\n return {isOwnConnection};\n}\n\nexport function createCameraSourceChangedEvent(\n stream: OTStreamCreatedEventParams | undefined,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceCameraSourceChangedEvent {\n const videoDimensions = stream?.videoDimensions || {\n width: 0,\n height: 0\n };\n\n return {\n cameraSource: selectedCamera,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n"]}
1
+ {"version":3,"sources":["MultiParty/opentok/OpentokPublisherEventMapper.js","../src/MultiParty/opentok/OpentokPublisherEventMapper.ts"],"names":["Object","defineProperty","exports","value","createCameraSourceChangedEvent","createMediaAccessDeniedEvent","createStreamDestroyedEvent","createStreamCreatedEvent","utils_1","require","stream","participantId","selectedCamera","isMobile","hasAudio","hasVideo","connection","videoDimensions","connectionId","clientRole","decodeClientRole","data","isOwnConnection","mirror","shouldMirrorCamera","width","height","cameraSource"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,8BAAR,GAAyCF,OAAO,CAACG,4BAAR,GAAuCH,OAAO,CAACI,0BAAR,GAAqCJ,OAAO,CAACK,wBAAR,GAAmC,KAAK,CAA7J;;ACKA,IAAAC,OAAA,GAAAC,OAAA,CAAA,UAAA,CAAA;;AAeA,SAAgBF,wBAAhB,CACIG,MADJ,EAEIC,aAFJ,EAGIC,cAHJ,EAIIC,QAJJ,EAIqB;AAEV,MAAAC,QAAQ,GAA2CJ,MAAM,CAAAI,QAAzD;AAAA,MAAUC,QAAQ,GAAiCL,MAAM,CAAAK,QAAzD;AAAA,MAAoBC,UAAU,GAAqBN,MAAM,CAAAM,UAAzD;AAAA,MAAgCC,eAAe,GAAIP,MAAM,CAAAO,eAAzD;AACA,MAAAC,YAAY,GAAIR,MAAM,CAACM,UAAP,CAAiBE,YAAjC;AAEP,SAAO;AACHP,IAAAA,aAAa,EAAAA,aADV;AAEHQ,IAAAA,UAAU,EAAEX,OAAA,CAAAY,gBAAA,CAAiBJ,UAAU,CAACK,IAA5B,CAFT;AAGHH,IAAAA,YAAY,EAAAA,YAHT;AAIHH,IAAAA,QAAQ,EAAAA,QAJL;AAKHD,IAAAA,QAAQ,EAAAA,QALL;AAMHQ,IAAAA,eAAe,EAAE,IANd;AAOHC,IAAAA,MAAM,EAAEf,OAAA,CAAAgB,kBAAA,CAAmBX,QAAnB,EAA6BD,cAA7B,CAPL;AAQHK,IAAAA,eAAe,EAAAA;AARZ,GAAP;AAUH;;AAnBDf,OAAA,CAAAK,wBAAA,GAAAA,wBAAA;;AAqBA,SAAgBD,0BAAhB,CACII,MADJ,EAEIC,aAFJ,EAEyB;AAEd,MAAAK,UAAU,GAAIN,MAAM,CAAAM,UAApB;AACA,MAAAE,YAAY,GAAIR,MAAM,CAACM,UAAP,CAAiBE,YAAjC;AAEP,SAAO;AACHP,IAAAA,aAAa,EAAAA,aADV;AAEHO,IAAAA,YAAY,EAAAA,YAFT;AAGHI,IAAAA,eAAe,EAAE,IAHd;AAIHH,IAAAA,UAAU,EAAEX,OAAA,CAAAY,gBAAA,CAAiBJ,UAAU,CAACK,IAA5B;AAJT,GAAP;AAMH;;AAbDnB,OAAA,CAAAI,0BAAA,GAAAA,0BAAA;;AAeA,SAAgBD,4BAAhB,CAA6CiB,eAA7C,EAAqE;AACjE,SAAO;AAACA,IAAAA,eAAe,EAAAA;AAAhB,GAAP;AACH;;AAFDpB,OAAA,CAAAG,4BAAA,GAAAA,4BAAA;;AAIA,SAAgBD,8BAAhB,CACIM,MADJ,EAEIE,cAFJ,EAGIC,QAHJ,EAGqB;AAEjB,MAAMI,eAAe,GAAG,CAAAP,MAAM,KAAA,IAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAEO,eAAR,KAA2B;AAC/CQ,IAAAA,KAAK,EAAE,CADwC;AAE/CC,IAAAA,MAAM,EAAE;AAFuC,GAAnD;AAKA,SAAO;AACHC,IAAAA,YAAY,EAAEf,cADX;AAEHW,IAAAA,MAAM,EAAEf,OAAA,CAAAgB,kBAAA,CAAmBX,QAAnB,EAA6BD,cAA7B,CAFL;AAGHK,IAAAA,eAAe,EAAAA;AAHZ,GAAP;AAKH;;AAfDf,OAAA,CAAAE,8BAAA,GAAAA,8BAAA","file":"OpentokPublisherEventMapper.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createCameraSourceChangedEvent = exports.createMediaAccessDeniedEvent = exports.createStreamDestroyedEvent = exports.createStreamCreatedEvent = void 0;\nvar utils_1 = require(\"../utils\");\nfunction createStreamCreatedEvent(stream, participantId, selectedCamera, isMobile) {\n var hasAudio = stream.hasAudio, hasVideo = stream.hasVideo, connection = stream.connection, videoDimensions = stream.videoDimensions;\n var connectionId = stream.connection.connectionId;\n return {\n participantId: participantId,\n clientRole: utils_1.decodeClientRole(connection.data),\n connectionId: connectionId,\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n isOwnConnection: true,\n mirror: utils_1.shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions: videoDimensions\n };\n}\nexports.createStreamCreatedEvent = createStreamCreatedEvent;\nfunction createStreamDestroyedEvent(stream, participantId) {\n var connection = stream.connection;\n var connectionId = stream.connection.connectionId;\n return {\n participantId: participantId,\n connectionId: connectionId,\n isOwnConnection: true,\n clientRole: utils_1.decodeClientRole(connection.data)\n };\n}\nexports.createStreamDestroyedEvent = createStreamDestroyedEvent;\nfunction createMediaAccessDeniedEvent(isOwnConnection) {\n return { isOwnConnection: isOwnConnection };\n}\nexports.createMediaAccessDeniedEvent = createMediaAccessDeniedEvent;\nfunction createCameraSourceChangedEvent(stream, selectedCamera, isMobile) {\n var videoDimensions = (stream === null || stream === void 0 ? void 0 : stream.videoDimensions) || {\n width: 0,\n height: 0\n };\n return {\n cameraSource: selectedCamera,\n mirror: utils_1.shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions: videoDimensions\n };\n}\nexports.createCameraSourceChangedEvent = createCameraSourceChangedEvent;\n","import {MultiPartyCameraTypes} from '../../MediaConstants';\nimport {\n MultipartyServiceCameraSourceChangedEvent,\n MultipartyServiceMediaAccessDeniedEvent,\n MultipartyServiceStreamCreatedEvent,\n MultipartyServiceStreamDestroyedEvent\n} from '../MultipartyServiceEventTypes';\nimport {decodeClientRole, shouldMirrorCamera} from '../utils';\n\nexport type OTStreamCreatedEventParams = {\n connection: {\n connectionId: string;\n data: string;\n };\n hasVideo: boolean;\n hasAudio: boolean;\n videoDimensions: {\n height: number;\n width: number;\n };\n};\n\nexport function createStreamCreatedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceStreamCreatedEvent {\n const {hasAudio, hasVideo, connection, videoDimensions} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n clientRole: decodeClientRole(connection.data),\n connectionId,\n hasVideo,\n hasAudio,\n isOwnConnection: true,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n\nexport function createStreamDestroyedEvent(\n stream: OTStreamCreatedEventParams,\n participantId: string\n): MultipartyServiceStreamDestroyedEvent {\n const {connection} = stream;\n const {connectionId} = stream.connection;\n\n return {\n participantId,\n connectionId,\n isOwnConnection: true,\n clientRole: decodeClientRole(connection.data)\n };\n}\n\nexport function createMediaAccessDeniedEvent(isOwnConnection: boolean): MultipartyServiceMediaAccessDeniedEvent {\n return {isOwnConnection};\n}\n\nexport function createCameraSourceChangedEvent(\n stream: OTStreamCreatedEventParams | undefined,\n selectedCamera: MultiPartyCameraTypes,\n isMobile: boolean\n): MultipartyServiceCameraSourceChangedEvent {\n const videoDimensions = stream?.videoDimensions || {\n width: 0,\n height: 0\n };\n\n return {\n cameraSource: selectedCamera,\n mirror: shouldMirrorCamera(isMobile, selectedCamera),\n videoDimensions\n };\n}\n"]}
@@ -7,14 +7,10 @@ export declare type Credentials = {
7
7
  export declare type BrandingSettings = {
8
8
  backgroundImageURI?: string;
9
9
  };
10
- export declare type VideoSettings = {
10
+ export declare type SessionSettings = {
11
11
  selectedCamera: MultiPartyCameraTypes;
12
12
  cameraEnabled: boolean;
13
13
  startWithAudioMuted: boolean;
14
- };
15
- export declare type SessionSettings = {
16
- videoSettings: VideoSettings;
17
- isScreenSharingCapabilitiesEnabled?: boolean;
18
14
  mediaServiceType: MediaServiceType;
19
15
  branding?: BrandingSettings;
20
16
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,aAAa,GAAG;IACxB,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,uBAAuB,EAAE,OAAO,CAAC;IACjC,2BAA2B,EAAE,OAAO,CAAC;CACxC","file":"types.d.ts","sourcesContent":["import {MediaServiceType, MultiPartyCameraTypes} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string;\n sessionId: string;\n token: string;\n};\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type VideoSettings = {\n selectedCamera: MultiPartyCameraTypes;\n cameraEnabled: boolean;\n startWithAudioMuted: boolean;\n};\n\nexport type SessionSettings = {\n videoSettings: VideoSettings;\n isScreenSharingCapabilitiesEnabled?: boolean;\n mediaServiceType: MediaServiceType;\n branding?: BrandingSettings;\n};\n\nexport interface ClientWebRtcInfo {\n isWebRTCSupported: boolean;\n isWebsiteHasWebcamPermissions: boolean;\n isWebsiteHasMicrophonePermissions: boolean;\n isGetUserMediaSupported: boolean;\n isApplyConstraintsSupported: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,oBAAY,WAAW,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,cAAc,EAAE,qBAAqB,CAAC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6BAA6B,EAAE,OAAO,CAAC;IACvC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,uBAAuB,EAAE,OAAO,CAAC;IACjC,2BAA2B,EAAE,OAAO,CAAC;CACxC","file":"types.d.ts","sourcesContent":["import {MediaServiceType, MultiPartyCameraTypes} from '../MediaConstants';\n\nexport type Credentials = {\n apiKey: string;\n sessionId: string;\n token: string;\n};\n\nexport type BrandingSettings = {\n backgroundImageURI?: string;\n};\n\nexport type SessionSettings = {\n selectedCamera: MultiPartyCameraTypes;\n cameraEnabled: boolean;\n startWithAudioMuted: boolean;\n mediaServiceType: MediaServiceType;\n branding?: BrandingSettings;\n};\n\nexport interface ClientWebRtcInfo {\n isWebRTCSupported: boolean;\n isWebsiteHasWebcamPermissions: boolean;\n isWebsiteHasMicrophonePermissions: boolean;\n isGetUserMediaSupported: boolean;\n isApplyConstraintsSupported: boolean;\n}\n"]}
@@ -1,9 +1,3 @@
1
- import { MultiPartyCameraTypes, SessionClientRole, VideoTypesEnum } from '../MediaConstants';
2
- interface IStreamIdentifiers {
3
- connectionId: string;
4
- videoType: VideoTypesEnum;
5
- }
1
+ import { MultiPartyCameraTypes, SessionClientRole } from '../MediaConstants';
6
2
  export declare function decodeClientRole(data: string): SessionClientRole;
7
3
  export declare function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes): boolean;
8
- export declare function isSameStream(s1: IStreamIdentifiers, s2: IStreamIdentifiers): boolean;
9
- export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAE3F,UAAU,kBAAkB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,WAE1F;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAEpF","file":"utils.d.ts","sourcesContent":["import {MultiPartyCameraTypes, SessionClientRole, VideoTypesEnum} from '../MediaConstants';\n\ninterface IStreamIdentifiers {\n connectionId: string;\n videoType: VideoTypesEnum;\n}\n\nexport function decodeClientRole(data: string): SessionClientRole {\n return JSON.parse(data).clientRole || SessionClientRole.USER;\n}\n\nexport function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes) {\n return !isMobile || selectedCamera !== MultiPartyCameraTypes.BACK;\n}\n\nexport function isSameStream(s1: IStreamIdentifiers, s2: IStreamIdentifiers): boolean {\n return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;\n}\n"]}
1
+ {"version":3,"sources":["../src/MultiParty/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAE3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,WAE1F","file":"utils.d.ts","sourcesContent":["import {MultiPartyCameraTypes, SessionClientRole} from '../MediaConstants';\n\nexport function decodeClientRole(data: string): SessionClientRole {\n return JSON.parse(data).clientRole || SessionClientRole.USER;\n}\n\nexport function shouldMirrorCamera(isMobile: boolean, selectedCamera: MultiPartyCameraTypes) {\n return !isMobile || selectedCamera !== MultiPartyCameraTypes.BACK;\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isSameStream = exports.shouldMirrorCamera = exports.decodeClientRole = void 0;
6
+ exports.shouldMirrorCamera = exports.decodeClientRole = void 0;
7
7
 
8
8
  var MediaConstants_1 = require("../MediaConstants");
9
9
 
@@ -18,10 +18,4 @@ function shouldMirrorCamera(isMobile, selectedCamera) {
18
18
  }
19
19
 
20
20
  exports.shouldMirrorCamera = shouldMirrorCamera;
21
-
22
- function isSameStream(s1, s2) {
23
- return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;
24
- }
25
-
26
- exports.isSameStream = isSameStream;
27
21
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/utils.js"],"names":["Object","defineProperty","exports","value","isSameStream","shouldMirrorCamera","decodeClientRole","MediaConstants_1","require","data","JSON","parse","clientRole","SessionClientRole","USER","isMobile","selectedCamera","MultiPartyCameraTypes","BACK","s1","s2","connectionId","videoType"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,YAAR,GAAuBF,OAAO,CAACG,kBAAR,GAA6BH,OAAO,CAACI,gBAAR,GAA2B,KAAK,CAApF;;AACA,IAAIC,gBAAgB,GAAGC,OAAO,CAAC,mBAAD,CAA9B;;AACA,SAASF,gBAAT,CAA0BG,IAA1B,EAAgC;AAC5B,SAAOC,IAAI,CAACC,KAAL,CAAWF,IAAX,EAAiBG,UAAjB,IAA+BL,gBAAgB,CAACM,iBAAjB,CAAmCC,IAAzE;AACH;;AACDZ,OAAO,CAACI,gBAAR,GAA2BA,gBAA3B;;AACA,SAASD,kBAAT,CAA4BU,QAA5B,EAAsCC,cAAtC,EAAsD;AAClD,SAAO,CAACD,QAAD,IAAaC,cAAc,KAAKT,gBAAgB,CAACU,qBAAjB,CAAuCC,IAA9E;AACH;;AACDhB,OAAO,CAACG,kBAAR,GAA6BA,kBAA7B;;AACA,SAASD,YAAT,CAAsBe,EAAtB,EAA0BC,EAA1B,EAA8B;AAC1B,SAAOD,EAAE,CAACE,YAAH,KAAoBD,EAAE,CAACC,YAAvB,IAAuCF,EAAE,CAACG,SAAH,KAAiBF,EAAE,CAACE,SAAlE;AACH;;AACDpB,OAAO,CAACE,YAAR,GAAuBA,YAAvB","file":"utils.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSameStream = exports.shouldMirrorCamera = exports.decodeClientRole = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nfunction decodeClientRole(data) {\n return JSON.parse(data).clientRole || MediaConstants_1.SessionClientRole.USER;\n}\nexports.decodeClientRole = decodeClientRole;\nfunction shouldMirrorCamera(isMobile, selectedCamera) {\n return !isMobile || selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n}\nexports.shouldMirrorCamera = shouldMirrorCamera;\nfunction isSameStream(s1, s2) {\n return s1.connectionId === s2.connectionId && s1.videoType === s2.videoType;\n}\nexports.isSameStream = isSameStream;\n\n//# sourceMappingURL=utils.js.map\n"]}
1
+ {"version":3,"sources":["MultiParty/utils.js"],"names":["Object","defineProperty","exports","value","shouldMirrorCamera","decodeClientRole","MediaConstants_1","require","data","JSON","parse","clientRole","SessionClientRole","USER","isMobile","selectedCamera","MultiPartyCameraTypes","BACK"],"mappings":"AAAA;;AACAA,MAAM,CAACC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAA7C;AACAD,OAAO,CAACE,kBAAR,GAA6BF,OAAO,CAACG,gBAAR,GAA2B,KAAK,CAA7D;;AACA,IAAIC,gBAAgB,GAAGC,OAAO,CAAC,mBAAD,CAA9B;;AACA,SAASF,gBAAT,CAA0BG,IAA1B,EAAgC;AAC5B,SAAOC,IAAI,CAACC,KAAL,CAAWF,IAAX,EAAiBG,UAAjB,IAA+BL,gBAAgB,CAACM,iBAAjB,CAAmCC,IAAzE;AACH;;AACDX,OAAO,CAACG,gBAAR,GAA2BA,gBAA3B;;AACA,SAASD,kBAAT,CAA4BU,QAA5B,EAAsCC,cAAtC,EAAsD;AAClD,SAAO,CAACD,QAAD,IAAaC,cAAc,KAAKT,gBAAgB,CAACU,qBAAjB,CAAuCC,IAA9E;AACH;;AACDf,OAAO,CAACE,kBAAR,GAA6BA,kBAA7B","file":"utils.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldMirrorCamera = exports.decodeClientRole = void 0;\nvar MediaConstants_1 = require(\"../MediaConstants\");\nfunction decodeClientRole(data) {\n return JSON.parse(data).clientRole || MediaConstants_1.SessionClientRole.USER;\n}\nexports.decodeClientRole = decodeClientRole;\nfunction shouldMirrorCamera(isMobile, selectedCamera) {\n return !isMobile || selectedCamera !== MediaConstants_1.MultiPartyCameraTypes.BACK;\n}\nexports.shouldMirrorCamera = shouldMirrorCamera;\n\n//# sourceMappingURL=utils.js.map\n"]}
@@ -15,7 +15,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
15
15
 
16
16
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17
17
 
18
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
19
 
20
20
  var RawQos = /*#__PURE__*/function () {
21
21
  function RawQos() {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
3
+ function _typeof2(obj) { "@babel/helpers - typeof"; return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof2(obj); }
4
4
 
5
5
  (function (f) {
6
6
  if ((typeof exports === "undefined" ? "undefined" : _typeof2(exports)) === "object" && typeof module !== "undefined") {