@techsee/techsee-media-service 999.17.22-alphasa01 → 999.17.44-alphasa01

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 (193) hide show
  1. package/dist/Live2/src/LocalStreamManager.d.ts +40 -0
  2. package/dist/Live2/src/LocalStreamManager.d.ts.map +1 -0
  3. package/dist/Live2/src/LocalStreamManager.js +349 -0
  4. package/dist/Live2/src/LocalStreamManager.js.map +1 -0
  5. package/dist/Live2/src/MediaConstants.d.ts +83 -0
  6. package/dist/Live2/src/MediaConstants.d.ts.map +1 -0
  7. package/dist/Live2/src/MediaConstants.js +104 -0
  8. package/dist/Live2/src/MediaConstants.js.map +1 -0
  9. package/dist/Live2/src/MediaContracts.d.ts +139 -0
  10. package/dist/Live2/src/MediaContracts.d.ts.map +1 -0
  11. package/dist/Live2/src/MediaContracts.js +2 -0
  12. package/dist/Live2/src/MediaContracts.js.map +1 -0
  13. package/dist/Live2/src/MediaPublisher.d.ts +15 -0
  14. package/dist/Live2/src/MediaPublisher.d.ts.map +1 -0
  15. package/dist/Live2/src/MediaPublisher.js +27 -0
  16. package/dist/Live2/src/MediaPublisher.js.map +1 -0
  17. package/dist/Live2/src/MediaServiceBase.d.ts +83 -0
  18. package/dist/Live2/src/MediaServiceBase.d.ts.map +1 -0
  19. package/dist/Live2/src/MediaServiceBase.js +719 -0
  20. package/dist/Live2/src/MediaServiceBase.js.map +1 -0
  21. package/dist/Live2/src/MediaSession/MediaServer.d.ts +46 -0
  22. package/dist/Live2/src/MediaSession/MediaServer.d.ts.map +1 -0
  23. package/dist/Live2/src/MediaSession/MediaServer.js +368 -0
  24. package/dist/Live2/src/MediaSession/MediaServer.js.map +1 -0
  25. package/dist/Live2/src/MediaSession/MediaSessionBase.d.ts +35 -0
  26. package/dist/Live2/src/MediaSession/MediaSessionBase.d.ts.map +1 -0
  27. package/dist/Live2/src/MediaSession/MediaSessionBase.js +97 -0
  28. package/dist/Live2/src/MediaSession/MediaSessionBase.js.map +1 -0
  29. package/dist/Live2/src/MediaSession/SessionOpentok.d.ts +52 -0
  30. package/dist/Live2/src/MediaSession/SessionOpentok.d.ts.map +1 -0
  31. package/dist/Live2/src/MediaSession/SessionOpentok.js +365 -0
  32. package/dist/Live2/src/MediaSession/SessionOpentok.js.map +1 -0
  33. package/dist/Live2/src/MediaSession/SessionTurn.d.ts +38 -0
  34. package/dist/Live2/src/MediaSession/SessionTurn.d.ts.map +1 -0
  35. package/dist/Live2/src/MediaSession/SessionTurn.js +424 -0
  36. package/dist/Live2/src/MediaSession/SessionTurn.js.map +1 -0
  37. package/dist/Live2/src/MediaSession/TurnConstants.d.ts +19 -0
  38. package/dist/Live2/src/MediaSession/TurnConstants.d.ts.map +1 -0
  39. package/dist/Live2/src/MediaSession/TurnConstants.js +31 -0
  40. package/dist/Live2/src/MediaSession/TurnConstants.js.map +1 -0
  41. package/dist/Live2/src/MediaSubscriber.d.ts +37 -0
  42. package/dist/Live2/src/MediaSubscriber.d.ts.map +1 -0
  43. package/dist/Live2/src/MediaSubscriber.js +160 -0
  44. package/dist/Live2/src/MediaSubscriber.js.map +1 -0
  45. package/dist/Live2/src/MediaUtils/Compatibility.d.ts +17 -0
  46. package/dist/Live2/src/MediaUtils/Compatibility.d.ts.map +1 -0
  47. package/dist/Live2/src/MediaUtils/Compatibility.js +125 -0
  48. package/dist/Live2/src/MediaUtils/Compatibility.js.map +1 -0
  49. package/dist/Live2/src/MediaUtils/MediaDomUtils.d.ts +7 -0
  50. package/dist/Live2/src/MediaUtils/MediaDomUtils.d.ts.map +1 -0
  51. package/dist/Live2/src/MediaUtils/MediaDomUtils.js +204 -0
  52. package/dist/Live2/src/MediaUtils/MediaDomUtils.js.map +1 -0
  53. package/dist/Live2/src/MediaUtils/MediaTracer.d.ts +4 -0
  54. package/dist/Live2/src/MediaUtils/MediaTracer.d.ts.map +1 -0
  55. package/dist/Live2/src/MediaUtils/MediaTracer.js +6 -0
  56. package/dist/Live2/src/MediaUtils/MediaTracer.js.map +1 -0
  57. package/dist/Live2/src/MediaUtils/index.d.ts +2 -0
  58. package/dist/Live2/src/MediaUtils/index.d.ts.map +1 -0
  59. package/dist/Live2/src/MediaUtils/index.js +2 -0
  60. package/dist/Live2/src/MediaUtils/index.js.map +1 -0
  61. package/dist/Live2/src/MultiParty/DetectWebRtcService.d.ts +19 -0
  62. package/dist/Live2/src/MultiParty/DetectWebRtcService.d.ts.map +1 -0
  63. package/dist/Live2/src/MultiParty/DetectWebRtcService.js +50 -0
  64. package/dist/Live2/src/MultiParty/DetectWebRtcService.js.map +1 -0
  65. package/dist/Live2/src/MultiParty/MediaCapabilitiesService.d.ts +18 -0
  66. package/dist/Live2/src/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
  67. package/dist/Live2/src/MultiParty/MediaCapabilitiesService.js +65 -0
  68. package/dist/Live2/src/MultiParty/MediaCapabilitiesService.js.map +1 -0
  69. package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.d.ts +6 -0
  70. package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
  71. package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.js +45 -0
  72. package/dist/Live2/src/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
  73. package/dist/Live2/src/MultiParty/MediaTracer.d.ts +4 -0
  74. package/dist/Live2/src/MultiParty/MediaTracer.d.ts.map +1 -0
  75. package/dist/Live2/src/MultiParty/MediaTracer.js +6 -0
  76. package/dist/Live2/src/MultiParty/MediaTracer.js.map +1 -0
  77. package/dist/Live2/src/MultiParty/MultiPartyService.d.ts +49 -0
  78. package/dist/Live2/src/MultiParty/MultiPartyService.d.ts.map +1 -0
  79. package/dist/Live2/src/MultiParty/MultiPartyService.js +7 -0
  80. package/dist/Live2/src/MultiParty/MultiPartyService.js.map +1 -0
  81. package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.d.ts +4 -0
  82. package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
  83. package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.js +9 -0
  84. package/dist/Live2/src/MultiParty/MultiPartyServiceFactory.js.map +1 -0
  85. package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.d.ts +89 -0
  86. package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -0
  87. package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.js +13 -0
  88. package/dist/Live2/src/MultiParty/MultipartyServiceEventTypes.js.map +1 -0
  89. package/dist/Live2/src/MultiParty/index.d.ts +7 -0
  90. package/dist/Live2/src/MultiParty/index.d.ts.map +1 -0
  91. package/dist/Live2/src/MultiParty/index.js +7 -0
  92. package/dist/Live2/src/MultiParty/index.js.map +1 -0
  93. package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.d.ts +38 -0
  94. package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
  95. package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.js +339 -0
  96. package/dist/Live2/src/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
  97. package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.d.ts +34 -0
  98. package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
  99. package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.js +58 -0
  100. package/dist/Live2/src/MultiParty/opentok/OpentokPublisher.js.map +1 -0
  101. package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +20 -0
  102. package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
  103. package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.js +42 -0
  104. package/dist/Live2/src/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -0
  105. package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.d.ts +6 -0
  106. package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
  107. package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.js +18 -0
  108. package/dist/Live2/src/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
  109. package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.d.ts +2 -0
  110. package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
  111. package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.js +22 -0
  112. package/dist/Live2/src/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
  113. package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.d.ts +19 -0
  114. package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
  115. package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.js +113 -0
  116. package/dist/Live2/src/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
  117. package/dist/Live2/src/MultiParty/opentok/trace.d.ts +3 -0
  118. package/dist/Live2/src/MultiParty/opentok/trace.d.ts.map +1 -0
  119. package/dist/Live2/src/MultiParty/opentok/trace.js +9 -0
  120. package/dist/Live2/src/MultiParty/opentok/trace.js.map +1 -0
  121. package/dist/Live2/src/MultiParty/types.d.ts +32 -0
  122. package/dist/Live2/src/MultiParty/types.d.ts.map +1 -0
  123. package/dist/Live2/src/MultiParty/types.js +2 -0
  124. package/dist/Live2/src/MultiParty/types.js.map +1 -0
  125. package/dist/Live2/src/MultiParty/utils.d.ts +10 -0
  126. package/dist/Live2/src/MultiParty/utils.d.ts.map +1 -0
  127. package/dist/Live2/src/MultiParty/utils.js +11 -0
  128. package/dist/Live2/src/MultiParty/utils.js.map +1 -0
  129. package/dist/Live2/src/TechseeMediaStream.d.ts +15 -0
  130. package/dist/Live2/src/TechseeMediaStream.d.ts.map +1 -0
  131. package/dist/Live2/src/TechseeMediaStream.js +31 -0
  132. package/dist/Live2/src/TechseeMediaStream.js.map +1 -0
  133. package/dist/Live3/DetectWebRtcService.d.ts +19 -0
  134. package/dist/Live3/DetectWebRtcService.d.ts.map +1 -0
  135. package/dist/Live3/DetectWebRtcService.js +49 -0
  136. package/dist/Live3/DetectWebRtcService.js.map +1 -0
  137. package/dist/Live3/MediaCapabilitiesService.d.ts +18 -0
  138. package/dist/Live3/MediaCapabilitiesService.d.ts.map +1 -0
  139. package/dist/Live3/MediaCapabilitiesService.js +67 -0
  140. package/dist/Live3/MediaCapabilitiesService.js.map +1 -0
  141. package/dist/Live3/MediaCapabilitiesUtils.d.ts +6 -0
  142. package/dist/Live3/MediaCapabilitiesUtils.d.ts.map +1 -0
  143. package/dist/Live3/MediaCapabilitiesUtils.js +61 -0
  144. package/dist/Live3/MediaCapabilitiesUtils.js.map +1 -0
  145. package/dist/Live3/MediaTracer.d.ts +4 -0
  146. package/dist/Live3/MediaTracer.d.ts.map +1 -0
  147. package/dist/Live3/MediaTracer.js +6 -0
  148. package/dist/Live3/MediaTracer.js.map +1 -0
  149. package/dist/Live3/MultiPartyService.d.ts +47 -0
  150. package/dist/Live3/MultiPartyService.d.ts.map +1 -0
  151. package/dist/Live3/MultiPartyService.js +7 -0
  152. package/dist/Live3/MultiPartyService.js.map +1 -0
  153. package/dist/Live3/MultiPartyServiceFactory.d.ts +4 -0
  154. package/dist/Live3/MultiPartyServiceFactory.d.ts.map +1 -0
  155. package/dist/Live3/MultiPartyServiceFactory.js +9 -0
  156. package/dist/Live3/MultiPartyServiceFactory.js.map +1 -0
  157. package/dist/Live3/MultipartyServiceEventTypes.d.ts +101 -0
  158. package/dist/Live3/MultipartyServiceEventTypes.d.ts.map +1 -0
  159. package/dist/Live3/MultipartyServiceEventTypes.js +16 -0
  160. package/dist/Live3/MultipartyServiceEventTypes.js.map +1 -0
  161. package/dist/Live3/index.d.ts +7 -0
  162. package/dist/Live3/index.d.ts.map +1 -0
  163. package/dist/Live3/index.js +7 -0
  164. package/dist/Live3/index.js.map +1 -0
  165. package/dist/Live3/opentok/OpentokMultiPartyService.d.ts +43 -0
  166. package/dist/Live3/opentok/OpentokMultiPartyService.d.ts.map +1 -0
  167. package/dist/Live3/opentok/OpentokMultiPartyService.js +345 -0
  168. package/dist/Live3/opentok/OpentokMultiPartyService.js.map +1 -0
  169. package/dist/Live3/opentok/OpentokPublisher.d.ts +38 -0
  170. package/dist/Live3/opentok/OpentokPublisher.d.ts.map +1 -0
  171. package/dist/Live3/opentok/OpentokPublisher.js +143 -0
  172. package/dist/Live3/opentok/OpentokPublisher.js.map +1 -0
  173. package/dist/Live3/opentok/OpentokPublisherEventMapper.d.ts +19 -0
  174. package/dist/Live3/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
  175. package/dist/Live3/opentok/OpentokPublisherEventMapper.js +42 -0
  176. package/dist/Live3/opentok/OpentokPublisherEventMapper.js.map +1 -0
  177. package/dist/Live3/opentok/OpentokSubscriber.d.ts +5 -0
  178. package/dist/Live3/opentok/OpentokSubscriber.d.ts.map +1 -0
  179. package/dist/Live3/opentok/OpentokSubscriber.js +27 -0
  180. package/dist/Live3/opentok/OpentokSubscriber.js.map +1 -0
  181. package/dist/Live3/opentok/trace.d.ts +3 -0
  182. package/dist/Live3/opentok/trace.d.ts.map +1 -0
  183. package/dist/Live3/opentok/trace.js +15 -0
  184. package/dist/Live3/opentok/trace.js.map +1 -0
  185. package/dist/Live3/types.d.ts +54 -0
  186. package/dist/Live3/types.d.ts.map +1 -0
  187. package/dist/Live3/types.js +29 -0
  188. package/dist/Live3/types.js.map +1 -0
  189. package/dist/Live3/utils.d.ts +5 -0
  190. package/dist/Live3/utils.d.ts.map +1 -0
  191. package/dist/Live3/utils.js +11 -0
  192. package/dist/Live3/utils.js.map +1 -0
  193. package/package.json +4 -4
@@ -0,0 +1,40 @@
1
+ import { Nullable } from '@techsee/techsee-common';
2
+ import { IMediaEnvironment, LocalMediaConstraints, LocalVideoStreamConstraints, MediaRequestSuccessResult } from './MediaContracts';
3
+ declare global {
4
+ interface Window {
5
+ latestUserMediaStream: Nullable<MediaRequestSuccessResult>;
6
+ latestDesktopMediaStream: Nullable<MediaRequestSuccessResult>;
7
+ latestLocalMediaConstraints: Nullable<LocalMediaConstraints>;
8
+ mediaStreamAlreadyReplaced: boolean;
9
+ }
10
+ }
11
+ interface IGroupedDevices {
12
+ video: Nullable<{
13
+ back?: MediaDeviceInfo;
14
+ front?: MediaDeviceInfo;
15
+ }>;
16
+ audio: Nullable<MediaDeviceInfo>;
17
+ camerasCount: number;
18
+ }
19
+ export declare class LocalStreamManager {
20
+ private environment;
21
+ private _groupedDevices;
22
+ constructor(environment: IMediaEnvironment);
23
+ get groupedDevices(): IGroupedDevices;
24
+ getUserMediaStream(constraints: LocalMediaConstraints): Promise<MediaRequestSuccessResult>;
25
+ getDesktopMediaStream(constraints: LocalVideoStreamConstraints): Promise<MediaRequestSuccessResult>;
26
+ destroyUserMediaStream(): Promise<void>;
27
+ destroyDesktopMediaStream(): Promise<void>;
28
+ clearAllStreams(): Promise<void>;
29
+ private getHighestResolutionStream;
30
+ private getUserMediaStreamMediaDevice;
31
+ private getStreamPromiseByParsedConstraints;
32
+ setGroupedDevices(groupedDevices: {
33
+ video: MediaDeviceInfo[];
34
+ audio: MediaDeviceInfo[];
35
+ }): void;
36
+ private getParsedConstraints;
37
+ private parseMediaErrorThenThrow;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=LocalStreamManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalStreamManager.d.ts","sourceRoot":"","sources":["../../../src/Live2/src/LocalStreamManager.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAE3B,yBAAyB,EAE5B,MAAM,kBAAkB,CAAC;AAY1B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,qBAAqB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC3D,wBAAwB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC9D,2BAA2B,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC7D,0BAA0B,EAAE,OAAO,CAAC;KACvC;CACJ;AAeD,UAAU,eAAe;IACrB,KAAK,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,eAAe,CAAC;QAAC,KAAK,CAAC,EAAE,eAAe,CAAA;KAAC,CAAC,CAAC;IACnE,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,eAAe,CAAgE;gBAE3E,WAAW,EAAE,iBAAiB;IAO1C,IAAI,cAAc,oBAEjB;IAED,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4C1F,qBAAqB,CAAC,WAAW,EAAE,2BAA2B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4CnG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBvC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB1C,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,mCAAmC;IA0E3C,iBAAiB,CAAC,cAAc,EAAE;QAAC,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAA;KAAC;IAWtF,OAAO,CAAC,oBAAoB;IA6E5B,OAAO,CAAC,wBAAwB;CA+BnC"}
@@ -0,0 +1,349 @@
1
+ // eslint-disable-next-line eslint-comments/disable-enable-pair
2
+ /*eslint-disable operator-linebreak */
3
+ import assign from 'lodash/assign';
4
+ import get from 'lodash/get';
5
+ import last from 'lodash/last';
6
+ import first from 'lodash/first';
7
+ import cloneDeep from 'lodash/cloneDeep';
8
+ import { Promise } from 'bluebird';
9
+ import { CameraTypes, ConstraintType, DEFAULT_VIDEO_CONSTRAINT_TYPE, DEFAULT_VIDEO_RESOLUTION, LocalVideoSourceType, MediaRequestErrorCode } from './MediaConstants';
10
+ import { getMediaTracer } from './MediaUtils/MediaTracer';
11
+ window.latestUserMediaStream = null;
12
+ let userMediaPromise = null;
13
+ window.latestDesktopMediaStream = null;
14
+ let desktopMediaPromise = null;
15
+ window.mediaStreamAlreadyReplaced = false;
16
+ window.latestLocalMediaConstraints = null;
17
+ const trace = getMediaTracer('LocalStreamManager');
18
+ export class LocalStreamManager {
19
+ environment;
20
+ _groupedDevices = { video: null, audio: null, camerasCount: 0 };
21
+ constructor(environment) {
22
+ this.environment = environment;
23
+ this.parseMediaErrorThenThrow = this.parseMediaErrorThenThrow.bind(this);
24
+ this.clearAllStreams = this.clearAllStreams.bind(this);
25
+ }
26
+ get groupedDevices() {
27
+ return this._groupedDevices;
28
+ }
29
+ getUserMediaStream(constraints) {
30
+ trace.info('getUserMediaStream', constraints);
31
+ if (userMediaPromise) {
32
+ return userMediaPromise;
33
+ }
34
+ if (window.latestUserMediaStream) {
35
+ const videoTrack = window.latestUserMediaStream.mediaStream.getVideoTracks();
36
+ if (videoTrack.length > 0 && videoTrack[0].readyState === 'live') {
37
+ return Promise.resolve({ ...window.latestUserMediaStream, isNew: false });
38
+ }
39
+ this.destroyUserMediaStream();
40
+ }
41
+ userMediaPromise = new Promise((resolve, reject) => {
42
+ const catchHandler = (err) => {
43
+ userMediaPromise = null;
44
+ window.latestUserMediaStream = null;
45
+ trace.error('getUserMedia error', err);
46
+ reject(err);
47
+ };
48
+ try {
49
+ this.getHighestResolutionStream(false, constraints)
50
+ .then((streamResult) => {
51
+ userMediaPromise = null;
52
+ window.latestUserMediaStream = streamResult;
53
+ window.latestLocalMediaConstraints = cloneDeep(constraints);
54
+ window.latestLocalMediaConstraints.audio = (streamResult.constraint &&
55
+ streamResult.constraint.audio);
56
+ resolve({ ...window.latestUserMediaStream, isNew: true });
57
+ })
58
+ .catch(catchHandler);
59
+ }
60
+ catch (err) {
61
+ catchHandler(err);
62
+ }
63
+ });
64
+ return userMediaPromise;
65
+ }
66
+ getDesktopMediaStream(constraints) {
67
+ if (desktopMediaPromise) {
68
+ return desktopMediaPromise;
69
+ }
70
+ trace.info('getDesktopMediaStream', constraints);
71
+ if (window.latestDesktopMediaStream) {
72
+ const track = window.latestDesktopMediaStream.mediaStream.getVideoTracks();
73
+ if (track.length > 0 && track[0].readyState === 'live') {
74
+ //return Promise.resolve();
75
+ return Promise.resolve({ ...window.latestDesktopMediaStream, isNew: false });
76
+ }
77
+ this.destroyDesktopMediaStream().catch((error) => {
78
+ trace.error('Error destroying desktop media stream', error);
79
+ });
80
+ }
81
+ desktopMediaPromise = new Promise((resolve, reject) => {
82
+ const mediaCatchHandler = (err) => {
83
+ desktopMediaPromise = null;
84
+ window.latestDesktopMediaStream = null;
85
+ trace.error('getDisplayMedia error', err);
86
+ reject(err);
87
+ };
88
+ try {
89
+ this.getHighestResolutionStream(true, { video: constraints, audio: false })
90
+ .then((streamResult) => {
91
+ desktopMediaPromise = null;
92
+ window.latestDesktopMediaStream = streamResult;
93
+ resolve({ ...window.latestDesktopMediaStream, isNew: true });
94
+ })
95
+ .catch(mediaCatchHandler);
96
+ }
97
+ catch (err) {
98
+ mediaCatchHandler(err);
99
+ }
100
+ });
101
+ return desktopMediaPromise;
102
+ }
103
+ destroyUserMediaStream() {
104
+ const streamResult = window.latestUserMediaStream;
105
+ userMediaPromise = null;
106
+ window.latestUserMediaStream = null;
107
+ window.latestLocalMediaConstraints = null;
108
+ window.mediaStreamAlreadyReplaced = false;
109
+ if (streamResult && streamResult.mediaStream) {
110
+ try {
111
+ streamResult.mediaStream.getTracks().forEach((track) => {
112
+ track.stop();
113
+ });
114
+ trace.info('destroyUserMediaStream - stop all tracks');
115
+ }
116
+ catch (e) {
117
+ trace.info('destroyUserMediaStream - Failed to stop all tracks', e);
118
+ }
119
+ }
120
+ return Promise.resolve();
121
+ }
122
+ destroyDesktopMediaStream() {
123
+ const streamResult = window.latestDesktopMediaStream;
124
+ window.latestDesktopMediaStream = null;
125
+ desktopMediaPromise = null;
126
+ if (streamResult && streamResult.mediaStream) {
127
+ try {
128
+ streamResult.mediaStream.getTracks().forEach((track) => {
129
+ track.stop();
130
+ });
131
+ trace.info('destroyDesktopMediaStream - stop all tracks');
132
+ }
133
+ catch (e) {
134
+ trace.info('destroyDesktopMediaStream - Failed to stop all tracks', e);
135
+ }
136
+ }
137
+ return Promise.resolve();
138
+ }
139
+ clearAllStreams() {
140
+ trace.info('LocalStreamManager Clearing all streams');
141
+ return Promise.all([this.destroyDesktopMediaStream(), this.destroyUserMediaStream()]).then(() => undefined);
142
+ }
143
+ getHighestResolutionStream(isDesktopMedia, constraints) {
144
+ const constraintsCandidates = this.getParsedConstraints(isDesktopMedia, constraints);
145
+ trace.info('getHighestResolutionStream - constraintsCandidates:', constraintsCandidates);
146
+ if (constraintsCandidates.length === 0) {
147
+ return Promise.reject(new Error('No constraints to retrieve the stream'));
148
+ }
149
+ return new Promise((resolve, reject) => {
150
+ let lastSuccessfulResult = null;
151
+ let lastFailedResult = null;
152
+ let isStreamRequestFulfilled = false;
153
+ Promise
154
+ .reduce(constraintsCandidates, (total, candidate) => {
155
+ if (isStreamRequestFulfilled) {
156
+ return;
157
+ }
158
+ const constraintType = get(constraints, 'video.videoResolution.constraintType') ||
159
+ get(constraints, 'video.videoResolution[0].constraintType');
160
+ return this.getStreamPromiseByParsedConstraints(candidate, isDesktopMedia)
161
+ .then((stream) => {
162
+ lastSuccessfulResult = {
163
+ mediaStream: stream,
164
+ constraint: candidate,
165
+ constraintType,
166
+ isNew: true
167
+ };
168
+ trace.info('getHighestResolutionStream Success', lastSuccessfulResult);
169
+ isStreamRequestFulfilled = true;
170
+ resolve(lastSuccessfulResult);
171
+ })
172
+ .catch((failResult) => {
173
+ lastFailedResult = failResult;
174
+ if (lastFailedResult.errorCode === MediaRequestErrorCode.PermissionDenied) {
175
+ isStreamRequestFulfilled = true;
176
+ reject(lastFailedResult);
177
+ }
178
+ });
179
+ }, 0)
180
+ .then(() => {
181
+ if (!isStreamRequestFulfilled) {
182
+ if (!lastFailedResult) {
183
+ lastFailedResult = {
184
+ errorCode: MediaRequestErrorCode.GeneralError,
185
+ message: 'Suitable stream cannot be created'
186
+ };
187
+ }
188
+ reject(lastFailedResult);
189
+ }
190
+ });
191
+ });
192
+ }
193
+ getUserMediaStreamMediaDevice(constraints, isDesktopMedia) {
194
+ let streamPromise = null;
195
+ if (!isDesktopMedia) {
196
+ streamPromise = navigator.mediaDevices.getUserMedia(constraints);
197
+ }
198
+ else {
199
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
200
+ //@ts-ignore
201
+ streamPromise = navigator.mediaDevices.getDisplayMedia
202
+ ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment
203
+ //@ts-ignore
204
+ navigator.mediaDevices.getDisplayMedia(constraints)
205
+ : // eslint-disable-next-line @typescript-eslint/ban-ts-comment
206
+ //@ts-ignore
207
+ navigator.getDisplayMedia(constraints);
208
+ }
209
+ return streamPromise;
210
+ }
211
+ getStreamPromiseByParsedConstraints(constraints, isDesktopMedia) {
212
+ trace.info('getStreamPromiseByParsedConstraints', constraints);
213
+ try {
214
+ return this.getUserMediaStreamMediaDevice(constraints, isDesktopMedia).catch((err) => {
215
+ let streamPromise = null;
216
+ trace.info('getStreamPromiseByParsedConstraints - get user stream error', err.name);
217
+ // Android (Galaxy esp.) have a bug that when using facingMode it might cause NotReadableError. So
218
+ // we should try again but without facingMode. The exception to the rule is when we don't have specific
219
+ // device to use (like in IOS13 bug, as can be seen in MediaServiceBase.ts), in that case, we might end
220
+ // up using the front camera, which is a privacy concern and the preference is to fallback from video
221
+ if (err &&
222
+ err.name === 'NotReadableError' &&
223
+ get(constraints, 'video.facingMode') &&
224
+ get(constraints, 'video.deviceId')) {
225
+ const newConstraints = constraints;
226
+ trace.info(`getStreamPromiseByParsedConstraints - NotReadableError - Failed to get video user media stream with facingMode=${get(constraints, 'video.facingMode')}`, err.name);
227
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
228
+ // @ts-ignore
229
+ delete newConstraints.video.facingMode;
230
+ newConstraints.video.deviceId = {
231
+ exact: constraints.video.deviceId
232
+ };
233
+ streamPromise = this.getStreamPromiseByParsedConstraints(newConstraints, isDesktopMedia);
234
+ }
235
+ else if (err && err.name && constraints.audio && !constraints.video) {
236
+ trace.info('getStreamPromiseByParsedConstraints - audioStreamFailed - Failed to get audio user media stream', err.name);
237
+ return this.parseMediaErrorThenThrow({ name: 'audioStreamFailed' });
238
+ }
239
+ else if (err && err.name && constraints.audio) {
240
+ const newConstraints = constraints;
241
+ trace.info('getStreamPromiseByParsedConstraints - Failed to get video and audio user media stream, try to get video media stream only', err.name);
242
+ newConstraints.audio = false;
243
+ streamPromise = this.getStreamPromiseByParsedConstraints(newConstraints, isDesktopMedia);
244
+ }
245
+ else if (err && !streamPromise) {
246
+ trace.info('getStreamPromiseByParsedConstraints - Failed to get video user media stream', err && err.name);
247
+ streamPromise = Promise.reject(err);
248
+ }
249
+ return streamPromise && streamPromise.catch(this.parseMediaErrorThenThrow);
250
+ });
251
+ }
252
+ catch (e) {
253
+ // @ts-ignore
254
+ return this.parseMediaErrorThenThrow(e);
255
+ }
256
+ }
257
+ setGroupedDevices(groupedDevices) {
258
+ trace.info('setGroupedDevices', groupedDevices);
259
+ this._groupedDevices = {
260
+ video: groupedDevices.video
261
+ ? { [CameraTypes.BACK]: last(groupedDevices.video), [CameraTypes.FRONT]: first(groupedDevices.video) }
262
+ : null,
263
+ audio: last(groupedDevices.audio) || null,
264
+ camerasCount: groupedDevices.video.length
265
+ };
266
+ }
267
+ getParsedConstraints(isDesktopMedia, streamConstraints) {
268
+ const constraintCandidates = [];
269
+ //TODO - Alex: need to understand which constraints not compatible with screen share
270
+ if (isDesktopMedia) {
271
+ return [{ video: true }];
272
+ }
273
+ if (!streamConstraints) {
274
+ return constraintCandidates;
275
+ }
276
+ const baseConstraints = {};
277
+ baseConstraints.audio = typeof streamConstraints.audio === 'boolean' ? streamConstraints.audio : undefined;
278
+ if (!streamConstraints.video) {
279
+ return [baseConstraints];
280
+ }
281
+ const cameraType = streamConstraints.video !== 'boolean' &&
282
+ streamConstraints.video.videoSourceType;
283
+ baseConstraints.video = {
284
+ facingMode: cameraType && cameraType === LocalVideoSourceType.CAMERA_FRONT ? 'user' : 'environment',
285
+ frameRate: { ideal: 15, max: 30 }
286
+ };
287
+ const deviceId = get(this._groupedDevices, `video.${cameraType === LocalVideoSourceType.CAMERA_FRONT ? CameraTypes.FRONT : CameraTypes.BACK}.deviceId`);
288
+ if (deviceId) {
289
+ baseConstraints.video.deviceId = deviceId;
290
+ if (this._groupedDevices.camerasCount > 1) {
291
+ baseConstraints.video.facingMode = {
292
+ exact: baseConstraints.video.facingMode
293
+ };
294
+ }
295
+ }
296
+ const assignConstraint = (videoResolution) => {
297
+ const [width, height] = videoResolution.resolution.split('x');
298
+ const constraintCandidate = assign({}, baseConstraints);
299
+ constraintCandidate.video = assign({}, baseConstraints.video, {
300
+ width: _constraintByType(width, videoResolution.constraintType),
301
+ height: _constraintByType(height, videoResolution.constraintType)
302
+ });
303
+ constraintCandidates.push(constraintCandidate);
304
+ };
305
+ if ((baseConstraints.video && typeof streamConstraints.video === 'boolean') ||
306
+ !(streamConstraints.video.videoResolution instanceof Array)) {
307
+ const defaultResolution = {
308
+ resolution: DEFAULT_VIDEO_RESOLUTION,
309
+ constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE
310
+ };
311
+ assignConstraint(defaultResolution);
312
+ return constraintCandidates;
313
+ }
314
+ streamConstraints.video.videoResolution.forEach(assignConstraint);
315
+ return constraintCandidates;
316
+ }
317
+ parseMediaErrorThenThrow(error) {
318
+ if (error && error.errorCode) {
319
+ throw error;
320
+ }
321
+ trace.error('Get media stream error.', error);
322
+ const errorName = error && error.name ? error.name : '';
323
+ const permissionErrorNames = ['NotAllowedError', 'PermissionDismissedError', 'PermissionDeniedError'];
324
+ // const generalError = [
325
+ // 'NotFoundError',
326
+ // 'DevicesNotFoundError',
327
+ // 'NotReadableError',
328
+ // 'TrackStartError'
329
+ // ];
330
+ const constraintsErrors = ['OverconstrainedError', 'ConstraintNotSatisfiedError'];
331
+ const isErrorOfType = (errorsArr) => errorsArr.filter((err) => err === errorName).length > 0;
332
+ if (isErrorOfType(permissionErrorNames)) {
333
+ throw { errorCode: MediaRequestErrorCode.PermissionDenied, message: errorName };
334
+ }
335
+ if (isErrorOfType(constraintsErrors)) {
336
+ throw { errorCode: MediaRequestErrorCode.Overconstrained, message: errorName };
337
+ }
338
+ throw { errorCode: MediaRequestErrorCode.GeneralError, message: errorName };
339
+ }
340
+ }
341
+ function _constraintByType(value, type) {
342
+ switch (type) {
343
+ case ConstraintType.MIN:
344
+ return { min: value };
345
+ default:
346
+ return { ideal: value };
347
+ }
348
+ }
349
+ //# sourceMappingURL=LocalStreamManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalStreamManager.js","sourceRoot":"","sources":["../../../src/Live2/src/LocalStreamManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { VideoStreamResolution } from './MediaContracts';
2
+ import { CameraTypes } from '@techsee/techsee-common/lib/constants/media.constants';
3
+ export declare enum LocalVideoSourceType {
4
+ CAMERA = "CAMERA",
5
+ CAMERA_FRONT = "CAMERA_FRONT",
6
+ DESKTOP_SHARE = "DESKTOP_SHARE"
7
+ }
8
+ export declare enum ConstraintType {
9
+ MIN = "min",
10
+ IDEAL = "ideal"
11
+ }
12
+ export declare enum VideoTypesEnum {
13
+ CAMERA = "camera",
14
+ SCREEN = "screen",
15
+ NOTHING = ""
16
+ }
17
+ export declare enum MultiPartyCameraTypes {
18
+ FRONT = "front",
19
+ BACK = "back"
20
+ }
21
+ export declare enum MediaServiceType {
22
+ OPENTOK = "OPENTOK",
23
+ TURNSERVER = "TURN_SERVER",
24
+ MEDIASERVER = "MEDIA_SERVER"
25
+ }
26
+ export declare enum SessionClientRole {
27
+ AGENT = "AGENT",
28
+ OBSERVER = "OBSERVER",
29
+ USER = "USER"
30
+ }
31
+ export declare enum SessionClientType {
32
+ INITIATOR = "publisher",
33
+ GUEST = "subscriber"
34
+ }
35
+ export declare enum MediaRequestErrorCode {
36
+ Overconstrained = "Overconstrained",
37
+ PermissionDenied = "PermissionDenied",
38
+ GeneralError = "GeneralError"
39
+ }
40
+ export declare enum KnownMediaStreamKind {
41
+ Audio = "audio",
42
+ Video = "video"
43
+ }
44
+ export declare enum KnownMediaStream {
45
+ AGENT_AUDIO_STREAM = "DASHBOARD_AUDIO_STREAM",
46
+ OBSERVER_AUDIO_STREAM = "OBSERVER_AUDIO_STREAM",
47
+ USER_AUDIO_STREAM = "MOBILE_CLIENT_AUDIO_STREAM",
48
+ USER_VIDEO_STREAM = "MOBILE_CLIENT_VIDEO_STREAM",
49
+ USER_SCREEN_SHARE_STREAM = "USER_SCREEN_SHARE_STREAM"
50
+ }
51
+ export declare enum MediaSessionDisconnectReason {
52
+ PeerDisconnected = "PeerDisconnected",
53
+ PeerConnectionInterrupted = "PeerConnectionInterrupted",
54
+ PeerConnectionStateChangeTimeout = "PeerConnectionStateChangeTimeout",
55
+ InitiatorPeerReconnected = "InitiatorPeerReconnected",
56
+ PublishedStreamDestroyed = "PublishedStreamDestroyed",
57
+ ForcedByConsumer = "ForcedByConsumer",
58
+ SignalingChannelDisconnect = "SignalingChannelDisconnect"
59
+ }
60
+ export declare enum MediaStreamUnregisterReason {
61
+ NativeEvent = "NativeEvent",
62
+ ReplacingStream = "ReplacingStream",
63
+ ClosedRemotely = "ClosedRemotely",
64
+ ServiceCleanUp = "ServiceCleanUp"
65
+ }
66
+ export declare enum VideoResolutionMultiplication {
67
+ HD = 829440,
68
+ SD = 230400
69
+ }
70
+ export declare enum VideoResolutionFormat {
71
+ HD = "HD",
72
+ SD = "SD",
73
+ NONE = "none"
74
+ }
75
+ export declare const DEFAULT_VIDEO_RESOLUTION = "640x480";
76
+ export declare const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;
77
+ export declare const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;
78
+ export declare const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;
79
+ export declare const DEFAULT_VIDEO_CONSTRAINTS: VideoStreamResolution;
80
+ export declare const POSSIBLE_LOOPBACK_RESOLUTIONS: VideoStreamResolution[];
81
+ export declare const HD_RESOLUTION = "1280x720";
82
+ export { CameraTypes };
83
+ //# sourceMappingURL=MediaConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaConstants.d.ts","sourceRoot":"","sources":["../../../src/Live2/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"}
@@ -0,0 +1,104 @@
1
+ import { CameraTypes } from '@techsee/techsee-common/lib/constants/media.constants';
2
+ export var LocalVideoSourceType;
3
+ (function (LocalVideoSourceType) {
4
+ LocalVideoSourceType["CAMERA"] = "CAMERA";
5
+ LocalVideoSourceType["CAMERA_FRONT"] = "CAMERA_FRONT";
6
+ LocalVideoSourceType["DESKTOP_SHARE"] = "DESKTOP_SHARE";
7
+ })(LocalVideoSourceType || (LocalVideoSourceType = {}));
8
+ export var ConstraintType;
9
+ (function (ConstraintType) {
10
+ ConstraintType["MIN"] = "min";
11
+ ConstraintType["IDEAL"] = "ideal";
12
+ })(ConstraintType || (ConstraintType = {}));
13
+ export var VideoTypesEnum;
14
+ (function (VideoTypesEnum) {
15
+ VideoTypesEnum["CAMERA"] = "camera";
16
+ VideoTypesEnum["SCREEN"] = "screen";
17
+ VideoTypesEnum["NOTHING"] = "";
18
+ })(VideoTypesEnum || (VideoTypesEnum = {}));
19
+ export var MultiPartyCameraTypes;
20
+ (function (MultiPartyCameraTypes) {
21
+ MultiPartyCameraTypes["FRONT"] = "front";
22
+ MultiPartyCameraTypes["BACK"] = "back";
23
+ })(MultiPartyCameraTypes || (MultiPartyCameraTypes = {}));
24
+ export var MediaServiceType;
25
+ (function (MediaServiceType) {
26
+ MediaServiceType["OPENTOK"] = "OPENTOK";
27
+ MediaServiceType["TURNSERVER"] = "TURN_SERVER";
28
+ MediaServiceType["MEDIASERVER"] = "MEDIA_SERVER";
29
+ })(MediaServiceType || (MediaServiceType = {}));
30
+ export var SessionClientRole;
31
+ (function (SessionClientRole) {
32
+ SessionClientRole["AGENT"] = "AGENT";
33
+ SessionClientRole["OBSERVER"] = "OBSERVER";
34
+ SessionClientRole["USER"] = "USER";
35
+ })(SessionClientRole || (SessionClientRole = {}));
36
+ export var SessionClientType;
37
+ (function (SessionClientType) {
38
+ SessionClientType["INITIATOR"] = "publisher";
39
+ SessionClientType["GUEST"] = "subscriber";
40
+ })(SessionClientType || (SessionClientType = {}));
41
+ export var MediaRequestErrorCode;
42
+ (function (MediaRequestErrorCode) {
43
+ MediaRequestErrorCode["Overconstrained"] = "Overconstrained";
44
+ MediaRequestErrorCode["PermissionDenied"] = "PermissionDenied";
45
+ MediaRequestErrorCode["GeneralError"] = "GeneralError";
46
+ })(MediaRequestErrorCode || (MediaRequestErrorCode = {}));
47
+ export var KnownMediaStreamKind;
48
+ (function (KnownMediaStreamKind) {
49
+ KnownMediaStreamKind["Audio"] = "audio";
50
+ KnownMediaStreamKind["Video"] = "video";
51
+ })(KnownMediaStreamKind || (KnownMediaStreamKind = {}));
52
+ export var KnownMediaStream;
53
+ (function (KnownMediaStream) {
54
+ KnownMediaStream["AGENT_AUDIO_STREAM"] = "DASHBOARD_AUDIO_STREAM";
55
+ KnownMediaStream["OBSERVER_AUDIO_STREAM"] = "OBSERVER_AUDIO_STREAM";
56
+ KnownMediaStream["USER_AUDIO_STREAM"] = "MOBILE_CLIENT_AUDIO_STREAM";
57
+ KnownMediaStream["USER_VIDEO_STREAM"] = "MOBILE_CLIENT_VIDEO_STREAM";
58
+ KnownMediaStream["USER_SCREEN_SHARE_STREAM"] = "USER_SCREEN_SHARE_STREAM";
59
+ })(KnownMediaStream || (KnownMediaStream = {}));
60
+ export var MediaSessionDisconnectReason;
61
+ (function (MediaSessionDisconnectReason) {
62
+ //Raised on initiator peer when guest peer was disconnected from signaling
63
+ MediaSessionDisconnectReason["PeerDisconnected"] = "PeerDisconnected";
64
+ MediaSessionDisconnectReason["PeerConnectionInterrupted"] = "PeerConnectionInterrupted";
65
+ MediaSessionDisconnectReason["PeerConnectionStateChangeTimeout"] = "PeerConnectionStateChangeTimeout";
66
+ MediaSessionDisconnectReason["InitiatorPeerReconnected"] = "InitiatorPeerReconnected";
67
+ MediaSessionDisconnectReason["PublishedStreamDestroyed"] = "PublishedStreamDestroyed";
68
+ MediaSessionDisconnectReason["ForcedByConsumer"] = "ForcedByConsumer";
69
+ MediaSessionDisconnectReason["SignalingChannelDisconnect"] = "SignalingChannelDisconnect";
70
+ })(MediaSessionDisconnectReason || (MediaSessionDisconnectReason = {}));
71
+ export var MediaStreamUnregisterReason;
72
+ (function (MediaStreamUnregisterReason) {
73
+ MediaStreamUnregisterReason["NativeEvent"] = "NativeEvent";
74
+ MediaStreamUnregisterReason["ReplacingStream"] = "ReplacingStream";
75
+ MediaStreamUnregisterReason["ClosedRemotely"] = "ClosedRemotely";
76
+ MediaStreamUnregisterReason["ServiceCleanUp"] = "ServiceCleanUp";
77
+ })(MediaStreamUnregisterReason || (MediaStreamUnregisterReason = {}));
78
+ export var VideoResolutionMultiplication;
79
+ (function (VideoResolutionMultiplication) {
80
+ VideoResolutionMultiplication[VideoResolutionMultiplication["HD"] = 829440] = "HD";
81
+ VideoResolutionMultiplication[VideoResolutionMultiplication["SD"] = 230400] = "SD"; //640*360*0.9
82
+ })(VideoResolutionMultiplication || (VideoResolutionMultiplication = {}));
83
+ export var VideoResolutionFormat;
84
+ (function (VideoResolutionFormat) {
85
+ VideoResolutionFormat["HD"] = "HD";
86
+ VideoResolutionFormat["SD"] = "SD";
87
+ VideoResolutionFormat["NONE"] = "none";
88
+ })(VideoResolutionFormat || (VideoResolutionFormat = {}));
89
+ export const DEFAULT_VIDEO_RESOLUTION = '640x480';
90
+ export const DEFAULT_VIDEO_CONSTRAINT_TYPE = ConstraintType.IDEAL;
91
+ export const DEFAULT_PEER_CONNECTIVITY_TIMEOUT_SECONDS = 10;
92
+ export const DEFAULT_VIDEO_WAIT_TIMEOUT_SECONDS = 30;
93
+ export const DEFAULT_VIDEO_CONSTRAINTS = {
94
+ resolution: DEFAULT_VIDEO_RESOLUTION,
95
+ constraintType: DEFAULT_VIDEO_CONSTRAINT_TYPE
96
+ };
97
+ export const POSSIBLE_LOOPBACK_RESOLUTIONS = [
98
+ { resolution: '1920x1080', constraintType: ConstraintType.MIN },
99
+ { resolution: '1280x720', constraintType: ConstraintType.MIN },
100
+ DEFAULT_VIDEO_CONSTRAINTS // fallback
101
+ ];
102
+ export const HD_RESOLUTION = '1280x720';
103
+ export { CameraTypes };
104
+ //# sourceMappingURL=MediaConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaConstants.js","sourceRoot":"","sources":["../../../src/Live2/src/MediaConstants.ts"],"names":[],"mappings":"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"}