@microsoft/live-share-media 2.0.0-internal.5 → 2.0.0-internal.7

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 (345) hide show
  1. package/.mocharc.cjs +12 -0
  2. package/.nycrc.json +1 -1
  3. package/README.md +30 -31
  4. package/bin/cjs/IMediaPlayer.d.ts.map +1 -0
  5. package/bin/cjs/IMediaPlayer.js.map +1 -0
  6. package/bin/{LiveMediaSession.d.ts → cjs/LiveMediaSession.d.ts} +16 -9
  7. package/bin/cjs/LiveMediaSession.d.ts.map +1 -0
  8. package/bin/{LiveMediaSession.js → cjs/LiveMediaSession.js} +31 -25
  9. package/bin/cjs/LiveMediaSession.js.map +1 -0
  10. package/bin/{LiveMediaSessionCoordinator.d.ts → cjs/LiveMediaSessionCoordinator.d.ts} +5 -4
  11. package/bin/cjs/LiveMediaSessionCoordinator.d.ts.map +1 -0
  12. package/bin/{LiveMediaSessionCoordinator.js → cjs/LiveMediaSessionCoordinator.js} +60 -50
  13. package/bin/cjs/LiveMediaSessionCoordinator.js.map +1 -0
  14. package/bin/{LiveMediaSessionCoordinatorSuspension.d.ts → cjs/LiveMediaSessionCoordinatorSuspension.d.ts} +1 -1
  15. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  16. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  17. package/bin/{MediaPlayerSynchronizer.d.ts → cjs/MediaPlayerSynchronizer.d.ts} +7 -6
  18. package/bin/cjs/MediaPlayerSynchronizer.d.ts.map +1 -0
  19. package/bin/{MediaPlayerSynchronizer.js → cjs/MediaPlayerSynchronizer.js} +36 -36
  20. package/bin/cjs/MediaPlayerSynchronizer.js.map +1 -0
  21. package/bin/{MediaSessionActionThrottler.d.ts → cjs/MediaSessionActionThrottler.d.ts} +1 -1
  22. package/bin/cjs/MediaSessionActionThrottler.d.ts.map +1 -0
  23. package/bin/cjs/MediaSessionActionThrottler.js.map +1 -0
  24. package/bin/cjs/MediaSessionExtensions.d.ts.map +1 -0
  25. package/bin/cjs/MediaSessionExtensions.js.map +1 -0
  26. package/bin/{RepeatedActionThrottler.d.ts → cjs/RepeatedActionThrottler.d.ts} +2 -2
  27. package/bin/cjs/RepeatedActionThrottler.d.ts.map +1 -0
  28. package/bin/{RepeatedActionThrottler.js → cjs/RepeatedActionThrottler.js} +2 -2
  29. package/bin/cjs/RepeatedActionThrottler.js.map +1 -0
  30. package/bin/{VolumeManager.d.ts → cjs/VolumeManager.d.ts} +6 -6
  31. package/bin/cjs/VolumeManager.d.ts.map +1 -0
  32. package/bin/{VolumeManager.js → cjs/VolumeManager.js} +5 -5
  33. package/bin/cjs/VolumeManager.js.map +1 -0
  34. package/bin/cjs/index.d.ts +14 -0
  35. package/bin/cjs/index.d.ts.map +1 -0
  36. package/bin/{internals → cjs}/index.js +9 -8
  37. package/bin/cjs/index.js.map +1 -0
  38. package/bin/{internals → cjs/internals}/GroupCoordinatorState.d.ts +10 -9
  39. package/bin/cjs/internals/GroupCoordinatorState.d.ts.map +1 -0
  40. package/bin/{internals → cjs/internals}/GroupCoordinatorState.js +44 -44
  41. package/bin/cjs/internals/GroupCoordinatorState.js.map +1 -0
  42. package/bin/{internals → cjs/internals}/GroupPlaybackPosition.d.ts +5 -4
  43. package/bin/cjs/internals/GroupPlaybackPosition.d.ts.map +1 -0
  44. package/bin/{internals → cjs/internals}/GroupPlaybackPosition.js +2 -2
  45. package/bin/cjs/internals/GroupPlaybackPosition.js.map +1 -0
  46. package/bin/{internals → cjs/internals}/GroupPlaybackRate.d.ts +2 -2
  47. package/bin/cjs/internals/GroupPlaybackRate.d.ts.map +1 -0
  48. package/bin/cjs/internals/GroupPlaybackRate.js.map +1 -0
  49. package/bin/{internals → cjs/internals}/GroupPlaybackTrack.d.ts +3 -3
  50. package/bin/cjs/internals/GroupPlaybackTrack.d.ts.map +1 -0
  51. package/bin/cjs/internals/GroupPlaybackTrack.js.map +1 -0
  52. package/bin/{internals → cjs/internals}/GroupPlaybackTrackData.d.ts +3 -3
  53. package/bin/cjs/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  54. package/bin/{internals → cjs/internals}/GroupPlaybackTrackData.js +2 -2
  55. package/bin/cjs/internals/GroupPlaybackTrackData.js.map +1 -0
  56. package/bin/{internals → cjs/internals}/GroupTransportState.d.ts +6 -6
  57. package/bin/cjs/internals/GroupTransportState.d.ts.map +1 -0
  58. package/bin/{internals → cjs/internals}/GroupTransportState.js +2 -2
  59. package/bin/cjs/internals/GroupTransportState.js.map +1 -0
  60. package/bin/cjs/internals/PriorityTimeInterval.d.ts +33 -0
  61. package/bin/cjs/internals/PriorityTimeInterval.d.ts.map +1 -0
  62. package/bin/cjs/internals/PriorityTimeInterval.js +45 -0
  63. package/bin/cjs/internals/PriorityTimeInterval.js.map +1 -0
  64. package/bin/cjs/internals/consts.d.ts.map +1 -0
  65. package/bin/cjs/internals/consts.js.map +1 -0
  66. package/bin/cjs/internals/errors.d.ts.map +1 -0
  67. package/bin/cjs/internals/errors.js.map +1 -0
  68. package/bin/{internals → cjs/internals}/interfaces.d.ts +2 -2
  69. package/bin/cjs/internals/interfaces.d.ts.map +1 -0
  70. package/bin/{internals → cjs/internals}/interfaces.js.map +1 -1
  71. package/bin/cjs/package.json +1 -0
  72. package/bin/esm/IMediaPlayer.d.ts +21 -0
  73. package/bin/esm/IMediaPlayer.d.ts.map +1 -0
  74. package/bin/esm/IMediaPlayer.js +6 -0
  75. package/bin/esm/IMediaPlayer.js.map +1 -0
  76. package/bin/esm/LiveMediaSession.d.ts +97 -0
  77. package/bin/esm/LiveMediaSession.d.ts.map +1 -0
  78. package/bin/esm/LiveMediaSession.js +257 -0
  79. package/bin/esm/LiveMediaSession.js.map +1 -0
  80. package/bin/esm/LiveMediaSessionCoordinator.d.ts +273 -0
  81. package/bin/esm/LiveMediaSessionCoordinator.d.ts.map +1 -0
  82. package/bin/esm/LiveMediaSessionCoordinator.js +475 -0
  83. package/bin/esm/LiveMediaSessionCoordinator.js.map +1 -0
  84. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
  85. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  86. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js +24 -0
  87. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  88. package/bin/esm/MediaPlayerSynchronizer.d.ts +204 -0
  89. package/bin/esm/MediaPlayerSynchronizer.d.ts.map +1 -0
  90. package/bin/esm/MediaPlayerSynchronizer.js +570 -0
  91. package/bin/esm/MediaPlayerSynchronizer.js.map +1 -0
  92. package/bin/esm/MediaSessionActionThrottler.d.ts +12 -0
  93. package/bin/esm/MediaSessionActionThrottler.d.ts.map +1 -0
  94. package/bin/esm/MediaSessionActionThrottler.js +10 -0
  95. package/bin/esm/MediaSessionActionThrottler.js.map +1 -0
  96. package/bin/esm/MediaSessionExtensions.d.ts +177 -0
  97. package/bin/esm/MediaSessionExtensions.d.ts.map +1 -0
  98. package/bin/esm/MediaSessionExtensions.js +23 -0
  99. package/bin/esm/MediaSessionExtensions.js.map +1 -0
  100. package/bin/esm/RepeatedActionThrottler.d.ts +20 -0
  101. package/bin/esm/RepeatedActionThrottler.d.ts.map +1 -0
  102. package/bin/esm/RepeatedActionThrottler.js +59 -0
  103. package/bin/esm/RepeatedActionThrottler.js.map +1 -0
  104. package/bin/esm/VolumeManager.d.ts +84 -0
  105. package/bin/esm/VolumeManager.d.ts.map +1 -0
  106. package/bin/esm/VolumeManager.js +171 -0
  107. package/bin/esm/VolumeManager.js.map +1 -0
  108. package/bin/esm/index.d.ts +14 -0
  109. package/bin/esm/index.d.ts.map +1 -0
  110. package/bin/esm/index.js +14 -0
  111. package/bin/esm/index.js.map +1 -0
  112. package/bin/esm/internals/GroupCoordinatorState.d.ts +109 -0
  113. package/bin/esm/internals/GroupCoordinatorState.d.ts.map +1 -0
  114. package/bin/esm/internals/GroupCoordinatorState.js +512 -0
  115. package/bin/esm/internals/GroupCoordinatorState.js.map +1 -0
  116. package/bin/esm/internals/GroupPlaybackPosition.d.ts +71 -0
  117. package/bin/esm/internals/GroupPlaybackPosition.d.ts.map +1 -0
  118. package/bin/esm/internals/GroupPlaybackPosition.js +166 -0
  119. package/bin/esm/internals/GroupPlaybackPosition.js.map +1 -0
  120. package/bin/esm/internals/GroupPlaybackRate.d.ts +38 -0
  121. package/bin/esm/internals/GroupPlaybackRate.d.ts.map +1 -0
  122. package/bin/esm/internals/GroupPlaybackRate.js +55 -0
  123. package/bin/esm/internals/GroupPlaybackRate.js.map +1 -0
  124. package/bin/esm/internals/GroupPlaybackTrack.d.ts +45 -0
  125. package/bin/esm/internals/GroupPlaybackTrack.d.ts.map +1 -0
  126. package/bin/esm/internals/GroupPlaybackTrack.js +118 -0
  127. package/bin/esm/internals/GroupPlaybackTrack.js.map +1 -0
  128. package/bin/esm/internals/GroupPlaybackTrackData.d.ts +40 -0
  129. package/bin/esm/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  130. package/bin/esm/internals/GroupPlaybackTrackData.js +66 -0
  131. package/bin/esm/internals/GroupPlaybackTrackData.js.map +1 -0
  132. package/bin/esm/internals/GroupTransportState.d.ts +52 -0
  133. package/bin/esm/internals/GroupTransportState.d.ts.map +1 -0
  134. package/bin/esm/internals/GroupTransportState.js +116 -0
  135. package/bin/esm/internals/GroupTransportState.js.map +1 -0
  136. package/bin/esm/internals/PriorityTimeInterval.d.ts +33 -0
  137. package/bin/esm/internals/PriorityTimeInterval.d.ts.map +1 -0
  138. package/bin/esm/internals/PriorityTimeInterval.js +41 -0
  139. package/bin/esm/internals/PriorityTimeInterval.js.map +1 -0
  140. package/bin/esm/internals/consts.d.ts +83 -0
  141. package/bin/esm/internals/consts.d.ts.map +1 -0
  142. package/bin/esm/internals/consts.js +89 -0
  143. package/bin/esm/internals/consts.js.map +1 -0
  144. package/bin/esm/internals/errors.d.ts +17 -0
  145. package/bin/esm/internals/errors.d.ts.map +1 -0
  146. package/bin/esm/internals/errors.js +29 -0
  147. package/bin/esm/internals/errors.js.map +1 -0
  148. package/bin/esm/internals/interfaces.d.ts +23 -0
  149. package/bin/esm/internals/interfaces.d.ts.map +1 -0
  150. package/bin/esm/internals/interfaces.js +2 -0
  151. package/bin/esm/internals/interfaces.js.map +1 -0
  152. package/bin/test/IMediaPlayer.d.ts +21 -0
  153. package/bin/test/IMediaPlayer.d.ts.map +1 -0
  154. package/bin/test/IMediaPlayer.js +7 -0
  155. package/bin/test/IMediaPlayer.js.map +1 -0
  156. package/bin/test/LiveMediaSession.d.ts +97 -0
  157. package/bin/test/LiveMediaSession.d.ts.map +1 -0
  158. package/bin/test/LiveMediaSession.js +261 -0
  159. package/bin/test/LiveMediaSession.js.map +1 -0
  160. package/bin/test/LiveMediaSessionCoordinator.d.ts +296 -0
  161. package/bin/test/LiveMediaSessionCoordinator.d.ts.map +1 -0
  162. package/bin/test/LiveMediaSessionCoordinator.js +552 -0
  163. package/bin/test/LiveMediaSessionCoordinator.js.map +1 -0
  164. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
  165. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  166. package/bin/test/LiveMediaSessionCoordinatorSuspension.js +28 -0
  167. package/bin/test/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  168. package/bin/test/MediaPlayerSynchronizer.d.ts +204 -0
  169. package/bin/test/MediaPlayerSynchronizer.d.ts.map +1 -0
  170. package/bin/test/MediaPlayerSynchronizer.js +574 -0
  171. package/bin/test/MediaPlayerSynchronizer.js.map +1 -0
  172. package/bin/test/MediaSessionActionThrottler.d.ts +12 -0
  173. package/bin/test/MediaSessionActionThrottler.d.ts.map +1 -0
  174. package/bin/test/MediaSessionActionThrottler.js +14 -0
  175. package/bin/test/MediaSessionActionThrottler.js.map +1 -0
  176. package/bin/test/MediaSessionExtensions.d.ts +177 -0
  177. package/bin/test/MediaSessionExtensions.d.ts.map +1 -0
  178. package/bin/test/MediaSessionExtensions.js +26 -0
  179. package/bin/test/MediaSessionExtensions.js.map +1 -0
  180. package/bin/test/RepeatedActionThrottler.d.ts +20 -0
  181. package/bin/test/RepeatedActionThrottler.d.ts.map +1 -0
  182. package/bin/test/RepeatedActionThrottler.js +63 -0
  183. package/bin/test/RepeatedActionThrottler.js.map +1 -0
  184. package/bin/test/VolumeManager.d.ts +84 -0
  185. package/bin/test/VolumeManager.d.ts.map +1 -0
  186. package/bin/test/VolumeManager.js +175 -0
  187. package/bin/test/VolumeManager.js.map +1 -0
  188. package/bin/test/index.d.ts +14 -0
  189. package/bin/test/index.d.ts.map +1 -0
  190. package/bin/{index.js → test/index.js} +9 -9
  191. package/bin/test/index.js.map +1 -0
  192. package/bin/test/internals/GroupCoordinatorState.d.ts +110 -0
  193. package/bin/test/internals/GroupCoordinatorState.d.ts.map +1 -0
  194. package/bin/test/internals/GroupCoordinatorState.js +516 -0
  195. package/bin/test/internals/GroupCoordinatorState.js.map +1 -0
  196. package/bin/test/internals/GroupPlaybackPosition.d.ts +71 -0
  197. package/bin/test/internals/GroupPlaybackPosition.d.ts.map +1 -0
  198. package/bin/test/internals/GroupPlaybackPosition.js +170 -0
  199. package/bin/test/internals/GroupPlaybackPosition.js.map +1 -0
  200. package/bin/test/internals/GroupPlaybackRate.d.ts +38 -0
  201. package/bin/test/internals/GroupPlaybackRate.d.ts.map +1 -0
  202. package/bin/test/internals/GroupPlaybackRate.js +59 -0
  203. package/bin/test/internals/GroupPlaybackRate.js.map +1 -0
  204. package/bin/test/internals/GroupPlaybackTrack.d.ts +45 -0
  205. package/bin/test/internals/GroupPlaybackTrack.d.ts.map +1 -0
  206. package/bin/test/internals/GroupPlaybackTrack.js +122 -0
  207. package/bin/test/internals/GroupPlaybackTrack.js.map +1 -0
  208. package/bin/test/internals/GroupPlaybackTrackData.d.ts +40 -0
  209. package/bin/test/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  210. package/bin/test/internals/GroupPlaybackTrackData.js +70 -0
  211. package/bin/test/internals/GroupPlaybackTrackData.js.map +1 -0
  212. package/bin/test/internals/GroupTransportState.d.ts +52 -0
  213. package/bin/test/internals/GroupTransportState.d.ts.map +1 -0
  214. package/bin/test/internals/GroupTransportState.js +120 -0
  215. package/bin/test/internals/GroupTransportState.js.map +1 -0
  216. package/bin/test/internals/PriorityTimeInterval.d.ts +33 -0
  217. package/bin/test/internals/PriorityTimeInterval.d.ts.map +1 -0
  218. package/bin/test/internals/PriorityTimeInterval.js +45 -0
  219. package/bin/test/internals/PriorityTimeInterval.js.map +1 -0
  220. package/bin/test/internals/consts.d.ts +83 -0
  221. package/bin/test/internals/consts.d.ts.map +1 -0
  222. package/bin/test/internals/consts.js +92 -0
  223. package/bin/test/internals/consts.js.map +1 -0
  224. package/bin/test/internals/errors.d.ts +17 -0
  225. package/bin/test/internals/errors.d.ts.map +1 -0
  226. package/bin/test/internals/errors.js +34 -0
  227. package/bin/test/internals/errors.js.map +1 -0
  228. package/bin/test/internals/interfaces.d.ts +23 -0
  229. package/bin/test/internals/interfaces.d.ts.map +1 -0
  230. package/bin/test/internals/interfaces.js +3 -0
  231. package/bin/test/internals/interfaces.js.map +1 -0
  232. package/bin/test/package.json +1 -0
  233. package/bin/test/test/GroupPlaybackPosition.spec.d.ts +6 -0
  234. package/bin/test/test/GroupPlaybackPosition.spec.d.ts.map +1 -0
  235. package/bin/test/test/GroupPlaybackPosition.spec.js +315 -0
  236. package/bin/test/test/GroupPlaybackPosition.spec.js.map +1 -0
  237. package/bin/test/test/GroupPlaybackRate.spec.d.ts +6 -0
  238. package/bin/test/test/GroupPlaybackRate.spec.d.ts.map +1 -0
  239. package/bin/test/test/GroupPlaybackRate.spec.js +47 -0
  240. package/bin/test/test/GroupPlaybackRate.spec.js.map +1 -0
  241. package/bin/test/test/GroupPlaybackTrack.spec.d.ts +6 -0
  242. package/bin/test/test/GroupPlaybackTrack.spec.d.ts.map +1 -0
  243. package/bin/test/test/GroupPlaybackTrack.spec.js +171 -0
  244. package/bin/test/test/GroupPlaybackTrack.spec.js.map +1 -0
  245. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts +6 -0
  246. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts.map +1 -0
  247. package/bin/test/test/GroupPlaybackTrackData.spec.js +63 -0
  248. package/bin/test/test/GroupPlaybackTrackData.spec.js.map +1 -0
  249. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts +6 -0
  250. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts.map +1 -0
  251. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js +324 -0
  252. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js.map +1 -0
  253. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts +6 -0
  254. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts.map +1 -0
  255. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js +669 -0
  256. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js.map +1 -0
  257. package/bin/test/test/PriorityTimeInterval.spec.d.ts +6 -0
  258. package/bin/test/test/PriorityTimeInterval.spec.d.ts.map +1 -0
  259. package/bin/test/test/PriorityTimeInterval.spec.js +67 -0
  260. package/bin/test/test/PriorityTimeInterval.spec.js.map +1 -0
  261. package/bin/test/test/TestUtils.d.ts +44 -0
  262. package/bin/test/test/TestUtils.d.ts.map +1 -0
  263. package/bin/test/test/TestUtils.js +116 -0
  264. package/bin/test/test/TestUtils.js.map +1 -0
  265. package/bin/test/test/VolumeManager.spec.d.ts +2 -0
  266. package/bin/test/test/VolumeManager.spec.d.ts.map +1 -0
  267. package/bin/test/test/VolumeManager.spec.js +163 -0
  268. package/bin/test/test/VolumeManager.spec.js.map +1 -0
  269. package/nyc/junit-report.json +246 -166
  270. package/nyc/junit-report.xml +58 -53
  271. package/package.json +31 -15
  272. package/src/LiveMediaSession.ts +32 -14
  273. package/src/LiveMediaSessionCoordinator.ts +39 -27
  274. package/src/LiveMediaSessionCoordinatorSuspension.ts +1 -1
  275. package/src/MediaPlayerSynchronizer.ts +10 -10
  276. package/src/MediaSessionActionThrottler.ts +1 -1
  277. package/src/RepeatedActionThrottler.ts +2 -2
  278. package/src/VolumeManager.ts +6 -6
  279. package/src/index.ts +9 -9
  280. package/src/internals/GroupCoordinatorState.ts +15 -14
  281. package/src/internals/GroupPlaybackPosition.ts +6 -6
  282. package/src/internals/GroupPlaybackRate.ts +2 -2
  283. package/src/internals/GroupPlaybackTrack.ts +3 -3
  284. package/src/internals/GroupPlaybackTrackData.ts +3 -3
  285. package/src/internals/GroupTransportState.ts +6 -6
  286. package/src/internals/interfaces.ts +2 -2
  287. package/tsconfig.cjs.json +14 -0
  288. package/tsconfig.json +65 -74
  289. package/tsconfig.test.json +9 -0
  290. package/bin/IMediaPlayer.d.ts.map +0 -1
  291. package/bin/IMediaPlayer.js.map +0 -1
  292. package/bin/LiveMediaSession.d.ts.map +0 -1
  293. package/bin/LiveMediaSession.js.map +0 -1
  294. package/bin/LiveMediaSessionCoordinator.d.ts.map +0 -1
  295. package/bin/LiveMediaSessionCoordinator.js.map +0 -1
  296. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  297. package/bin/LiveMediaSessionCoordinatorSuspension.js.map +0 -1
  298. package/bin/MediaPlayerSynchronizer.d.ts.map +0 -1
  299. package/bin/MediaPlayerSynchronizer.js.map +0 -1
  300. package/bin/MediaSessionActionThrottler.d.ts.map +0 -1
  301. package/bin/MediaSessionActionThrottler.js.map +0 -1
  302. package/bin/MediaSessionExtensions.d.ts.map +0 -1
  303. package/bin/MediaSessionExtensions.js.map +0 -1
  304. package/bin/RepeatedActionThrottler.d.ts.map +0 -1
  305. package/bin/RepeatedActionThrottler.js.map +0 -1
  306. package/bin/VolumeManager.d.ts.map +0 -1
  307. package/bin/VolumeManager.js.map +0 -1
  308. package/bin/index.d.ts +0 -14
  309. package/bin/index.d.ts.map +0 -1
  310. package/bin/index.js.map +0 -1
  311. package/bin/internals/GroupCoordinatorState.d.ts.map +0 -1
  312. package/bin/internals/GroupCoordinatorState.js.map +0 -1
  313. package/bin/internals/GroupPlaybackPosition.d.ts.map +0 -1
  314. package/bin/internals/GroupPlaybackPosition.js.map +0 -1
  315. package/bin/internals/GroupPlaybackRate.d.ts.map +0 -1
  316. package/bin/internals/GroupPlaybackRate.js.map +0 -1
  317. package/bin/internals/GroupPlaybackTrack.d.ts.map +0 -1
  318. package/bin/internals/GroupPlaybackTrack.js.map +0 -1
  319. package/bin/internals/GroupPlaybackTrackData.d.ts.map +0 -1
  320. package/bin/internals/GroupPlaybackTrackData.js.map +0 -1
  321. package/bin/internals/GroupTransportState.d.ts.map +0 -1
  322. package/bin/internals/GroupTransportState.js.map +0 -1
  323. package/bin/internals/consts.d.ts.map +0 -1
  324. package/bin/internals/consts.js.map +0 -1
  325. package/bin/internals/errors.d.ts.map +0 -1
  326. package/bin/internals/errors.js.map +0 -1
  327. package/bin/internals/index.d.ts +0 -13
  328. package/bin/internals/index.d.ts.map +0 -1
  329. package/bin/internals/index.js.map +0 -1
  330. package/bin/internals/interfaces.d.ts.map +0 -1
  331. package/src/internals/index.ts +0 -13
  332. package/tsconfig.build.json +0 -9
  333. /package/bin/{IMediaPlayer.d.ts → cjs/IMediaPlayer.d.ts} +0 -0
  334. /package/bin/{IMediaPlayer.js → cjs/IMediaPlayer.js} +0 -0
  335. /package/bin/{LiveMediaSessionCoordinatorSuspension.js → cjs/LiveMediaSessionCoordinatorSuspension.js} +0 -0
  336. /package/bin/{MediaSessionActionThrottler.js → cjs/MediaSessionActionThrottler.js} +0 -0
  337. /package/bin/{MediaSessionExtensions.d.ts → cjs/MediaSessionExtensions.d.ts} +0 -0
  338. /package/bin/{MediaSessionExtensions.js → cjs/MediaSessionExtensions.js} +0 -0
  339. /package/bin/{internals → cjs/internals}/GroupPlaybackRate.js +0 -0
  340. /package/bin/{internals → cjs/internals}/GroupPlaybackTrack.js +0 -0
  341. /package/bin/{internals → cjs/internals}/consts.d.ts +0 -0
  342. /package/bin/{internals → cjs/internals}/consts.js +0 -0
  343. /package/bin/{internals → cjs/internals}/errors.d.ts +0 -0
  344. /package/bin/{internals → cjs/internals}/errors.js +0 -0
  345. /package/bin/{internals → cjs/internals}/interfaces.js +0 -0
package/.mocharc.cjs ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const packageDir = `${__dirname}/../..`;
9
+
10
+ const getFluidTestMochaConfig = require("@fluidframework/mocha-test-setup/mocharc-common.js");
11
+ const config = getFluidTestMochaConfig(packageDir);
12
+ module.exports = config;
package/.nycrc.json CHANGED
@@ -8,4 +8,4 @@
8
8
  "branches": 90,
9
9
  "functions": 95,
10
10
  "lines": 90
11
- }
11
+ }
package/README.md CHANGED
@@ -35,15 +35,15 @@ This will use npm workspaces to hoist and build all dependencies.
35
35
 
36
36
  ```html
37
37
  <body>
38
- <video id="player">
39
- <source src="YOUR_VIDEO_SRC" type="video/mp4" />
40
- </video>
41
- <div class="player-controls">
42
- <button id="play-button">Play</button>
43
- <button id="pause-button">Pause</button>
44
- <button id="restart-button">Restart</button>
45
- <button id="change-track-button">Change track</button>
46
- </div>
38
+ <video id="player">
39
+ <source src="YOUR_VIDEO_SRC" type="video/mp4" />
40
+ </video>
41
+ <div class="player-controls">
42
+ <button id="play-button">Play</button>
43
+ <button id="pause-button">Pause</button>
44
+ <button id="restart-button">Restart</button>
45
+ <button id="change-track-button">Change track</button>
46
+ </div>
47
47
  </body>
48
48
  ```
49
49
 
@@ -58,14 +58,12 @@ await microsoftTeams.app.initialize();
58
58
  // Setup the Fluid container
59
59
  const host = LiveShareHost.create();
60
60
  const client = new LiveShareClient(host);
61
- const schema = {
62
- initialObjects: {
63
- mediaSession: LiveMediaSession,
64
- ...,
65
- },
66
- };
67
- const { container } = await client.joinContainer(schema);
68
- const { mediaSession } = container.initialObjects;
61
+ await client.join();
62
+
63
+ const mediaSession =
64
+ (await client.getDDS) <
65
+ LiveMediaSession >
66
+ ("media-session-id", LiveMediaSession);
69
67
 
70
68
  // Get the player from your document and create synchronizer
71
69
  const player = document.getElementById("player");
@@ -78,21 +76,21 @@ await mediaSession.initialize(allowedRoles);
78
76
  // Intercept user play, pause, seek, and set track actions through synchronizer
79
77
 
80
78
  document.getElementById("play-button").onclick = () => {
81
- synchronizer.play();
79
+ synchronizer.play();
82
80
  };
83
81
 
84
82
  document.getElementById("pause-button").onclick = () => {
85
- synchronizer.pause();
83
+ synchronizer.pause();
86
84
  };
87
85
 
88
86
  document.getElementById("restart-button").onclick = () => {
89
- synchronizer.seekTo(0);
87
+ synchronizer.seekTo(0);
90
88
  };
91
89
 
92
90
  document.getElementById("change-track-button").onclick = () => {
93
- synchronizer.setTrack({
94
- trackIdentifier: "SOME_OTHER_VIDEO_SRC",
95
- });
91
+ synchronizer.setTrack({
92
+ trackIdentifier: "SOME_OTHER_VIDEO_SRC",
93
+ });
96
94
  };
97
95
  ```
98
96
 
@@ -102,7 +100,7 @@ There are several code samples that are hosted in a separate GitHub repository.
102
100
 
103
101
  | Sample name | Description | Javascript |
104
102
  | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
105
- | React Video | Basic example showing how the LiveMediaSession object works with HTML5 video. | [View](https://aka.ms/liveshare-reactvideo) |
103
+ | React Video | Basic example showing how the LiveMediaSession object works with HTML5 video. | [View](https://aka.ms/liveshare-reactvideo) |
106
104
  | React Media Template | Enable all connected clients to watch videos together, build a shared playlist, transfer whom is in control, and annotate over the video. | [View](https://aka.ms/liveshare-mediatemplate) |
107
105
 
108
106
  ## Package Compatibility
@@ -111,18 +109,19 @@ The Live Share SDK contains dependencies for [@microsoft/teams-js](https://www.n
111
109
 
112
110
  **It is critical that your app use the package dependencies listed in the table below.** Lookup the version of the `@microsoft/live-share` you're using and set any other dependencies in your package.json file to match:
113
111
 
114
- | @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-\* | @fluidframework/azure-client | @microsoft/TeamsFx | @microsoft/TeamsFx-react |
115
- | --------------------- | -------------------- | --------------- | -------------------------- | ---------------------------- | ------------------------------- | ------------------------------- |
116
- | ^1.0.0 | ^2.11.0 | ^1.2.3 | ^1.0.0 | ^1.0.0 | ^2.5.0 | ^2.5.0 |
112
+ | @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-\* | @fluidframework/azure-client | @microsoft/TeamsFx | @microsoft/TeamsFx-react |
113
+ | --------------------- | ------------------- | --------------- | ------------------------ | ---------------------------- | ------------------ | ------------------------ |
114
+ | ^2.0.0 | ^2.11.0 | ^2.0.0 | ^2.0.0 | ^2.0.0 | ^2.5.0 | ^2.5.0 |
115
+ | ^1.0.0 | ^2.11.0 | ^1.2.3 | ^1.0.0 | ^1.0.0 | ^2.5.0 | ^2.5.0 |
117
116
 
118
117
  ## Contributing
119
118
 
120
119
  There are several ways you can [contribute](../../CONTRIBUTING.md) to this project:
121
120
 
122
- - [Submit bugs](https://github.com/microsoft/live-share-sdk/issues) and help us verify fixes as they are checked in.
123
- - Review the source code changes.
124
- - Engage with other Live Share developers on [StackOverflow](https://stackoverflow.com/questions/tagged/live-share).
125
- - [Contribute bug fixes](../../CONTRIBUTING.md).
121
+ - [Submit bugs](https://github.com/microsoft/live-share-sdk/issues) and help us verify fixes as they are checked in.
122
+ - Review the source code changes.
123
+ - Engage with other Live Share developers on [StackOverflow](https://stackoverflow.com/questions/tagged/live-share).
124
+ - [Contribute bug fixes](../../CONTRIBUTING.md).
126
125
 
127
126
  This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact <opencode@microsoft.com> with any additional questions or comments.
128
127
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaPlayer.d.ts","sourceRoot":"","sources":["../../src/IMediaPlayer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI,CAAC;IACR,mBAAmB,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI,CAAC;CACX"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaPlayer.js","sourceRoot":"","sources":["../../src/IMediaPlayer.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -2,17 +2,19 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { DataObjectFactory } from "@fluidframework/aqueduct";
6
- import { LiveDataObject, LiveTelemetryLogger, UserMeetingRole } from "@microsoft/live-share";
7
- import { MediaPlayerSynchronizer } from "./MediaPlayerSynchronizer";
8
- import { ExtendedMediaSessionAction, ExtendedMediaSessionActionHandler } from "./MediaSessionExtensions";
9
- import { LiveMediaSessionCoordinator, IMediaPlayerState } from "./LiveMediaSessionCoordinator";
10
- import { MediaSessionActionThrottler } from "./MediaSessionActionThrottler";
11
- import { IMediaPlayer } from "./IMediaPlayer";
5
+ import { DataObjectFactory } from "@fluidframework/aqueduct/internal";
6
+ import { LiveTelemetryLogger, UserMeetingRole } from "@microsoft/live-share";
7
+ import { LiveDataObject } from "@microsoft/live-share/internal";
8
+ import { MediaPlayerSynchronizer } from "./MediaPlayerSynchronizer.js";
9
+ import { ExtendedMediaSessionAction, ExtendedMediaSessionActionHandler } from "./MediaSessionExtensions.js";
10
+ import { LiveMediaSessionCoordinator, IMediaPlayerState } from "./LiveMediaSessionCoordinator.js";
11
+ import { MediaSessionActionThrottler } from "./MediaSessionActionThrottler.js";
12
+ import { IMediaPlayer } from "./IMediaPlayer.js";
13
+ import { SharedObjectKind } from "fluid-framework";
12
14
  /**
13
15
  * Live fluid object that synchronizes media playback across multiple clients.
14
16
  */
15
- export declare class LiveMediaSession extends LiveDataObject {
17
+ export declare class LiveMediaSessionClass extends LiveDataObject {
16
18
  private _actionThrottler;
17
19
  private _logger?;
18
20
  private _requestPlayerStateHandler?;
@@ -28,7 +30,7 @@ export declare class LiveMediaSession extends LiveDataObject {
28
30
  /**
29
31
  * The objects fluid type factory.
30
32
  */
31
- static readonly factory: DataObjectFactory<LiveMediaSession, import("@fluidframework/aqueduct").DataObjectTypes>;
33
+ static readonly factory: DataObjectFactory<LiveMediaSessionClass, import("@fluidframework/aqueduct/internal").DataObjectTypes>;
32
34
  /**
33
35
  * Extension point that lets applications replace the default logic for throttling the sessions
34
36
  * local sync behavior.
@@ -87,4 +89,9 @@ export declare class LiveMediaSession extends LiveDataObject {
87
89
  private getCurrentPlayerState;
88
90
  private dispatchAction;
89
91
  }
92
+ /**
93
+ * Live fluid object that synchronizes media playback across multiple clients.
94
+ */
95
+ export type LiveMediaSession = LiveMediaSessionClass;
96
+ export declare const LiveMediaSession: typeof LiveMediaSessionClass & SharedObjectKind<LiveMediaSessionClass>;
90
97
  //# sourceMappingURL=LiveMediaSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSession.d.ts","sourceRoot":"","sources":["../../src/LiveMediaSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,iBAAiB,EAEpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAGH,mBAAmB,EACnB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEH,cAAc,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAEH,0BAA0B,EAE1B,iCAAiC,EACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,2BAA2B,EAC3B,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACrD,OAAO,CAAC,gBAAgB,CACU;IAClC,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,0BAA0B,CAAC,CAA0B;IAC7D,OAAO,CAAC,YAAY,CAAC,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAGlB;IACd,OAAO,CAAC,cAAc,CAAC,CAA0B;IAGjD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAa;IAEpC;;OAEG;IACH,gBAAuB,QAAQ,+CAA+C;IAE9E;;OAEG;IACH,gBAAuB,OAAO,wGAK5B;IAEF;;;;;;;;;;;;OAYG;IACH,IAAW,eAAe,IAAI,2BAA2B,CAExD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,2BAA2B,EAE5D;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,2BAA2B,CAEpD;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,mBAAmB,CAEvC;IAED;;;;;;;;OAQG;IACU,UAAU,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;;;OAIG;IACI,gBAAgB,CACnB,MAAM,EAAE,0BAA0B,EAClC,OAAO,EACD,iCAAiC,GACjC,yBAAyB,GACzB,IAAI,GACX,IAAI;IAUP;;;OAGG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,iBAAiB;IAIpE;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB;cAoCjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwF/C,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,cAAc;CAQzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAGrD,eAAO,MAAM,gBAAgB,wEAGzB,CAAC"}
@@ -13,21 +13,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
13
  });
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.LiveMediaSession = void 0;
17
- const aqueduct_1 = require("@fluidframework/aqueduct");
16
+ exports.LiveMediaSession = exports.LiveMediaSessionClass = void 0;
17
+ const internal_1 = require("@fluidframework/aqueduct/internal");
18
18
  const live_share_1 = require("@microsoft/live-share");
19
- const MediaPlayerSynchronizer_1 = require("./MediaPlayerSynchronizer");
20
- const internals_1 = require("./internals");
21
- const MediaSessionExtensions_1 = require("./MediaSessionExtensions");
22
- const LiveMediaSessionCoordinator_1 = require("./LiveMediaSessionCoordinator");
23
- const RepeatedActionThrottler_1 = require("./RepeatedActionThrottler");
19
+ const internal_2 = require("@microsoft/live-share/internal");
20
+ const MediaPlayerSynchronizer_js_1 = require("./MediaPlayerSynchronizer.js");
21
+ const MediaSessionExtensions_js_1 = require("./MediaSessionExtensions.js");
22
+ const LiveMediaSessionCoordinator_js_1 = require("./LiveMediaSessionCoordinator.js");
23
+ const RepeatedActionThrottler_js_1 = require("./RepeatedActionThrottler.js");
24
+ const consts_js_1 = require("./internals/consts.js");
24
25
  /**
25
26
  * Live fluid object that synchronizes media playback across multiple clients.
26
27
  */
27
- class LiveMediaSession extends live_share_1.LiveDataObject {
28
+ class LiveMediaSessionClass extends internal_2.LiveDataObject {
28
29
  constructor() {
29
30
  super(...arguments);
30
- this._actionThrottler = new RepeatedActionThrottler_1.RepeatedActionThrottler();
31
+ this._actionThrottler = new RepeatedActionThrottler_js_1.RepeatedActionThrottler();
31
32
  this._actionHandlers = new Map();
32
33
  this._lastUpdateTime = 0;
33
34
  }
@@ -127,7 +128,7 @@ class LiveMediaSession extends live_share_1.LiveDataObject {
127
128
  }
128
129
  // Start position update timer
129
130
  if (!this._updateTimer) {
130
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.BeginPositionUpdateTimer);
131
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.BeginPositionUpdateTimer);
131
132
  this._updateTimer = setInterval(() => {
132
133
  // Get current state
133
134
  const state = this.getCurrentPlayerState();
@@ -143,7 +144,7 @@ class LiveMediaSession extends live_share_1.LiveDataObject {
143
144
  }
144
145
  }, 500);
145
146
  }
146
- return new MediaPlayerSynchronizer_1.MediaPlayerSynchronizer(player, this, this.runtime, () => {
147
+ return new MediaPlayerSynchronizer_js_1.MediaPlayerSynchronizer(player, this, this.runtime, () => {
147
148
  this._synchronizing = undefined;
148
149
  });
149
150
  }
@@ -151,19 +152,19 @@ class LiveMediaSession extends live_share_1.LiveDataObject {
151
152
  return __awaiter(this, void 0, void 0, function* () {
152
153
  this._logger = new live_share_1.LiveTelemetryLogger(this.runtime, this.liveRuntime);
153
154
  // Create coordinator and listen for triggered actions
154
- this._coordinator = new LiveMediaSessionCoordinator_1.LiveMediaSessionCoordinator(this.id, this.runtime, this.liveRuntime, () => this.getCurrentPlayerState());
155
- this._coordinator.on(MediaSessionExtensions_1.MediaSessionCoordinatorEvents.triggeraction, (event) => {
155
+ this._coordinator = new LiveMediaSessionCoordinator_js_1.LiveMediaSessionCoordinator(this.id, this.runtime, this.liveRuntime, () => this.getCurrentPlayerState());
156
+ this._coordinator.on(MediaSessionExtensions_js_1.MediaSessionCoordinatorEvents.triggeraction, (event) => {
156
157
  // Pre-process actions
157
158
  const details = event.details;
158
159
  const seekTime = typeof details.seekTime == "number" ? details.seekTime : -1;
159
160
  switch (details.action) {
160
161
  case "play":
161
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PlayAction, null, {
162
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.PlayAction, null, {
162
163
  position: seekTime,
163
164
  });
164
165
  break;
165
166
  case "pause":
166
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PauseAction, null, {
167
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.PauseAction, null, {
167
168
  position: seekTime,
168
169
  });
169
170
  break;
@@ -171,24 +172,24 @@ class LiveMediaSession extends live_share_1.LiveDataObject {
171
172
  if (!details.playbackRate) {
172
173
  break;
173
174
  }
174
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.RateChangeAction, null, {
175
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.RateChangeAction, null, {
175
176
  playbackRate: details.playbackRate,
176
177
  });
177
178
  break;
178
179
  case "seekto":
179
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.SeekToAction, null, {
180
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.SeekToAction, null, {
180
181
  position: seekTime,
181
182
  });
182
183
  break;
183
184
  case "settrack":
184
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.SetTrackAction);
185
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.SetTrackAction);
185
186
  break;
186
187
  case "datachange":
187
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.DataChangeAction);
188
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.DataChangeAction);
188
189
  break;
189
190
  case "catchup":
190
191
  // Default to seekto if catchup not implemented
191
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.CatchUpAction, null, {
192
+ this.logger.sendTelemetryEvent(consts_js_1.TelemetryEvents.MediaSession.CatchUpAction, null, {
192
193
  position: seekTime,
193
194
  });
194
195
  if (!this._actionHandlers.has("catchup")) {
@@ -239,17 +240,22 @@ class LiveMediaSession extends live_share_1.LiveDataObject {
239
240
  }
240
241
  }
241
242
  }
242
- exports.LiveMediaSession = LiveMediaSession;
243
+ exports.LiveMediaSessionClass = LiveMediaSessionClass;
243
244
  /**
244
245
  * The objects fluid type name.
245
246
  */
246
- LiveMediaSession.TypeName = `@microsoft/fluid-media:SharedMediaSession`;
247
+ LiveMediaSessionClass.TypeName = `@microsoft/fluid-media:SharedMediaSession`;
247
248
  /**
248
249
  * The objects fluid type factory.
249
250
  */
250
- LiveMediaSession.factory = new aqueduct_1.DataObjectFactory(LiveMediaSession.TypeName, LiveMediaSession, [], {});
251
+ LiveMediaSessionClass.factory = new internal_1.DataObjectFactory(LiveMediaSessionClass.TypeName, LiveMediaSessionClass, [], {});
252
+ // eslint-disable-next-line no-redeclare
253
+ exports.LiveMediaSession = (() => {
254
+ const kind = (0, internal_1.createDataObjectKind)(LiveMediaSessionClass);
255
+ return kind;
256
+ })();
251
257
  /**
252
- * Register `LiveMediaSession` as an available `LoadableObjectClass` for use in packages that support dynamic object loading, such as `@microsoft/live-share-turbo`.
258
+ * Register `LiveMediaSession` as an available `SharedObjectKind` for use in dynamic object loading.
253
259
  */
254
- live_share_1.DynamicObjectRegistry.registerObjectClass(LiveMediaSession, LiveMediaSession.TypeName);
260
+ internal_2.DynamicObjectRegistry.registerObjectClass(exports.LiveMediaSession, exports.LiveMediaSession.TypeName);
255
261
  //# sourceMappingURL=LiveMediaSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSession.js","sourceRoot":"","sources":["../../src/LiveMediaSession.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { IRuntimeSignaler, UserMeetingRole, LiveShareRuntime } from "@microsoft/live-share";
6
- import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionPlaybackState, MediaSessionCoordinatorSuspension } from "./MediaSessionExtensions";
5
+ import { UserMeetingRole } from "@microsoft/live-share";
6
+ import { IRuntimeSignaler, LiveShareRuntime } from "@microsoft/live-share/internal";
7
+ import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionPlaybackState, MediaSessionCoordinatorSuspension } from "./MediaSessionExtensions.js";
7
8
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
8
- import { IEvent } from "@fluidframework/common-definitions";
9
+ import { IEvent } from "@fluidframework/core-interfaces";
9
10
  /**
10
11
  * Most recent state of the media session.
11
12
  */
@@ -265,7 +266,7 @@ export declare class LiveMediaSessionCoordinator extends TypedEventEmitter<ILive
265
266
  * @hidden
266
267
  * Called by MediaSession to trigger the sending of a position update.
267
268
  */
268
- sendPositionUpdate(state: IMediaPlayerState): void;
269
+ sendPositionUpdate(state: IMediaPlayerState, targetClientId?: string): void;
269
270
  protected createChildren(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void>;
270
271
  private getPlayerPosition;
271
272
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSessionCoordinator.d.ts","sourceRoot":"","sources":["../../src/LiveMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}