@microsoft/live-share-media 1.3.1 → 1.4.1

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 (343) hide show
  1. package/bin/LiveMediaSession.d.ts.map +1 -1
  2. package/bin/LiveMediaSession.js +8 -0
  3. package/bin/LiveMediaSession.js.map +1 -1
  4. package/bin/LiveMediaSessionCoordinator.d.ts +15 -0
  5. package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
  6. package/bin/LiveMediaSessionCoordinator.js +25 -0
  7. package/bin/LiveMediaSessionCoordinator.js.map +1 -1
  8. package/bin/MediaPlayerSynchronizer.d.ts +6 -4
  9. package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
  10. package/bin/MediaPlayerSynchronizer.js +41 -12
  11. package/bin/MediaPlayerSynchronizer.js.map +1 -1
  12. package/bin/MediaSessionExtensions.d.ts +17 -4
  13. package/bin/MediaSessionExtensions.d.ts.map +1 -1
  14. package/bin/MediaSessionExtensions.js +4 -0
  15. package/bin/MediaSessionExtensions.js.map +1 -1
  16. package/bin/cjs/IMediaPlayer.d.ts +21 -0
  17. package/bin/cjs/IMediaPlayer.d.ts.map +1 -0
  18. package/bin/cjs/IMediaPlayer.js +7 -0
  19. package/bin/cjs/IMediaPlayer.js.map +1 -0
  20. package/bin/cjs/LiveMediaSession.d.ts +97 -0
  21. package/bin/cjs/LiveMediaSession.d.ts.map +1 -0
  22. package/bin/cjs/LiveMediaSession.js +261 -0
  23. package/bin/cjs/LiveMediaSession.js.map +1 -0
  24. package/bin/cjs/LiveMediaSessionCoordinator.d.ts +304 -0
  25. package/bin/cjs/LiveMediaSessionCoordinator.d.ts.map +1 -0
  26. package/bin/cjs/LiveMediaSessionCoordinator.js +560 -0
  27. package/bin/cjs/LiveMediaSessionCoordinator.js.map +1 -0
  28. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
  29. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  30. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.js +28 -0
  31. package/bin/cjs/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  32. package/bin/cjs/MediaPlayerSynchronizer.d.ts +204 -0
  33. package/bin/cjs/MediaPlayerSynchronizer.d.ts.map +1 -0
  34. package/bin/cjs/MediaPlayerSynchronizer.js +574 -0
  35. package/bin/cjs/MediaPlayerSynchronizer.js.map +1 -0
  36. package/bin/cjs/MediaSessionActionThrottler.d.ts +12 -0
  37. package/bin/cjs/MediaSessionActionThrottler.d.ts.map +1 -0
  38. package/bin/cjs/MediaSessionActionThrottler.js +14 -0
  39. package/bin/cjs/MediaSessionActionThrottler.js.map +1 -0
  40. package/bin/cjs/MediaSessionExtensions.d.ts +177 -0
  41. package/bin/cjs/MediaSessionExtensions.d.ts.map +1 -0
  42. package/bin/cjs/MediaSessionExtensions.js +26 -0
  43. package/bin/cjs/MediaSessionExtensions.js.map +1 -0
  44. package/bin/cjs/RepeatedActionThrottler.d.ts +20 -0
  45. package/bin/cjs/RepeatedActionThrottler.d.ts.map +1 -0
  46. package/bin/cjs/RepeatedActionThrottler.js +63 -0
  47. package/bin/cjs/RepeatedActionThrottler.js.map +1 -0
  48. package/bin/cjs/VolumeManager.d.ts +84 -0
  49. package/bin/cjs/VolumeManager.d.ts.map +1 -0
  50. package/bin/cjs/VolumeManager.js +175 -0
  51. package/bin/cjs/VolumeManager.js.map +1 -0
  52. package/bin/cjs/index.d.ts +14 -0
  53. package/bin/cjs/index.d.ts.map +1 -0
  54. package/bin/cjs/index.js +30 -0
  55. package/bin/cjs/index.js.map +1 -0
  56. package/bin/cjs/internals/GroupCoordinatorState.d.ts +110 -0
  57. package/bin/cjs/internals/GroupCoordinatorState.d.ts.map +1 -0
  58. package/bin/cjs/internals/GroupCoordinatorState.js +516 -0
  59. package/bin/cjs/internals/GroupCoordinatorState.js.map +1 -0
  60. package/bin/cjs/internals/GroupPlaybackPosition.d.ts +71 -0
  61. package/bin/cjs/internals/GroupPlaybackPosition.d.ts.map +1 -0
  62. package/bin/cjs/internals/GroupPlaybackPosition.js +170 -0
  63. package/bin/cjs/internals/GroupPlaybackPosition.js.map +1 -0
  64. package/bin/cjs/internals/GroupPlaybackRate.d.ts +38 -0
  65. package/bin/cjs/internals/GroupPlaybackRate.d.ts.map +1 -0
  66. package/bin/cjs/internals/GroupPlaybackRate.js +59 -0
  67. package/bin/cjs/internals/GroupPlaybackRate.js.map +1 -0
  68. package/bin/cjs/internals/GroupPlaybackTrack.d.ts +45 -0
  69. package/bin/cjs/internals/GroupPlaybackTrack.d.ts.map +1 -0
  70. package/bin/cjs/internals/GroupPlaybackTrack.js +122 -0
  71. package/bin/cjs/internals/GroupPlaybackTrack.js.map +1 -0
  72. package/bin/cjs/internals/GroupPlaybackTrackData.d.ts +40 -0
  73. package/bin/cjs/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  74. package/bin/cjs/internals/GroupPlaybackTrackData.js +70 -0
  75. package/bin/cjs/internals/GroupPlaybackTrackData.js.map +1 -0
  76. package/bin/cjs/internals/GroupTransportState.d.ts +52 -0
  77. package/bin/cjs/internals/GroupTransportState.d.ts.map +1 -0
  78. package/bin/cjs/internals/GroupTransportState.js +120 -0
  79. package/bin/cjs/internals/GroupTransportState.js.map +1 -0
  80. package/bin/cjs/internals/PriorityTimeInterval.d.ts +33 -0
  81. package/bin/cjs/internals/PriorityTimeInterval.d.ts.map +1 -0
  82. package/bin/cjs/internals/PriorityTimeInterval.js +45 -0
  83. package/bin/cjs/internals/PriorityTimeInterval.js.map +1 -0
  84. package/bin/cjs/internals/consts.d.ts +83 -0
  85. package/bin/cjs/internals/consts.d.ts.map +1 -0
  86. package/bin/cjs/internals/consts.js +92 -0
  87. package/bin/cjs/internals/consts.js.map +1 -0
  88. package/bin/cjs/internals/errors.d.ts +17 -0
  89. package/bin/cjs/internals/errors.d.ts.map +1 -0
  90. package/bin/cjs/internals/errors.js +34 -0
  91. package/bin/cjs/internals/errors.js.map +1 -0
  92. package/bin/cjs/internals/interfaces.d.ts +23 -0
  93. package/bin/cjs/internals/interfaces.d.ts.map +1 -0
  94. package/bin/cjs/internals/interfaces.js +3 -0
  95. package/bin/cjs/internals/interfaces.js.map +1 -0
  96. package/bin/cjs/package.json +1 -0
  97. package/bin/esm/IMediaPlayer.d.ts +21 -0
  98. package/bin/esm/IMediaPlayer.d.ts.map +1 -0
  99. package/bin/esm/IMediaPlayer.js +6 -0
  100. package/bin/esm/IMediaPlayer.js.map +1 -0
  101. package/bin/esm/LiveMediaSession.d.ts +97 -0
  102. package/bin/esm/LiveMediaSession.d.ts.map +1 -0
  103. package/bin/esm/LiveMediaSession.js +257 -0
  104. package/bin/esm/LiveMediaSession.js.map +1 -0
  105. package/bin/esm/LiveMediaSessionCoordinator.d.ts +304 -0
  106. package/bin/esm/LiveMediaSessionCoordinator.d.ts.map +1 -0
  107. package/bin/esm/LiveMediaSessionCoordinator.js +556 -0
  108. package/bin/esm/LiveMediaSessionCoordinator.js.map +1 -0
  109. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
  110. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  111. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js +24 -0
  112. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  113. package/bin/esm/MediaPlayerSynchronizer.d.ts +204 -0
  114. package/bin/esm/MediaPlayerSynchronizer.d.ts.map +1 -0
  115. package/bin/esm/MediaPlayerSynchronizer.js +570 -0
  116. package/bin/esm/MediaPlayerSynchronizer.js.map +1 -0
  117. package/bin/esm/MediaSessionActionThrottler.d.ts +12 -0
  118. package/bin/esm/MediaSessionActionThrottler.d.ts.map +1 -0
  119. package/bin/esm/MediaSessionActionThrottler.js +10 -0
  120. package/bin/esm/MediaSessionActionThrottler.js.map +1 -0
  121. package/bin/esm/MediaSessionExtensions.d.ts +177 -0
  122. package/bin/esm/MediaSessionExtensions.d.ts.map +1 -0
  123. package/bin/esm/MediaSessionExtensions.js +23 -0
  124. package/bin/esm/MediaSessionExtensions.js.map +1 -0
  125. package/bin/esm/RepeatedActionThrottler.d.ts +20 -0
  126. package/bin/esm/RepeatedActionThrottler.d.ts.map +1 -0
  127. package/bin/esm/RepeatedActionThrottler.js +59 -0
  128. package/bin/esm/RepeatedActionThrottler.js.map +1 -0
  129. package/bin/esm/VolumeManager.d.ts +84 -0
  130. package/bin/esm/VolumeManager.d.ts.map +1 -0
  131. package/bin/esm/VolumeManager.js +171 -0
  132. package/bin/esm/VolumeManager.js.map +1 -0
  133. package/bin/esm/index.d.ts +14 -0
  134. package/bin/esm/index.d.ts.map +1 -0
  135. package/bin/esm/index.js +14 -0
  136. package/bin/esm/index.js.map +1 -0
  137. package/bin/esm/internals/GroupCoordinatorState.d.ts +110 -0
  138. package/bin/esm/internals/GroupCoordinatorState.d.ts.map +1 -0
  139. package/bin/esm/internals/GroupCoordinatorState.js +512 -0
  140. package/bin/esm/internals/GroupCoordinatorState.js.map +1 -0
  141. package/bin/esm/internals/GroupPlaybackPosition.d.ts +71 -0
  142. package/bin/esm/internals/GroupPlaybackPosition.d.ts.map +1 -0
  143. package/bin/esm/internals/GroupPlaybackPosition.js +166 -0
  144. package/bin/esm/internals/GroupPlaybackPosition.js.map +1 -0
  145. package/bin/esm/internals/GroupPlaybackRate.d.ts +38 -0
  146. package/bin/esm/internals/GroupPlaybackRate.d.ts.map +1 -0
  147. package/bin/esm/internals/GroupPlaybackRate.js +55 -0
  148. package/bin/esm/internals/GroupPlaybackRate.js.map +1 -0
  149. package/bin/esm/internals/GroupPlaybackTrack.d.ts +45 -0
  150. package/bin/esm/internals/GroupPlaybackTrack.d.ts.map +1 -0
  151. package/bin/esm/internals/GroupPlaybackTrack.js +118 -0
  152. package/bin/esm/internals/GroupPlaybackTrack.js.map +1 -0
  153. package/bin/esm/internals/GroupPlaybackTrackData.d.ts +40 -0
  154. package/bin/esm/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  155. package/bin/esm/internals/GroupPlaybackTrackData.js +66 -0
  156. package/bin/esm/internals/GroupPlaybackTrackData.js.map +1 -0
  157. package/bin/esm/internals/GroupTransportState.d.ts +52 -0
  158. package/bin/esm/internals/GroupTransportState.d.ts.map +1 -0
  159. package/bin/esm/internals/GroupTransportState.js +116 -0
  160. package/bin/esm/internals/GroupTransportState.js.map +1 -0
  161. package/bin/esm/internals/PriorityTimeInterval.d.ts +33 -0
  162. package/bin/esm/internals/PriorityTimeInterval.d.ts.map +1 -0
  163. package/bin/esm/internals/PriorityTimeInterval.js +41 -0
  164. package/bin/esm/internals/PriorityTimeInterval.js.map +1 -0
  165. package/bin/esm/internals/consts.d.ts +83 -0
  166. package/bin/esm/internals/consts.d.ts.map +1 -0
  167. package/bin/esm/internals/consts.js +89 -0
  168. package/bin/esm/internals/consts.js.map +1 -0
  169. package/bin/esm/internals/errors.d.ts +17 -0
  170. package/bin/esm/internals/errors.d.ts.map +1 -0
  171. package/bin/esm/internals/errors.js +29 -0
  172. package/bin/esm/internals/errors.js.map +1 -0
  173. package/bin/esm/internals/interfaces.d.ts +23 -0
  174. package/bin/esm/internals/interfaces.d.ts.map +1 -0
  175. package/bin/esm/internals/interfaces.js +2 -0
  176. package/bin/esm/internals/interfaces.js.map +1 -0
  177. package/bin/internals/GroupCoordinatorState.d.ts +15 -1
  178. package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
  179. package/bin/internals/GroupCoordinatorState.js +123 -57
  180. package/bin/internals/GroupCoordinatorState.js.map +1 -1
  181. package/bin/internals/GroupPlaybackPosition.d.ts +3 -1
  182. package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
  183. package/bin/internals/GroupPlaybackPosition.js +7 -3
  184. package/bin/internals/GroupPlaybackPosition.js.map +1 -1
  185. package/bin/internals/GroupPlaybackRate.d.ts +39 -0
  186. package/bin/internals/GroupPlaybackRate.d.ts.map +1 -0
  187. package/bin/internals/GroupPlaybackRate.js +62 -0
  188. package/bin/internals/GroupPlaybackRate.js.map +1 -0
  189. package/bin/internals/GroupPlaybackTrack.d.ts +2 -2
  190. package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
  191. package/bin/internals/GroupPlaybackTrack.js +3 -2
  192. package/bin/internals/GroupPlaybackTrack.js.map +1 -1
  193. package/bin/internals/GroupPlaybackTrackData.d.ts +3 -3
  194. package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
  195. package/bin/internals/GroupPlaybackTrackData.js +12 -11
  196. package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
  197. package/bin/internals/GroupTransportState.d.ts +6 -3
  198. package/bin/internals/GroupTransportState.d.ts.map +1 -1
  199. package/bin/internals/GroupTransportState.js +16 -11
  200. package/bin/internals/GroupTransportState.js.map +1 -1
  201. package/bin/internals/consts.d.ts +8 -1
  202. package/bin/internals/consts.d.ts.map +1 -1
  203. package/bin/internals/consts.js +8 -1
  204. package/bin/internals/consts.js.map +1 -1
  205. package/bin/internals/index.d.ts +1 -0
  206. package/bin/internals/index.d.ts.map +1 -1
  207. package/bin/internals/index.js +1 -0
  208. package/bin/internals/index.js.map +1 -1
  209. package/bin/internals/interfaces.d.ts +10 -0
  210. package/bin/internals/interfaces.d.ts.map +1 -0
  211. package/bin/internals/interfaces.js +3 -0
  212. package/bin/internals/interfaces.js.map +1 -0
  213. package/bin/test/IMediaPlayer.d.ts +21 -0
  214. package/bin/test/IMediaPlayer.d.ts.map +1 -0
  215. package/bin/test/IMediaPlayer.js +7 -0
  216. package/bin/test/IMediaPlayer.js.map +1 -0
  217. package/bin/test/LiveMediaSession.d.ts +97 -0
  218. package/bin/test/LiveMediaSession.d.ts.map +1 -0
  219. package/bin/test/LiveMediaSession.js +261 -0
  220. package/bin/test/LiveMediaSession.js.map +1 -0
  221. package/bin/test/LiveMediaSessionCoordinator.d.ts +304 -0
  222. package/bin/test/LiveMediaSessionCoordinator.d.ts.map +1 -0
  223. package/bin/test/LiveMediaSessionCoordinator.js +560 -0
  224. package/bin/test/LiveMediaSessionCoordinator.js.map +1 -0
  225. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
  226. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  227. package/bin/test/LiveMediaSessionCoordinatorSuspension.js +28 -0
  228. package/bin/test/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  229. package/bin/test/MediaPlayerSynchronizer.d.ts +204 -0
  230. package/bin/test/MediaPlayerSynchronizer.d.ts.map +1 -0
  231. package/bin/test/MediaPlayerSynchronizer.js +574 -0
  232. package/bin/test/MediaPlayerSynchronizer.js.map +1 -0
  233. package/bin/test/MediaSessionActionThrottler.d.ts +12 -0
  234. package/bin/test/MediaSessionActionThrottler.d.ts.map +1 -0
  235. package/bin/test/MediaSessionActionThrottler.js +14 -0
  236. package/bin/test/MediaSessionActionThrottler.js.map +1 -0
  237. package/bin/test/MediaSessionExtensions.d.ts +177 -0
  238. package/bin/test/MediaSessionExtensions.d.ts.map +1 -0
  239. package/bin/test/MediaSessionExtensions.js +26 -0
  240. package/bin/test/MediaSessionExtensions.js.map +1 -0
  241. package/bin/test/RepeatedActionThrottler.d.ts +20 -0
  242. package/bin/test/RepeatedActionThrottler.d.ts.map +1 -0
  243. package/bin/test/RepeatedActionThrottler.js +63 -0
  244. package/bin/test/RepeatedActionThrottler.js.map +1 -0
  245. package/bin/test/VolumeManager.d.ts +84 -0
  246. package/bin/test/VolumeManager.d.ts.map +1 -0
  247. package/bin/test/VolumeManager.js +175 -0
  248. package/bin/test/VolumeManager.js.map +1 -0
  249. package/bin/test/index.d.ts +14 -0
  250. package/bin/test/index.d.ts.map +1 -0
  251. package/bin/test/index.js +30 -0
  252. package/bin/test/index.js.map +1 -0
  253. package/bin/test/internals/GroupCoordinatorState.d.ts +110 -0
  254. package/bin/test/internals/GroupCoordinatorState.d.ts.map +1 -0
  255. package/bin/test/internals/GroupCoordinatorState.js +516 -0
  256. package/bin/test/internals/GroupCoordinatorState.js.map +1 -0
  257. package/bin/test/internals/GroupPlaybackPosition.d.ts +71 -0
  258. package/bin/test/internals/GroupPlaybackPosition.d.ts.map +1 -0
  259. package/bin/test/internals/GroupPlaybackPosition.js +170 -0
  260. package/bin/test/internals/GroupPlaybackPosition.js.map +1 -0
  261. package/bin/test/internals/GroupPlaybackRate.d.ts +38 -0
  262. package/bin/test/internals/GroupPlaybackRate.d.ts.map +1 -0
  263. package/bin/test/internals/GroupPlaybackRate.js +59 -0
  264. package/bin/test/internals/GroupPlaybackRate.js.map +1 -0
  265. package/bin/test/internals/GroupPlaybackTrack.d.ts +45 -0
  266. package/bin/test/internals/GroupPlaybackTrack.d.ts.map +1 -0
  267. package/bin/test/internals/GroupPlaybackTrack.js +122 -0
  268. package/bin/test/internals/GroupPlaybackTrack.js.map +1 -0
  269. package/bin/test/internals/GroupPlaybackTrackData.d.ts +40 -0
  270. package/bin/test/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  271. package/bin/test/internals/GroupPlaybackTrackData.js +70 -0
  272. package/bin/test/internals/GroupPlaybackTrackData.js.map +1 -0
  273. package/bin/test/internals/GroupTransportState.d.ts +52 -0
  274. package/bin/test/internals/GroupTransportState.d.ts.map +1 -0
  275. package/bin/test/internals/GroupTransportState.js +120 -0
  276. package/bin/test/internals/GroupTransportState.js.map +1 -0
  277. package/bin/test/internals/PriorityTimeInterval.d.ts +33 -0
  278. package/bin/test/internals/PriorityTimeInterval.d.ts.map +1 -0
  279. package/bin/test/internals/PriorityTimeInterval.js +45 -0
  280. package/bin/test/internals/PriorityTimeInterval.js.map +1 -0
  281. package/bin/test/internals/consts.d.ts +83 -0
  282. package/bin/test/internals/consts.d.ts.map +1 -0
  283. package/bin/test/internals/consts.js +92 -0
  284. package/bin/test/internals/consts.js.map +1 -0
  285. package/bin/test/internals/errors.d.ts +17 -0
  286. package/bin/test/internals/errors.d.ts.map +1 -0
  287. package/bin/test/internals/errors.js +34 -0
  288. package/bin/test/internals/errors.js.map +1 -0
  289. package/bin/test/internals/interfaces.d.ts +23 -0
  290. package/bin/test/internals/interfaces.d.ts.map +1 -0
  291. package/bin/test/internals/interfaces.js +3 -0
  292. package/bin/test/internals/interfaces.js.map +1 -0
  293. package/bin/test/package.json +1 -0
  294. package/bin/test/test/GroupPlaybackPosition.spec.d.ts +6 -0
  295. package/bin/test/test/GroupPlaybackPosition.spec.d.ts.map +1 -0
  296. package/bin/test/test/GroupPlaybackPosition.spec.js +315 -0
  297. package/bin/test/test/GroupPlaybackPosition.spec.js.map +1 -0
  298. package/bin/test/test/GroupPlaybackRate.spec.d.ts +6 -0
  299. package/bin/test/test/GroupPlaybackRate.spec.d.ts.map +1 -0
  300. package/bin/test/test/GroupPlaybackRate.spec.js +47 -0
  301. package/bin/test/test/GroupPlaybackRate.spec.js.map +1 -0
  302. package/bin/test/test/GroupPlaybackTrack.spec.d.ts +6 -0
  303. package/bin/test/test/GroupPlaybackTrack.spec.d.ts.map +1 -0
  304. package/bin/test/test/GroupPlaybackTrack.spec.js +171 -0
  305. package/bin/test/test/GroupPlaybackTrack.spec.js.map +1 -0
  306. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts +6 -0
  307. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts.map +1 -0
  308. package/bin/test/test/GroupPlaybackTrackData.spec.js +63 -0
  309. package/bin/test/test/GroupPlaybackTrackData.spec.js.map +1 -0
  310. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts +6 -0
  311. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts.map +1 -0
  312. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js +323 -0
  313. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js.map +1 -0
  314. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts +6 -0
  315. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts.map +1 -0
  316. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js +669 -0
  317. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js.map +1 -0
  318. package/bin/test/test/PriorityTimeInterval.spec.d.ts +6 -0
  319. package/bin/test/test/PriorityTimeInterval.spec.d.ts.map +1 -0
  320. package/bin/test/test/PriorityTimeInterval.spec.js +67 -0
  321. package/bin/test/test/PriorityTimeInterval.spec.js.map +1 -0
  322. package/bin/test/test/TestUtils.d.ts +44 -0
  323. package/bin/test/test/TestUtils.d.ts.map +1 -0
  324. package/bin/test/test/TestUtils.js +116 -0
  325. package/bin/test/test/TestUtils.js.map +1 -0
  326. package/bin/test/test/VolumeManager.spec.d.ts +2 -0
  327. package/bin/test/test/VolumeManager.spec.d.ts.map +1 -0
  328. package/bin/test/test/VolumeManager.spec.js +163 -0
  329. package/bin/test/test/VolumeManager.spec.js.map +1 -0
  330. package/package.json +3 -3
  331. package/src/LiveMediaSession.ts +12 -0
  332. package/src/LiveMediaSessionCoordinator.ts +49 -0
  333. package/src/MediaPlayerSynchronizer.ts +55 -15
  334. package/src/MediaSessionExtensions.ts +18 -2
  335. package/src/internals/GroupCoordinatorState.ts +196 -79
  336. package/src/internals/GroupPlaybackPosition.ts +9 -2
  337. package/src/internals/GroupPlaybackRate.ts +90 -0
  338. package/src/internals/GroupPlaybackTrack.ts +5 -4
  339. package/src/internals/GroupPlaybackTrackData.ts +14 -13
  340. package/src/internals/GroupTransportState.ts +21 -12
  341. package/src/internals/consts.ts +14 -2
  342. package/src/internals/index.ts +1 -0
  343. package/src/internals/interfaces.ts +10 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { LiveShareRuntime } from "@microsoft/live-share/internal";
6
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
7
+ import { IMediaPlayerState } from "../LiveMediaSessionCoordinator.js";
8
+ import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
9
+ import { GroupPlaybackTrack } from "./GroupPlaybackTrack.js";
10
+ import { IGenericTypedEvents, IGroupStateEvent } from "./interfaces.js";
11
+ import { GroupPlaybackRate } from "./GroupPlaybackRate.js";
12
+ /**
13
+ * @hidden
14
+ */
15
+ export interface ITransportState {
16
+ playbackState: ExtendedMediaSessionPlaybackState;
17
+ startPosition: number;
18
+ timestamp: number;
19
+ clientId: string;
20
+ }
21
+ /**
22
+ * @hidden
23
+ */
24
+ export declare enum GroupTransportStateEvents {
25
+ transportStateChange = "transportStateChange"
26
+ }
27
+ /**
28
+ * @hidden
29
+ */
30
+ export interface ITransportStateChangeEvent extends IGroupStateEvent {
31
+ action: ExtendedMediaSessionAction;
32
+ seekTime?: number;
33
+ }
34
+ /**
35
+ * @hidden
36
+ */
37
+ export declare class GroupTransportState extends TypedEventEmitter<IGenericTypedEvents> {
38
+ private readonly _getMediaPlayerState;
39
+ private _track;
40
+ private _playbackRate;
41
+ private readonly _liveRuntime;
42
+ private _current;
43
+ constructor(track: GroupPlaybackTrack, playbackRate: GroupPlaybackRate, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
44
+ get current(): Readonly<ITransportState>;
45
+ get playbackState(): ExtendedMediaSessionPlaybackState;
46
+ get startPosition(): number;
47
+ get timestamp(): number;
48
+ get track(): GroupPlaybackTrack;
49
+ compare(state: ITransportState): boolean;
50
+ updateState(state: ITransportState, source: ExtendedMediaSessionActionSource): boolean;
51
+ }
52
+ //# sourceMappingURL=GroupTransportState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,kBAAkB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,iCAAiC,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,yBAAyB;IACjC,oBAAoB,yBAAyB;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAChE,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IAC3E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAkB;gBAG9B,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,iBAAiB,EAC/B,mBAAmB,EAAE,MAAM,iBAAiB,EAC5C,WAAW,EAAE,gBAAgB;IA0BjC,IAAW,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE9C;IAED,IAAW,aAAa,IAAI,iCAAiC,CAE5D;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,KAAK,IAAI,kBAAkB,CAErC;IAEM,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAOxC,WAAW,CACd,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CA+Db"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
+ import { GroupPlaybackTrackEvents, } from "./GroupPlaybackTrack.js";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export var GroupTransportStateEvents;
11
+ (function (GroupTransportStateEvents) {
12
+ GroupTransportStateEvents["transportStateChange"] = "transportStateChange";
13
+ })(GroupTransportStateEvents || (GroupTransportStateEvents = {}));
14
+ /**
15
+ * @hidden
16
+ */
17
+ export class GroupTransportState extends TypedEventEmitter {
18
+ constructor(track, playbackRate, getMediaPlayerState, liveRuntime) {
19
+ super();
20
+ this._liveRuntime = liveRuntime;
21
+ this._getMediaPlayerState = getMediaPlayerState;
22
+ this._track = track;
23
+ this._playbackRate = playbackRate;
24
+ this._current = {
25
+ playbackState: "none",
26
+ startPosition: 0.0,
27
+ timestamp: 0,
28
+ clientId: "",
29
+ };
30
+ // Listen for track changes
31
+ this._track.on(GroupPlaybackTrackEvents.trackChange, () => {
32
+ // Track changed so reset state to stopped ad position 0.0
33
+ this._current = {
34
+ playbackState: "none",
35
+ startPosition: 0.0,
36
+ timestamp: this._track.current.timestamp,
37
+ clientId: this._track.current.clientId,
38
+ };
39
+ });
40
+ }
41
+ get current() {
42
+ return this._current;
43
+ }
44
+ get playbackState() {
45
+ return this.current.playbackState;
46
+ }
47
+ get startPosition() {
48
+ return this.current.startPosition;
49
+ }
50
+ get timestamp() {
51
+ return this.current.timestamp;
52
+ }
53
+ get track() {
54
+ return this._track;
55
+ }
56
+ compare(state) {
57
+ return (this.current.playbackState == state.playbackState &&
58
+ this.current.startPosition == state.startPosition);
59
+ }
60
+ updateState(state, source) {
61
+ // Ignore if same playback state and start position
62
+ if (this.compare(state)) {
63
+ return false;
64
+ }
65
+ // Ignore state changes that are older
66
+ const originalState = this.current;
67
+ if (state.timestamp < originalState.timestamp) {
68
+ return false;
69
+ }
70
+ // Ignore state changes that have the same timestamp and the clientId sorts higher.
71
+ if (state.timestamp == originalState.timestamp &&
72
+ state.clientId.localeCompare(originalState.clientId) > 0) {
73
+ return false;
74
+ }
75
+ // Update playback state
76
+ this._current = state;
77
+ // Trigger transport change
78
+ const playerState = this._getMediaPlayerState().playbackState;
79
+ if (originalState.playbackState == state.playbackState &&
80
+ playerState != "ended") {
81
+ const event = {
82
+ name: GroupTransportStateEvents.transportStateChange,
83
+ action: "seekto",
84
+ clientId: state.clientId,
85
+ seekTime: state.startPosition,
86
+ source,
87
+ };
88
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
89
+ }
90
+ else if (state.playbackState == "playing") {
91
+ const now = this._liveRuntime.getTimestamp();
92
+ const projectedPosition = state.startPosition +
93
+ ((now - state.timestamp) / 1000) * this._playbackRate.rate;
94
+ const event = {
95
+ name: GroupTransportStateEvents.transportStateChange,
96
+ action: "play",
97
+ clientId: state.clientId,
98
+ seekTime: projectedPosition,
99
+ source,
100
+ };
101
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
102
+ }
103
+ else {
104
+ const event = {
105
+ name: GroupTransportStateEvents.transportStateChange,
106
+ action: "pause",
107
+ clientId: state.clientId,
108
+ seekTime: state.startPosition,
109
+ source,
110
+ };
111
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
112
+ }
113
+ return true;
114
+ }
115
+ }
116
+ //# sourceMappingURL=GroupTransportState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { TimeInterval } from "@microsoft/live-share";
2
+ /**
3
+ * @hidden
4
+ * Time interval that can scale based on a scaling function.
5
+ */
6
+ export declare class PriorityTimeInterval extends TimeInterval {
7
+ /**
8
+ * If true, local user has priority and will have the lowest possible millesecond value.
9
+ */
10
+ hasPriority: boolean;
11
+ /**
12
+ * If true, milliseconds will be scaled when {@link hasPriority} is false.
13
+ */
14
+ shouldPrioritize: boolean;
15
+ /**
16
+ * Function to get the scale ratio.
17
+ */
18
+ private getScaleBy;
19
+ /**
20
+ * Time interval that can scale based on a scaling function.
21
+ *
22
+ * @param defaultMilliseconds the default minimum milliseconds
23
+ * @param getScaleByFn a function to scale the milliseconds by when {@link hasPriority} is false and {@link shouldPrioritize} is true.
24
+ * @param defaultHasPriority the default {@link hasPriority} value
25
+ * @param defaultShouldPrioritize the default {@link shouldPrioritize} value
26
+ */
27
+ constructor(defaultMilliseconds: number, getScaleByFn: () => number, defaultHasPriority?: boolean, defaultShouldPrioritize?: boolean);
28
+ get milliseconds(): number;
29
+ set milliseconds(value: number);
30
+ get minMilliseconds(): number;
31
+ get maxMilliseconds(): number;
32
+ }
33
+ //# sourceMappingURL=PriorityTimeInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriorityTimeInterval.d.ts","sourceRoot":"","sources":["../../../src/internals/PriorityTimeInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAarD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IAClD;;OAEG;IACI,WAAW,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACI,gBAAgB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAe;IACjC;;;;;;;OAOG;gBAEC,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,MAAM,EAC1B,kBAAkB,GAAE,OAAe,EACnC,uBAAuB,GAAE,OAAc;IAQ3C,IAAW,YAAY,IAAI,MAAM,CAOhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAEpC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,eAAe,IAAI,MAAM,CAOnC;CACJ"}
@@ -0,0 +1,41 @@
1
+ import { TimeInterval } from "@microsoft/live-share";
2
+ function getScaledPriorityTimeMs(minMilliseconds, hasPriority, shouldPrioritize, scaleBy) {
3
+ if (!shouldPrioritize)
4
+ return minMilliseconds;
5
+ if (hasPriority)
6
+ return minMilliseconds;
7
+ return minMilliseconds * scaleBy;
8
+ }
9
+ /**
10
+ * @hidden
11
+ * Time interval that can scale based on a scaling function.
12
+ */
13
+ export class PriorityTimeInterval extends TimeInterval {
14
+ /**
15
+ * Time interval that can scale based on a scaling function.
16
+ *
17
+ * @param defaultMilliseconds the default minimum milliseconds
18
+ * @param getScaleByFn a function to scale the milliseconds by when {@link hasPriority} is false and {@link shouldPrioritize} is true.
19
+ * @param defaultHasPriority the default {@link hasPriority} value
20
+ * @param defaultShouldPrioritize the default {@link shouldPrioritize} value
21
+ */
22
+ constructor(defaultMilliseconds, getScaleByFn, defaultHasPriority = false, defaultShouldPrioritize = true) {
23
+ super(defaultMilliseconds);
24
+ this.hasPriority = defaultHasPriority;
25
+ this.shouldPrioritize = defaultShouldPrioritize;
26
+ this.getScaleBy = getScaleByFn;
27
+ }
28
+ get milliseconds() {
29
+ return getScaledPriorityTimeMs(this._milliseconds, this.hasPriority, this.shouldPrioritize, this.getScaleBy());
30
+ }
31
+ set milliseconds(value) {
32
+ this._milliseconds = value;
33
+ }
34
+ get minMilliseconds() {
35
+ return this._milliseconds;
36
+ }
37
+ get maxMilliseconds() {
38
+ return getScaledPriorityTimeMs(this._milliseconds, false, this.shouldPrioritize, this.getScaleBy());
39
+ }
40
+ }
41
+ //# sourceMappingURL=PriorityTimeInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriorityTimeInterval.js","sourceRoot":"","sources":["../../../src/internals/PriorityTimeInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,SAAS,uBAAuB,CAC5B,eAAuB,EACvB,WAAoB,EACpB,gBAAyB,EACzB,OAAe;IAEf,IAAI,CAAC,gBAAgB;QAAE,OAAO,eAAe,CAAC;IAC9C,IAAI,WAAW;QAAE,OAAO,eAAe,CAAC;IACxC,OAAO,eAAe,GAAG,OAAO,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAalD;;;;;;;OAOG;IACH,YACI,mBAA2B,EAC3B,YAA0B,EAC1B,qBAA8B,KAAK,EACnC,0BAAmC,IAAI;QAEvC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,uBAAuB,CAC1B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,EAAE,CACpB,CAAC;IACN,CAAC;IAED,IAAW,YAAY,CAAC,KAAa;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,uBAAuB,CAC1B,IAAI,CAAC,aAAa,EAClB,KAAK,EACL,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,EAAE,CACpB,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ /**
6
+ * @hidden
7
+ * List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
8
+ * the telemetry service.
9
+ */
10
+ export declare const TelemetryEvents: {
11
+ MediaPlayerSynchronizer: {
12
+ SynchronizationStarted: string;
13
+ PlayerEvent: string;
14
+ PlayAction: string;
15
+ PauseAction: string;
16
+ SeekToAction: string;
17
+ RateChangeAction: string;
18
+ CatchupAction: string;
19
+ SetTrackAction: string;
20
+ DataChangeAction: string;
21
+ UserTappedVideoToPlay: string;
22
+ UserTappedVideoToPlayError: string;
23
+ PlayerBlockedOperation: string;
24
+ SeekingPlayerToStartPosition: string;
25
+ BeginSeekCalled: string;
26
+ EndSeekCalled: string;
27
+ PlayCalled: string;
28
+ PauseCalled: string;
29
+ SeekToCalled: string;
30
+ RateChangeCalled: string;
31
+ SetTrackCalled: string;
32
+ SetTrackDataCalled: string;
33
+ };
34
+ MediaSession: {
35
+ PlayAction: string;
36
+ PauseAction: string;
37
+ SeekToAction: string;
38
+ RateChangeAction: string;
39
+ CatchUpAction: string;
40
+ SetTrackAction: string;
41
+ DataChangeAction: string;
42
+ BeginPositionUpdateTimer: string;
43
+ };
44
+ SessionCoordinator: {
45
+ PlayCalled: string;
46
+ PauseCalled: string;
47
+ SeekToCalled: string;
48
+ SetPlaybackRateCalled: string;
49
+ SetTrackCalled: string;
50
+ SetTrackDataCalled: string;
51
+ BeginSuspension: string;
52
+ BeginSuspensionAndWait: string;
53
+ EndSuspension: string;
54
+ EndSuspensionAndWait: string;
55
+ RemoteConnectReceived: string;
56
+ RemoteSetTrackReceived: string;
57
+ RemoteSetTrackDataReceived: string;
58
+ RemotePlayReceived: string;
59
+ RemotePauseReceived: string;
60
+ RemoteSeekToReceived: string;
61
+ RemoteRateChangeReceived: string;
62
+ PositionUpdateEventError: string;
63
+ LiveObjectSynchronizerStartError: string;
64
+ };
65
+ GroupCoordinator: {
66
+ TrackChanged: string;
67
+ TrackChangeDelayed: string;
68
+ TrackDataChanged: string;
69
+ TrackDataChangeDelayed: string;
70
+ TransportStateChanged: string;
71
+ TransportStateChangeDelayed: string;
72
+ PlaybackRateChanged: string;
73
+ PlaybackRateChangedDelayed: string;
74
+ BeginSoftSuspension: string;
75
+ CheckingForSyncIssues: string;
76
+ TrackOutOfSync: string;
77
+ TrackDataOutOfSync: string;
78
+ TransportOutOfSync: string;
79
+ PositionOutOfSync: string;
80
+ PlaybackRateOutOfSync: string;
81
+ };
82
+ };
83
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG3B,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ /**
6
+ * @hidden
7
+ * List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
8
+ * the telemetry service.
9
+ */
10
+ export const TelemetryEvents = {
11
+ MediaPlayerSynchronizer: {
12
+ SynchronizationStarted: "MediaPlayerSynchronizer:SynchronizationStarted",
13
+ PlayerEvent: "MediaPlayerSynchronizer:PlayerEvent",
14
+ PlayAction: "MediaPlayerSynchronizer:PlayAction",
15
+ PauseAction: "MediaPlayerSynchronizer:PauseAction",
16
+ SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
17
+ RateChangeAction: "MediaPlayerSynchronizer:RateChangeAction",
18
+ CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
19
+ SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
20
+ DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
21
+ UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
22
+ UserTappedVideoToPlayError: "MediaPlayerSynchronizer:UserTappedVideoToPlayError",
23
+ PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
24
+ SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
25
+ BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
26
+ EndSeekCalled: "MediaPlayerSynchronizer:EndSeekCalled",
27
+ PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
28
+ PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
29
+ SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
30
+ RateChangeCalled: "MediaSession:RateChangeCalled",
31
+ SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
32
+ SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
33
+ },
34
+ MediaSession: {
35
+ PlayAction: transmit("MediaSession:PlayAction"),
36
+ PauseAction: transmit("MediaSession:PauseAction"),
37
+ SeekToAction: transmit("MediaSession:SeekToAction"),
38
+ RateChangeAction: transmit("MediaSession:RateChangeAction"),
39
+ CatchUpAction: transmit("MediaSession:CatchUpAction"),
40
+ SetTrackAction: transmit("MediaSession:SetTrackAction"),
41
+ DataChangeAction: "MediaSession:DataChangeAction",
42
+ BeginPositionUpdateTimer: "MediaSession:BeginPositionUpdateTimer",
43
+ },
44
+ SessionCoordinator: {
45
+ PlayCalled: transmit("SessionCoordinator:PlayCalled"),
46
+ PauseCalled: transmit("SessionCoordinator:PauseCalled"),
47
+ SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
48
+ SetPlaybackRateCalled: transmit("SessionCoordinator:SetPlaybackRateCalled"),
49
+ SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
50
+ SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
51
+ BeginSuspension: "SessionCoordinator:BeginSuspension",
52
+ BeginSuspensionAndWait: transmit("SessionCoordinator:BeginSuspensionAndWait"),
53
+ EndSuspension: "SessionCoordinator:EndSuspension",
54
+ EndSuspensionAndWait: transmit("SessionCoordinator:EndSuspensionAndWait"),
55
+ RemoteConnectReceived: "SessionCoordinator:RemoteConnectReceived",
56
+ RemoteSetTrackReceived: transmit("SessionCoordinator:RemoteSetTrackReceived"),
57
+ RemoteSetTrackDataReceived: transmit("SessionCoordinator:RemoteSetTrackDataReceived"),
58
+ RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
59
+ RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
60
+ RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
61
+ RemoteRateChangeReceived: transmit("SessionCoordinator:RemoteRateChangeReceived"),
62
+ PositionUpdateEventError: "SessionCoordinator:PositionUpdateEventError",
63
+ LiveObjectSynchronizerStartError: "SessionCoordinator:LiveObjectSynchronizerStartError",
64
+ },
65
+ GroupCoordinator: {
66
+ TrackChanged: "GroupCoordinator:TrackChanged",
67
+ TrackChangeDelayed: "GroupCoordinator:TrackChangeDelayed",
68
+ TrackDataChanged: "GroupCoordinator:TrackDataChanged",
69
+ TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
70
+ TransportStateChanged: "GroupCoordinator:TransportStateChanged",
71
+ TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
72
+ PlaybackRateChanged: "GroupCoordinator:PlaybackRateChanged",
73
+ PlaybackRateChangedDelayed: "GroupCoordinator:PlaybackRateChanged",
74
+ BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
75
+ CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
76
+ TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
77
+ TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
78
+ TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
79
+ PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
80
+ PlaybackRateOutOfSync: transmit("GroupCoordinator:PlaybackRateOutOfSync"),
81
+ },
82
+ };
83
+ /**
84
+ * @hidden
85
+ */
86
+ function transmit(eventName) {
87
+ return `${eventName}#transmit`;
88
+ }
89
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/internals/consts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @hidden
3
+ * Use for operations that are blocked due to the metadata not being set.
4
+ */
5
+ export declare class TrackMetadataNotSetError extends Error {
6
+ constructor(prefix: string, callingFunction: string);
7
+ static assert(condition: boolean, prefix: string, callingFunction: string): asserts condition;
8
+ }
9
+ /**
10
+ * @hidden
11
+ * Use for operations that are blocked due to the metadata not being set.
12
+ */
13
+ export declare class ActionBlockedError extends Error {
14
+ constructor(prefix: string, callingFunction: string, settingName: string);
15
+ static assert(condition: boolean, prefix: string, callingFunction: string, settingName: string): asserts condition;
16
+ }
17
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/internals/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACnC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAMnD,MAAM,CAAC,MAAM,CACT,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,SAAS;CAIvB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC7B,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAMxE,MAAM,CAAC,MAAM,CACT,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS;CAIvB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @hidden
3
+ * Use for operations that are blocked due to the metadata not being set.
4
+ */
5
+ export class TrackMetadataNotSetError extends Error {
6
+ constructor(prefix, callingFunction) {
7
+ super(`${prefix} - called before playback track metadata has been assigned.\nTo fix this error, ensure \`setTrack()\` has been called with the track information before calling \`${callingFunction}()\``);
8
+ }
9
+ static assert(condition, prefix, callingFunction) {
10
+ if (condition)
11
+ return;
12
+ throw new TrackMetadataNotSetError(prefix, callingFunction);
13
+ }
14
+ }
15
+ /**
16
+ * @hidden
17
+ * Use for operations that are blocked due to the metadata not being set.
18
+ */
19
+ export class ActionBlockedError extends Error {
20
+ constructor(prefix, callingFunction, settingName) {
21
+ super(`${prefix} - operation blocked due to \`${settingName}\` being set to false.\nTo fix this error, ensure \`${settingName}\` is true before calling \`${callingFunction}()\`, or set \`${settingName}\` to true. If you are using \`MediaPlayerSynchronizer\`, you can instead use the \`viewOnly\`, which when set to false, it will set \`${settingName}\` value to true.`);
22
+ }
23
+ static assert(condition, prefix, callingFunction, settingName) {
24
+ if (condition)
25
+ return;
26
+ throw new ActionBlockedError(prefix, callingFunction, settingName);
27
+ }
28
+ }
29
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internals/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC/C,YAAY,MAAc,EAAE,eAAuB;QAC/C,KAAK,CACD,GAAG,MAAM,sKAAsK,eAAe,MAAM,CACvM,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CACT,SAAkB,EAClB,MAAc,EACd,eAAuB;QAEvB,IAAI,SAAS;YAAE,OAAO;QACtB,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzC,YAAY,MAAc,EAAE,eAAuB,EAAE,WAAmB;QACpE,KAAK,CACD,GAAG,MAAM,iCAAiC,WAAW,uDAAuD,WAAW,+BAA+B,eAAe,kBAAkB,WAAW,0IAA0I,WAAW,mBAAmB,CAC7W,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CACT,SAAkB,EAClB,MAAc,EACd,eAAuB,EACvB,WAAmB;QAEnB,IAAI,SAAS;YAAE,OAAO;QACtB,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -0,0 +1,23 @@
1
+ import { IEvent } from "@microsoft/live-share";
2
+ import { IEvent as IFluidEvent } from "@fluidframework/core-interfaces";
3
+ import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
4
+ /**
5
+ * @hidden
6
+ */
7
+ export interface IGroupStateEvent extends IEvent {
8
+ clientId: string;
9
+ source: ExtendedMediaSessionActionSource;
10
+ }
11
+ /**
12
+ * @hidden
13
+ */
14
+ export interface IGenericTypedEvents extends IFluidEvent {
15
+ /**
16
+ * Event listener for events emitted
17
+ * @param event update
18
+ * @param listener listener function
19
+ * @param listener.event the event instance
20
+ */
21
+ (event: string, listener: (event: any) => void): void;
22
+ }
23
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/internals/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gCAAgC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACpD;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;CACzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/internals/interfaces.ts"],"names":[],"mappings":""}
@@ -11,6 +11,7 @@ import { GroupTransportState, ITransportState } from "./GroupTransportState";
11
11
  import { GroupPlaybackPosition } from "./GroupPlaybackPosition";
12
12
  import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
13
13
  import { GroupPlaybackTrackData, IPlaybackTrackData } from "./GroupPlaybackTrackData";
14
+ import { GroupPlaybackRate, IPlaybackRate } from "./GroupPlaybackRate";
14
15
  /**
15
16
  * @hidden
16
17
  */
@@ -18,6 +19,7 @@ export interface IPositionUpdateEvent {
18
19
  track: IPlaybackTrack;
19
20
  trackData: IPlaybackTrackData;
20
21
  transport: ITransportState;
22
+ playbackRate: IPlaybackRate;
21
23
  playbackState: ExtendedMediaSessionPlaybackState;
22
24
  position: number;
23
25
  waitPoint?: CoordinationWaitPoint;
@@ -29,6 +31,12 @@ export interface ITransportCommandEvent {
29
31
  track: IPlaybackTrack;
30
32
  position: number;
31
33
  }
34
+ /**
35
+ * @hidden
36
+ */
37
+ export interface IRateChangeCommandEvent {
38
+ playbackRate: number;
39
+ }
32
40
  /**
33
41
  * @hidden
34
42
  */
@@ -53,7 +61,8 @@ export interface ITriggerActionEvent extends IEvent {
53
61
  */
54
62
  export declare enum GroupCoordinatorStateEvents {
55
63
  newwaitpoint = "newwaitpoint",
56
- triggeraction = "triggeraction"
64
+ triggeraction = "triggeraction",
65
+ triggeractionignored = "triggeractionignored"
57
66
  }
58
67
  /**
59
68
  * @hidden
@@ -68,6 +77,7 @@ export declare class GroupCoordinatorState extends EventEmitter {
68
77
  private _playbackTrackData;
69
78
  private _transportState;
70
79
  private _playbackPosition;
80
+ private _playbackRate;
71
81
  private _suspensionCnt;
72
82
  private _waitPoint?;
73
83
  private _lastStateChange;
@@ -77,6 +87,7 @@ export declare class GroupCoordinatorState extends EventEmitter {
77
87
  get playbackTrackData(): GroupPlaybackTrackData;
78
88
  get transportState(): GroupTransportState;
79
89
  get playbackPosition(): GroupPlaybackPosition;
90
+ get playbackRate(): GroupPlaybackRate;
80
91
  get waitingAt(): CoordinationWaitPoint | undefined;
81
92
  get isSuspended(): boolean;
82
93
  get isWaiting(): boolean;
@@ -85,10 +96,13 @@ export declare class GroupCoordinatorState extends EventEmitter {
85
96
  createPositionUpdateEvent(state: IMediaPlayerState): IPositionUpdateEvent;
86
97
  handleSetTrack(event: ILiveEvent<ISetTrackEvent>, local: boolean): void;
87
98
  handleSetTrackData(event: ILiveEvent<ISetTrackDataEvent>, local: boolean): void;
99
+ handleRateChangeCommand(event: ILiveEvent<IRateChangeCommandEvent>, local: boolean): void;
88
100
  handleTransportCommand(event: ILiveEvent<ITransportCommandEvent>, local: boolean): void;
89
101
  handlePositionUpdate(event: ILiveEvent<IPositionUpdateEvent>, local: boolean): void;
90
102
  syncLocalMediaSession(): Promise<void>;
91
103
  private emitSetTrack;
104
+ private emitTriggerActionOrIgnored;
92
105
  private emitTriggerAction;
106
+ private emitTriggerActionIgnored;
93
107
  }
94
108
  //# sourceMappingURL=GroupCoordinatorState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}