@webex/internal-media-core 0.0.1-beta

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 (215) hide show
  1. package/README.md +80 -0
  2. package/dist/esm/index.js +12660 -0
  3. package/dist/transpiled/Logger/index.js +41 -0
  4. package/dist/transpiled/Logger/index.js.map +1 -0
  5. package/dist/transpiled/Media/Device/Device.js +21 -0
  6. package/dist/transpiled/Media/Device/Device.js.map +1 -0
  7. package/dist/transpiled/Media/Device/DeviceMocks.js +65 -0
  8. package/dist/transpiled/Media/Device/DeviceMocks.js.map +1 -0
  9. package/dist/transpiled/Media/Device/index.js +2 -0
  10. package/dist/transpiled/Media/Device/index.js.map +1 -0
  11. package/dist/transpiled/Media/Effects/BNR/Bnr.integration-test.js +47 -0
  12. package/dist/transpiled/Media/Effects/BNR/Bnr.integration-test.js.map +1 -0
  13. package/dist/transpiled/Media/Effects/BNR/Bnr.js +187 -0
  14. package/dist/transpiled/Media/Effects/BNR/Bnr.js.map +1 -0
  15. package/dist/transpiled/Media/Effects/BNR/Bnr.test.js +37 -0
  16. package/dist/transpiled/Media/Effects/BNR/Bnr.test.js.map +1 -0
  17. package/dist/transpiled/Media/Effects/BNR/BnrMock.js +92 -0
  18. package/dist/transpiled/Media/Effects/BNR/BnrMock.js.map +1 -0
  19. package/dist/transpiled/Media/Effects/BNR/index.js +2 -0
  20. package/dist/transpiled/Media/Effects/BNR/index.js.map +1 -0
  21. package/dist/transpiled/Media/Media.integration-test.js +40 -0
  22. package/dist/transpiled/Media/Media.integration-test.js.map +1 -0
  23. package/dist/transpiled/Media/Media.test.js +291 -0
  24. package/dist/transpiled/Media/Media.test.js.map +1 -0
  25. package/dist/transpiled/Media/Track/BufferSourceAudioTrack.js +4 -0
  26. package/dist/transpiled/Media/Track/BufferSourceAudioTrack.js.map +1 -0
  27. package/dist/transpiled/Media/Track/CameraVideoTrack.js +4 -0
  28. package/dist/transpiled/Media/Track/CameraVideoTrack.js.map +1 -0
  29. package/dist/transpiled/Media/Track/LocalAudioTrack.js +4 -0
  30. package/dist/transpiled/Media/Track/LocalAudioTrack.js.map +1 -0
  31. package/dist/transpiled/Media/Track/LocalTrack.js +4 -0
  32. package/dist/transpiled/Media/Track/LocalTrack.js.map +1 -0
  33. package/dist/transpiled/Media/Track/LocalVideoTrack.js +4 -0
  34. package/dist/transpiled/Media/Track/LocalVideoTrack.js.map +1 -0
  35. package/dist/transpiled/Media/Track/MicrophoneAudioTrack.js +4 -0
  36. package/dist/transpiled/Media/Track/MicrophoneAudioTrack.js.map +1 -0
  37. package/dist/transpiled/Media/Track/RemoteAudioTrack.js +4 -0
  38. package/dist/transpiled/Media/Track/RemoteAudioTrack.js.map +1 -0
  39. package/dist/transpiled/Media/Track/RemoteTrack.js +4 -0
  40. package/dist/transpiled/Media/Track/RemoteTrack.js.map +1 -0
  41. package/dist/transpiled/Media/Track/RemoteVideoTrack.js +4 -0
  42. package/dist/transpiled/Media/Track/RemoteVideoTrack.js.map +1 -0
  43. package/dist/transpiled/Media/Track/Track.integration-test.js +118 -0
  44. package/dist/transpiled/Media/Track/Track.integration-test.js.map +1 -0
  45. package/dist/transpiled/Media/Track/Track.js +120 -0
  46. package/dist/transpiled/Media/Track/Track.js.map +1 -0
  47. package/dist/transpiled/Media/Track/Track.test.js +26 -0
  48. package/dist/transpiled/Media/Track/Track.test.js.map +1 -0
  49. package/dist/transpiled/Media/Track/TrackMock.js +109 -0
  50. package/dist/transpiled/Media/Track/TrackMock.js.map +1 -0
  51. package/dist/transpiled/Media/Track/Utils.js +31 -0
  52. package/dist/transpiled/Media/Track/Utils.js.map +1 -0
  53. package/dist/transpiled/Media/Track/index.js +2 -0
  54. package/dist/transpiled/Media/Track/index.js.map +1 -0
  55. package/dist/transpiled/Media/index.js +401 -0
  56. package/dist/transpiled/Media/index.js.map +1 -0
  57. package/dist/transpiled/MediaConnection/EventEmitter.js +4 -0
  58. package/dist/transpiled/MediaConnection/EventEmitter.js.map +1 -0
  59. package/dist/transpiled/MediaConnection/MediaConnection.integration-test.js +218 -0
  60. package/dist/transpiled/MediaConnection/MediaConnection.integration-test.js.map +1 -0
  61. package/dist/transpiled/MediaConnection/MediaConnection.js +357 -0
  62. package/dist/transpiled/MediaConnection/MediaConnection.js.map +1 -0
  63. package/dist/transpiled/MediaConnection/MediaConnection.test.js +427 -0
  64. package/dist/transpiled/MediaConnection/MediaConnection.test.js.map +1 -0
  65. package/dist/transpiled/MediaConnection/RoapMediaConnection.integration-test.js +368 -0
  66. package/dist/transpiled/MediaConnection/RoapMediaConnection.integration-test.js.map +1 -0
  67. package/dist/transpiled/MediaConnection/RoapMediaConnection.js +148 -0
  68. package/dist/transpiled/MediaConnection/RoapMediaConnection.js.map +1 -0
  69. package/dist/transpiled/MediaConnection/RoapMediaConnection.test.js +320 -0
  70. package/dist/transpiled/MediaConnection/RoapMediaConnection.test.js.map +1 -0
  71. package/dist/transpiled/MediaConnection/config.js +2 -0
  72. package/dist/transpiled/MediaConnection/config.js.map +1 -0
  73. package/dist/transpiled/MediaConnection/eventTypes.js +36 -0
  74. package/dist/transpiled/MediaConnection/eventTypes.js.map +1 -0
  75. package/dist/transpiled/MediaConnection/index.js +4 -0
  76. package/dist/transpiled/MediaConnection/index.js.map +1 -0
  77. package/dist/transpiled/MediaConnection/logger.js +22 -0
  78. package/dist/transpiled/MediaConnection/logger.js.map +1 -0
  79. package/dist/transpiled/MediaConnection/roap.js +399 -0
  80. package/dist/transpiled/MediaConnection/roap.js.map +1 -0
  81. package/dist/transpiled/MediaConnection/roap.test.js +873 -0
  82. package/dist/transpiled/MediaConnection/roap.test.js.map +1 -0
  83. package/dist/transpiled/MediaConnection/roap.typegen.js +2 -0
  84. package/dist/transpiled/MediaConnection/roap.typegen.js.map +1 -0
  85. package/dist/transpiled/MediaConnection/testUtils/EventListener.js +102 -0
  86. package/dist/transpiled/MediaConnection/testUtils/EventListener.js.map +1 -0
  87. package/dist/transpiled/MediaConnection/testUtils/RoapListener.js +15 -0
  88. package/dist/transpiled/MediaConnection/testUtils/RoapListener.js.map +1 -0
  89. package/dist/transpiled/MediaConnection/testUtils/index.js +17 -0
  90. package/dist/transpiled/MediaConnection/testUtils/index.js.map +1 -0
  91. package/dist/transpiled/MediaConnection/testUtils/logger.js +31 -0
  92. package/dist/transpiled/MediaConnection/testUtils/logger.js.map +1 -0
  93. package/dist/transpiled/MediaConnection/testUtils.js +14 -0
  94. package/dist/transpiled/MediaConnection/testUtils.js.map +1 -0
  95. package/dist/transpiled/MediaConnection/utils.js +71 -0
  96. package/dist/transpiled/MediaConnection/utils.js.map +1 -0
  97. package/dist/transpiled/MediaConnection/utils.test-fixtures.js +287 -0
  98. package/dist/transpiled/MediaConnection/utils.test-fixtures.js.map +1 -0
  99. package/dist/transpiled/MediaConnection/utils.test.js +20 -0
  100. package/dist/transpiled/MediaConnection/utils.test.js.map +1 -0
  101. package/dist/transpiled/common/peerConnectionMock.js +52 -0
  102. package/dist/transpiled/common/peerConnectionMock.js.map +1 -0
  103. package/dist/transpiled/constants.js +9 -0
  104. package/dist/transpiled/constants.js.map +1 -0
  105. package/dist/transpiled/index.intergation-test.js +14 -0
  106. package/dist/transpiled/index.intergation-test.js.map +1 -0
  107. package/dist/transpiled/index.js +41 -0
  108. package/dist/transpiled/index.js.map +1 -0
  109. package/dist/types/Logger/index.d.ts +16 -0
  110. package/dist/types/Logger/index.d.ts.map +1 -0
  111. package/dist/types/Media/Device/Device.d.ts +20 -0
  112. package/dist/types/Media/Device/Device.d.ts.map +1 -0
  113. package/dist/types/Media/Device/DeviceMocks.d.ts +18 -0
  114. package/dist/types/Media/Device/DeviceMocks.d.ts.map +1 -0
  115. package/dist/types/Media/Device/index.d.ts +2 -0
  116. package/dist/types/Media/Device/index.d.ts.map +1 -0
  117. package/dist/types/Media/Effects/BNR/Bnr.d.ts +5 -0
  118. package/dist/types/Media/Effects/BNR/Bnr.d.ts.map +1 -0
  119. package/dist/types/Media/Effects/BNR/Bnr.integration-test.d.ts +2 -0
  120. package/dist/types/Media/Effects/BNR/Bnr.integration-test.d.ts.map +1 -0
  121. package/dist/types/Media/Effects/BNR/Bnr.test.d.ts +2 -0
  122. package/dist/types/Media/Effects/BNR/Bnr.test.d.ts.map +1 -0
  123. package/dist/types/Media/Effects/BNR/BnrMock.d.ts +3 -0
  124. package/dist/types/Media/Effects/BNR/BnrMock.d.ts.map +1 -0
  125. package/dist/types/Media/Effects/BNR/index.d.ts +2 -0
  126. package/dist/types/Media/Effects/BNR/index.d.ts.map +1 -0
  127. package/dist/types/Media/Media.integration-test.d.ts +2 -0
  128. package/dist/types/Media/Media.integration-test.d.ts.map +1 -0
  129. package/dist/types/Media/Media.test.d.ts +2 -0
  130. package/dist/types/Media/Media.test.d.ts.map +1 -0
  131. package/dist/types/Media/Track/BufferSourceAudioTrack.d.ts +4 -0
  132. package/dist/types/Media/Track/BufferSourceAudioTrack.d.ts.map +1 -0
  133. package/dist/types/Media/Track/CameraVideoTrack.d.ts +4 -0
  134. package/dist/types/Media/Track/CameraVideoTrack.d.ts.map +1 -0
  135. package/dist/types/Media/Track/LocalAudioTrack.d.ts +4 -0
  136. package/dist/types/Media/Track/LocalAudioTrack.d.ts.map +1 -0
  137. package/dist/types/Media/Track/LocalTrack.d.ts +4 -0
  138. package/dist/types/Media/Track/LocalTrack.d.ts.map +1 -0
  139. package/dist/types/Media/Track/LocalVideoTrack.d.ts +4 -0
  140. package/dist/types/Media/Track/LocalVideoTrack.d.ts.map +1 -0
  141. package/dist/types/Media/Track/MicrophoneAudioTrack.d.ts +4 -0
  142. package/dist/types/Media/Track/MicrophoneAudioTrack.d.ts.map +1 -0
  143. package/dist/types/Media/Track/RemoteAudioTrack.d.ts +4 -0
  144. package/dist/types/Media/Track/RemoteAudioTrack.d.ts.map +1 -0
  145. package/dist/types/Media/Track/RemoteTrack.d.ts +4 -0
  146. package/dist/types/Media/Track/RemoteTrack.d.ts.map +1 -0
  147. package/dist/types/Media/Track/RemoteVideoTrack.d.ts +4 -0
  148. package/dist/types/Media/Track/RemoteVideoTrack.d.ts.map +1 -0
  149. package/dist/types/Media/Track/Track.d.ts +34 -0
  150. package/dist/types/Media/Track/Track.d.ts.map +1 -0
  151. package/dist/types/Media/Track/Track.integration-test.d.ts +2 -0
  152. package/dist/types/Media/Track/Track.integration-test.d.ts.map +1 -0
  153. package/dist/types/Media/Track/Track.test.d.ts +2 -0
  154. package/dist/types/Media/Track/Track.test.d.ts.map +1 -0
  155. package/dist/types/Media/Track/TrackMock.d.ts +64 -0
  156. package/dist/types/Media/Track/TrackMock.d.ts.map +1 -0
  157. package/dist/types/Media/Track/Utils.d.ts +3 -0
  158. package/dist/types/Media/Track/Utils.d.ts.map +1 -0
  159. package/dist/types/Media/Track/index.d.ts +2 -0
  160. package/dist/types/Media/Track/index.d.ts.map +1 -0
  161. package/dist/types/Media/index.d.ts +16 -0
  162. package/dist/types/Media/index.d.ts.map +1 -0
  163. package/dist/types/MediaConnection/EventEmitter.d.ts +6 -0
  164. package/dist/types/MediaConnection/EventEmitter.d.ts.map +1 -0
  165. package/dist/types/MediaConnection/MediaConnection.d.ts +64 -0
  166. package/dist/types/MediaConnection/MediaConnection.d.ts.map +1 -0
  167. package/dist/types/MediaConnection/MediaConnection.integration-test.d.ts +2 -0
  168. package/dist/types/MediaConnection/MediaConnection.integration-test.d.ts.map +1 -0
  169. package/dist/types/MediaConnection/MediaConnection.test.d.ts +2 -0
  170. package/dist/types/MediaConnection/MediaConnection.test.d.ts.map +1 -0
  171. package/dist/types/MediaConnection/RoapMediaConnection.d.ts +43 -0
  172. package/dist/types/MediaConnection/RoapMediaConnection.d.ts.map +1 -0
  173. package/dist/types/MediaConnection/RoapMediaConnection.integration-test.d.ts +2 -0
  174. package/dist/types/MediaConnection/RoapMediaConnection.integration-test.d.ts.map +1 -0
  175. package/dist/types/MediaConnection/RoapMediaConnection.test.d.ts +2 -0
  176. package/dist/types/MediaConnection/RoapMediaConnection.test.d.ts.map +1 -0
  177. package/dist/types/MediaConnection/config.d.ts +10 -0
  178. package/dist/types/MediaConnection/config.d.ts.map +1 -0
  179. package/dist/types/MediaConnection/eventTypes.d.ts +65 -0
  180. package/dist/types/MediaConnection/eventTypes.d.ts.map +1 -0
  181. package/dist/types/MediaConnection/index.d.ts +5 -0
  182. package/dist/types/MediaConnection/index.d.ts.map +1 -0
  183. package/dist/types/MediaConnection/logger.d.ts +12 -0
  184. package/dist/types/MediaConnection/logger.d.ts.map +1 -0
  185. package/dist/types/MediaConnection/roap.d.ts +37 -0
  186. package/dist/types/MediaConnection/roap.d.ts.map +1 -0
  187. package/dist/types/MediaConnection/roap.test.d.ts +2 -0
  188. package/dist/types/MediaConnection/roap.test.d.ts.map +1 -0
  189. package/dist/types/MediaConnection/roap.typegen.d.ts +86 -0
  190. package/dist/types/MediaConnection/roap.typegen.d.ts.map +1 -0
  191. package/dist/types/MediaConnection/testUtils/EventListener.d.ts +22 -0
  192. package/dist/types/MediaConnection/testUtils/EventListener.d.ts.map +1 -0
  193. package/dist/types/MediaConnection/testUtils/RoapListener.d.ts +9 -0
  194. package/dist/types/MediaConnection/testUtils/RoapListener.d.ts.map +1 -0
  195. package/dist/types/MediaConnection/testUtils/index.d.ts +10 -0
  196. package/dist/types/MediaConnection/testUtils/index.d.ts.map +1 -0
  197. package/dist/types/MediaConnection/testUtils/logger.d.ts +3 -0
  198. package/dist/types/MediaConnection/testUtils/logger.d.ts.map +1 -0
  199. package/dist/types/MediaConnection/testUtils.d.ts +7 -0
  200. package/dist/types/MediaConnection/testUtils.d.ts.map +1 -0
  201. package/dist/types/MediaConnection/utils.d.ts +11 -0
  202. package/dist/types/MediaConnection/utils.d.ts.map +1 -0
  203. package/dist/types/MediaConnection/utils.test-fixtures.d.ts +6 -0
  204. package/dist/types/MediaConnection/utils.test-fixtures.d.ts.map +1 -0
  205. package/dist/types/MediaConnection/utils.test.d.ts +2 -0
  206. package/dist/types/MediaConnection/utils.test.d.ts.map +1 -0
  207. package/dist/types/common/peerConnectionMock.d.ts +5 -0
  208. package/dist/types/common/peerConnectionMock.d.ts.map +1 -0
  209. package/dist/types/constants.d.ts +9 -0
  210. package/dist/types/constants.d.ts.map +1 -0
  211. package/dist/types/index.d.ts +23 -0
  212. package/dist/types/index.d.ts.map +1 -0
  213. package/dist/types/index.intergation-test.d.ts +2 -0
  214. package/dist/types/index.intergation-test.d.ts.map +1 -0
  215. package/package.json +153 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../../src/Media/Track/Track.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Track } from './Track';
2
+ describe('Track', () => {
3
+ const mockMediaStreamTrack = {
4
+ id: '04b14bc2-2c0e-4c54-9e9d-1d52f7a34c5f',
5
+ kind: 'audio',
6
+ muted: true,
7
+ label: 'sample',
8
+ contentHint: 'sample',
9
+ enabled: true,
10
+ readyState: 'live',
11
+ stop: () => {
12
+ },
13
+ };
14
+ describe('stop()', () => {
15
+ let track;
16
+ beforeEach(() => {
17
+ track = new Track(mockMediaStreamTrack);
18
+ });
19
+ it('should update the track status to ended', () => {
20
+ expect(track.status).toEqual('live');
21
+ track.stop();
22
+ expect(track.status).toEqual('ended');
23
+ });
24
+ });
25
+ });
26
+ //# sourceMappingURL=Track.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Track.test.js","sourceRoot":"","sources":["../../../../src/Media/Track/Track.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,MAAM,oBAAoB,GAAG;QAC3B,EAAE,EAAE,sCAAsC;QAC1C,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,GAAS,EAAE;QAEjB,CAAC;KACF,CAAC;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,KAAY,CAAC;QAEjB,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,GAAG,IAAI,KAAK,CAAC,oBAAmD,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,109 @@
1
+ export const fakeAudioTracks = [
2
+ {
3
+ id: 'default',
4
+ kind: 'audio',
5
+ readyState: 'live',
6
+ muted: true,
7
+ label: 'Fake Default Audio Input',
8
+ groupId: 'a6b4fb6a105c92a16a6e2f3fb4efe289a783304764be026d4f973febf805c0c1',
9
+ onmute: (event) => event,
10
+ enabled: false,
11
+ },
12
+ {
13
+ id: '47dd6c612bb77e7992cb8f026b660c59648e8105baf4c569f96d226738add9a4',
14
+ kind: 'audio',
15
+ readyState: 'live',
16
+ muted: true,
17
+ label: 'Fake Audio Input 1',
18
+ groupId: '99782d7b13f331947c1a9865b27cf7eabffbfd48cfe21ab99867d101c6d7b4d0',
19
+ onmute: (event) => event,
20
+ enabled: false,
21
+ },
22
+ {
23
+ id: '3786a0243c13d1bc4f39b8091b468f43b14ace215ecd4e878268f095a9d3ba94',
24
+ kind: 'audio',
25
+ readyState: 'ended',
26
+ muted: true,
27
+ label: 'Fake Audio Input 2',
28
+ groupId: 'cb709a56a05b4683a1ef0e8f52144a2afcdc80137a87b8f398c00d1e07d46c48',
29
+ onmute: (event) => event,
30
+ enabled: false,
31
+ },
32
+ ];
33
+ export const fakeVideoTracks = [
34
+ {
35
+ id: 'default',
36
+ kind: 'video',
37
+ readyState: 'live',
38
+ muted: true,
39
+ label: 'Fake Default Video Input',
40
+ groupId: 'a6b4fb6a105c92a16a6e2f3fb4efe289a783304764be026d4f973febf805c0c1',
41
+ onmute: (event) => event,
42
+ enabled: false,
43
+ },
44
+ {
45
+ id: '47dd6c612bb77e7992cb8f026b660c59648e8105baf4c569f96d226738add9a4',
46
+ kind: 'video',
47
+ readyState: 'live',
48
+ muted: true,
49
+ label: 'Fake Video Input 1',
50
+ groupId: '99782d7b13f331947c1a9865b27cf7eabffbfd48cfe21ab99867d101c6d7b4d0',
51
+ onmute: (event) => event,
52
+ enabled: false,
53
+ },
54
+ {
55
+ id: '3786a0243c13d1bc4f39b8091b468f43b14ace215ecd4e878268f095a9d3ba94',
56
+ kind: 'video',
57
+ readyState: 'ended',
58
+ muted: true,
59
+ label: 'Fake Video Input 2',
60
+ groupId: 'cb709a56a05b4683a1ef0e8f52144a2afcdc80137a87b8f398c00d1e07d46c48',
61
+ onmute: (event) => event,
62
+ enabled: false,
63
+ },
64
+ ];
65
+ const originalGetUserMedia = navigator.mediaDevices ? navigator.mediaDevices.getUserMedia : null;
66
+ const originalGetDisplayMedia = navigator.mediaDevices
67
+ ? navigator.mediaDevices.getDisplayMedia
68
+ : null;
69
+ export const setupMediaTrackMocks = () => {
70
+ Object.defineProperty(navigator.mediaDevices, 'getUserMedia', {
71
+ writable: true,
72
+ value: async (constraints) => ({
73
+ getAudioTracks: () => constraints.audio?.deviceId?.exact
74
+ ?
75
+ fakeAudioTracks.filter((mediaStreamTrack) => mediaStreamTrack.id === constraints.audio?.deviceId.exact)
76
+ : fakeAudioTracks,
77
+ getVideoTracks: () => constraints.video?.deviceId?.exact
78
+ ?
79
+ fakeVideoTracks.filter((mediaStreamTrack) => mediaStreamTrack.id === constraints.video?.deviceId.exact)
80
+ : fakeVideoTracks,
81
+ }),
82
+ });
83
+ };
84
+ export const setupEmptyMediaTrackMocks = () => {
85
+ Object.defineProperty(navigator.mediaDevices, 'getDisplayMedia', {
86
+ writable: true,
87
+ value: async () => new Error('Could not obtain a content track'),
88
+ });
89
+ console.warn('Setting up Mocks on navigator.mediaDevices');
90
+ };
91
+ export const resetMediaTrackMocks = () => {
92
+ Object.defineProperty(navigator.mediaDevices, 'getUserMedia', {
93
+ writable: true,
94
+ value: originalGetUserMedia,
95
+ });
96
+ };
97
+ export const getFakeTrackBasedOnDevice = async (constraints) => {
98
+ return {
99
+ getAudioTracks: () => constraints.audio?.deviceId?.exact
100
+ ?
101
+ fakeAudioTracks.filter((mediaStreamTrack) => mediaStreamTrack.id === constraints.audio?.deviceId.exact)
102
+ : fakeAudioTracks,
103
+ getVideoTracks: () => constraints.video?.deviceId?.exact
104
+ ?
105
+ fakeVideoTracks.filter((mediaStreamTrack) => mediaStreamTrack.id === constraints.video?.deviceId.exact)
106
+ : fakeVideoTracks,
107
+ };
108
+ };
109
+ //# sourceMappingURL=TrackMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackMock.js","sourceRoot":"","sources":["../../../../src/Media/Track/TrackMock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { MEDIA_STREAM_TRACK } from '../../constants';
2
+ import logger from '../../Logger';
3
+ function getTrackSettings(track) {
4
+ logger.debug({
5
+ ID: track.id,
6
+ mediaType: MEDIA_STREAM_TRACK,
7
+ action: 'getTrackSettings()',
8
+ description: 'Called',
9
+ });
10
+ const settings = track.getSettings();
11
+ if (settings) {
12
+ logger.debug({
13
+ ID: track.id,
14
+ mediaType: MEDIA_STREAM_TRACK,
15
+ action: 'getTrackSettings()',
16
+ description: `Returning track settings ${JSON.stringify(settings)}`,
17
+ });
18
+ return settings;
19
+ }
20
+ const error = new Error('Unable to get track settings');
21
+ logger.info({
22
+ ID: track.id,
23
+ mediaType: MEDIA_STREAM_TRACK,
24
+ action: 'getTrackSettings()',
25
+ description: error.message,
26
+ error,
27
+ });
28
+ return {};
29
+ }
30
+ export { getTrackSettings };
31
+ //# sourceMappingURL=Utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../src/Media/Track/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,MAAM,MAAM,cAAc,CAAC;AAQlC,SAAS,gBAAgB,CAAC,KAAuB;IAC/C,MAAM,CAAC,KAAK,CAAC;QACX,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,oBAAoB;QAC5B,WAAW,EAAE,QAAQ;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC;YACX,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,oBAAoB;YAC5B,WAAW,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;SACpE,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAExD,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,oBAAoB;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,KAAK;KACN,CAAC,CAAC;IAGH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,OAAO,EAAC,gBAAgB,EAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Track';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Media/Track/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,401 @@
1
+ import EventEmitter from 'events';
2
+ import { DEVICE, MEDIA } from '../constants';
3
+ import logger from '../Logger';
4
+ import { Device, DeviceKinds } from './Device';
5
+ import { Track } from './Track';
6
+ const eventEmitter = new EventEmitter();
7
+ const deviceList = [];
8
+ const getDevices = async () => {
9
+ logger.debug({
10
+ mediaType: DEVICE,
11
+ action: 'getDevices()',
12
+ description: 'Called',
13
+ });
14
+ if (!navigator.mediaDevices?.enumerateDevices) {
15
+ console.warn('navigator.mediaDevices.enumerateDevices() is not supported.');
16
+ return [];
17
+ }
18
+ logger.info({
19
+ mediaType: DEVICE,
20
+ action: 'getDevices()',
21
+ description: 'Requesting list of available media input and output devices',
22
+ });
23
+ return navigator.mediaDevices.enumerateDevices();
24
+ };
25
+ const getCameras = async () => {
26
+ logger.debug({
27
+ mediaType: DEVICE,
28
+ action: 'getCameras()',
29
+ description: 'Called',
30
+ });
31
+ const devices = await getDevices();
32
+ logger.info({
33
+ mediaType: DEVICE,
34
+ action: 'getCameras()',
35
+ description: 'Filtering camera devices from all available media devices',
36
+ });
37
+ return devices
38
+ .filter(({ kind }) => kind === DeviceKinds.VIDEO_INPUT)
39
+ .map((device) => {
40
+ logger.debug({
41
+ ID: device.deviceId,
42
+ mediaType: DEVICE,
43
+ action: 'getCameras()',
44
+ description: `Received camera device ${JSON.stringify(device)}`,
45
+ });
46
+ return new Device(device);
47
+ });
48
+ };
49
+ const getMicrophones = async () => {
50
+ logger.debug({
51
+ mediaType: DEVICE,
52
+ action: 'getMicrophones()',
53
+ description: 'Called',
54
+ });
55
+ const devices = await getDevices();
56
+ logger.info({
57
+ mediaType: DEVICE,
58
+ action: 'getMicrophones()',
59
+ description: 'Filtering microphones devices from all available media devices',
60
+ });
61
+ return devices
62
+ .filter(({ kind }) => kind === DeviceKinds.AUDIO_INPUT)
63
+ .map((device) => {
64
+ logger.debug({
65
+ ID: device.deviceId,
66
+ mediaType: DEVICE,
67
+ action: 'getMicrophones()',
68
+ description: `Received microphone device ${JSON.stringify(device)}`,
69
+ });
70
+ return new Device(device);
71
+ });
72
+ };
73
+ const getSpeakers = async () => {
74
+ logger.debug({
75
+ mediaType: DEVICE,
76
+ action: 'getSpeakers()',
77
+ description: 'Called',
78
+ });
79
+ const devices = await getDevices();
80
+ logger.info({
81
+ mediaType: DEVICE,
82
+ action: 'getSpeakers()',
83
+ description: 'Filtering speaker devices from all available media devices',
84
+ });
85
+ return devices
86
+ .filter(({ kind }) => kind === DeviceKinds.AUDIO_OUTPUT)
87
+ .map((device) => {
88
+ logger.debug({
89
+ ID: device.deviceId,
90
+ mediaType: DEVICE,
91
+ action: 'getSpeakers()',
92
+ description: `Received speaker device ${JSON.stringify(device)}`,
93
+ });
94
+ return new Device(device);
95
+ });
96
+ };
97
+ function getUnsupportedConstraints(mediaConstraints) {
98
+ logger.debug({
99
+ mediaType: MEDIA,
100
+ action: 'getUnsupportedConstraints()',
101
+ description: `Called with ${JSON.stringify(mediaConstraints)}`,
102
+ });
103
+ logger.info({
104
+ mediaType: MEDIA,
105
+ action: 'getUnsupportedConstraints()',
106
+ description: 'Filtering list of media track unsupported constraints',
107
+ });
108
+ const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
109
+ const unsupportedConstraints = [];
110
+ Object.keys(mediaConstraints).forEach((constraint) => {
111
+ if (!(Object.prototype.hasOwnProperty.call(supportedConstraints, constraint) &&
112
+ supportedConstraints[constraint])) {
113
+ unsupportedConstraints.push(constraint);
114
+ }
115
+ });
116
+ logger.debug({
117
+ mediaType: MEDIA,
118
+ action: 'getUnsupportedConstraints()',
119
+ description: `Received unsupported constraints ${unsupportedConstraints}`,
120
+ });
121
+ return unsupportedConstraints;
122
+ }
123
+ async function createAudioTrack(device) {
124
+ logger.debug({
125
+ ID: device?.ID,
126
+ mediaType: DEVICE,
127
+ action: 'createAudioTrack()',
128
+ description: `Called ${device ? `with ${JSON.stringify(device)}` : ''} `,
129
+ });
130
+ if (device && device.kind !== DeviceKinds.AUDIO_INPUT) {
131
+ const error = new Error(`Device ${device.ID} is not of kind AUDIO_INPUT`);
132
+ logger.error({
133
+ ID: device.ID,
134
+ mediaType: 'DEVICE',
135
+ action: 'createAudioTrack()',
136
+ description: error.message,
137
+ error,
138
+ });
139
+ throw error;
140
+ }
141
+ logger.info({
142
+ ID: device?.ID,
143
+ mediaType: DEVICE,
144
+ action: 'createAudioTrack()',
145
+ description: 'Creating audio track',
146
+ });
147
+ const deviceConfig = device
148
+ ? {
149
+ audio: {
150
+ deviceId: {
151
+ exact: device.ID,
152
+ },
153
+ },
154
+ }
155
+ : {
156
+ audio: true,
157
+ video: false,
158
+ };
159
+ const stream = await navigator.mediaDevices.getUserMedia(deviceConfig);
160
+ const track = stream.getAudioTracks()[0];
161
+ if (track) {
162
+ logger.debug({
163
+ ID: device?.ID,
164
+ mediaType: DEVICE,
165
+ action: 'createAudioTrack()',
166
+ description: `Received audio track ${JSON.stringify(track)}`,
167
+ });
168
+ return new Track(track);
169
+ }
170
+ const error = new Error(`Device could not obtain an audio track of kind ${device?.kind}`);
171
+ logger.error({
172
+ ID: device?.ID,
173
+ mediaType: 'DEVICE',
174
+ action: 'createAudioTrack()',
175
+ description: error.message,
176
+ error,
177
+ });
178
+ throw error;
179
+ }
180
+ async function createVideoTrack(device) {
181
+ logger.debug({
182
+ ID: device?.ID,
183
+ mediaType: DEVICE,
184
+ action: 'createVideoTrack()',
185
+ description: `Called ${device ? `with ${JSON.stringify(device)}` : ''} `,
186
+ });
187
+ if (device && device.kind !== DeviceKinds.VIDEO_INPUT) {
188
+ const error = new Error(`Device ${device.ID} is not of kind VIDEO_INPUT`);
189
+ logger.error({
190
+ ID: device.ID,
191
+ mediaType: 'DEVICE',
192
+ action: 'createVideoTrack()',
193
+ description: error.message,
194
+ error,
195
+ });
196
+ throw error;
197
+ }
198
+ logger.info({
199
+ ID: device?.ID,
200
+ mediaType: DEVICE,
201
+ action: 'createVideoTrack()',
202
+ description: 'Creating video track',
203
+ });
204
+ const deviceConfig = device
205
+ ? {
206
+ video: {
207
+ deviceId: {
208
+ exact: device.ID,
209
+ },
210
+ },
211
+ }
212
+ : {
213
+ audio: false,
214
+ video: true,
215
+ };
216
+ const stream = await navigator.mediaDevices.getUserMedia(deviceConfig);
217
+ const track = stream.getVideoTracks()[0];
218
+ if (track) {
219
+ logger.debug({
220
+ ID: device?.ID,
221
+ mediaType: DEVICE,
222
+ action: 'createVideoTrack()',
223
+ description: `Received video track ${JSON.stringify(track)}`,
224
+ });
225
+ return new Track(track);
226
+ }
227
+ const error = new Error(`Device could not obtain a video track of kind ${device?.kind}`);
228
+ logger.error({
229
+ ID: device?.ID,
230
+ mediaType: 'DEVICE',
231
+ action: 'createVideoTrack()',
232
+ description: error.message,
233
+ error,
234
+ });
235
+ throw error;
236
+ }
237
+ async function createContentTrack(mediaConstraints) {
238
+ logger.debug({
239
+ ID: mediaConstraints?.deviceId?.toString(),
240
+ mediaType: DEVICE,
241
+ action: 'createContentTrack()',
242
+ description: `Called ${mediaConstraints ? `with ${JSON.stringify(mediaConstraints)}` : ''} `,
243
+ });
244
+ logger.info({
245
+ ID: mediaConstraints?.deviceId?.toString(),
246
+ mediaType: MEDIA,
247
+ action: 'createContentTrack()',
248
+ description: 'Creating content track',
249
+ });
250
+ const deviceConfig = {
251
+ audio: false,
252
+ video: true,
253
+ };
254
+ let track;
255
+ let stream;
256
+ try {
257
+ stream = await navigator.mediaDevices.getDisplayMedia(deviceConfig);
258
+ [track] = stream.getVideoTracks();
259
+ }
260
+ catch (error) {
261
+ if (error instanceof Error) {
262
+ logger.error({
263
+ ID: mediaConstraints?.deviceId?.toString(),
264
+ mediaType: 'DEVICE',
265
+ action: 'createContentTrack()',
266
+ description: error.message,
267
+ error,
268
+ });
269
+ }
270
+ throw error;
271
+ }
272
+ if (mediaConstraints) {
273
+ const unsupportedConstraints = getUnsupportedConstraints(mediaConstraints);
274
+ if (unsupportedConstraints.length <= 0) {
275
+ track.applyConstraints(mediaConstraints);
276
+ logger.debug({
277
+ ID: mediaConstraints?.deviceId?.toString(),
278
+ mediaType: DEVICE,
279
+ action: 'createContentTrack()',
280
+ description: 'Applied media constraints to fetched content track',
281
+ });
282
+ }
283
+ else {
284
+ const error = new Error(`${unsupportedConstraints.join(', ')} constraint is not supported by browser`);
285
+ logger.error({
286
+ ID: mediaConstraints?.deviceId?.toString(),
287
+ mediaType: 'DEVICE',
288
+ action: 'createContentTrack()',
289
+ description: error.message,
290
+ error,
291
+ });
292
+ throw error;
293
+ }
294
+ }
295
+ if (track) {
296
+ logger.debug({
297
+ ID: mediaConstraints?.deviceId?.toString(),
298
+ mediaType: DEVICE,
299
+ action: 'createContentTrack()',
300
+ description: `Received content track ${JSON.stringify(track)}`,
301
+ });
302
+ return new Track(track);
303
+ }
304
+ const error = new Error('Could not obtain a content track');
305
+ logger.error({
306
+ ID: mediaConstraints?.deviceId?.toString(),
307
+ mediaType: 'DEVICE',
308
+ action: 'createContentTrack()',
309
+ description: error.message,
310
+ error,
311
+ });
312
+ throw error;
313
+ }
314
+ async function deviceChangePublisher() {
315
+ logger.debug({
316
+ mediaType: DEVICE,
317
+ action: 'deviceChangePublisher()',
318
+ description: 'Called',
319
+ });
320
+ if (!navigator.mediaDevices?.enumerateDevices) {
321
+ console.warn('navigator.mediaDevices.enumerateDevices() is not supported.');
322
+ return;
323
+ }
324
+ logger.info({
325
+ mediaType: DEVICE,
326
+ action: 'deviceChangePublisher()',
327
+ description: 'Calling individual subscription listener obtained by device change event',
328
+ });
329
+ const newDeviceList = await navigator.mediaDevices.enumerateDevices();
330
+ let filtered = [];
331
+ let getGroupIdsFrom = [];
332
+ let filterDevicesFrom = [];
333
+ let action = 'changed';
334
+ const deviceListGroups = new Set();
335
+ if (newDeviceList.length !== deviceList.length) {
336
+ [getGroupIdsFrom, filterDevicesFrom, action] =
337
+ newDeviceList.length < deviceList.length
338
+ ? [newDeviceList, deviceList, 'removed']
339
+ : [deviceList, newDeviceList, 'added'];
340
+ getGroupIdsFrom.forEach((device) => {
341
+ deviceListGroups.add(device.groupId);
342
+ });
343
+ filtered = filterDevicesFrom.filter((device) => !deviceListGroups.has(device.groupId));
344
+ deviceList.splice(0, deviceList.length);
345
+ deviceList.push(...newDeviceList);
346
+ eventEmitter.emit('device:changed', {
347
+ action,
348
+ devices: filtered,
349
+ });
350
+ }
351
+ }
352
+ async function on(eventName, listener) {
353
+ logger.debug({
354
+ mediaType: MEDIA,
355
+ action: 'on()',
356
+ description: `Subscribing to an ${eventName},${listener}`,
357
+ });
358
+ eventEmitter.on(eventName, listener);
359
+ if (eventName === 'device:changed') {
360
+ const thisDeviceList = await getDevices();
361
+ deviceList.push(...thisDeviceList);
362
+ navigator.mediaDevices.addEventListener('devicechange', deviceChangePublisher);
363
+ }
364
+ }
365
+ const off = (eventName, listener) => {
366
+ logger.debug({
367
+ mediaType: MEDIA,
368
+ action: 'off()',
369
+ description: `Called ${eventName} with ${listener} listener`,
370
+ });
371
+ eventEmitter.off(eventName, listener);
372
+ };
373
+ const hasH264Codec = async () => {
374
+ let hasCodec = false;
375
+ try {
376
+ const peerConnection = new window.RTCPeerConnection();
377
+ const offer = await peerConnection.createOffer({
378
+ offerToReceiveVideo: true,
379
+ });
380
+ if (offer?.sdp?.match(/^a=rtpmap:\d+\s+H264\/\d+/m)) {
381
+ hasCodec = true;
382
+ }
383
+ peerConnection.close();
384
+ }
385
+ catch (error) {
386
+ logger.debug({
387
+ mediaType: MEDIA,
388
+ action: 'hasH264Codec()',
389
+ description: `Meetings:util#hasH264Codec----> Error creating peerConnection for H.264 test`,
390
+ });
391
+ }
392
+ return hasCodec;
393
+ };
394
+ const isCodecAvailable = async () => {
395
+ const isCodec = await hasH264Codec();
396
+ return isCodec;
397
+ };
398
+ export * from './Device';
399
+ export * from './Track';
400
+ export { getDevices, getCameras, getMicrophones, getSpeakers, createAudioTrack, createVideoTrack, createContentTrack, on, off, isCodecAvailable, };
401
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Media/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { EventEmitter as EE } from 'events';
2
+ export default class EventEmitter extends EE {
3
+ }
4
+ //# sourceMappingURL=EventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/MediaConnection/EventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,IAAI,EAAE,EAAC,MAAM,QAAQ,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,YAAiC,SAAS,EAE1D;CAAG"}