@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
@@ -3,10 +3,10 @@
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
5
  /// <reference types="node" />
6
- import { ILiveEvent } from "@microsoft/live-share";
7
6
  import EventEmitter from "events";
8
7
  import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
9
8
  import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
9
+ import { IGroupStateEvent } from "./interfaces";
10
10
  /**
11
11
  * @hidden
12
12
  */
@@ -24,7 +24,7 @@ export declare enum PlaybackTrackDataEvents {
24
24
  /**
25
25
  * @hidden
26
26
  */
27
- export interface IPlaybackTrackDataChangeEvent extends ILiveEvent {
27
+ export interface IPlaybackTrackDataChangeEvent extends IGroupStateEvent {
28
28
  data: object | null;
29
29
  }
30
30
  /**
@@ -36,6 +36,6 @@ export declare class GroupPlaybackTrackData extends EventEmitter {
36
36
  constructor(track: GroupPlaybackTrack);
37
37
  get current(): Readonly<IPlaybackTrackData>;
38
38
  get data(): object | null;
39
- updateData(event: IPlaybackTrackData, source: ExtendedMediaSessionActionSource): boolean;
39
+ updateData(trackData: IPlaybackTrackData, source: ExtendedMediaSessionActionSource): boolean;
40
40
  }
41
41
  //# sourceMappingURL=GroupPlaybackTrackData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,UAAU;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,KAAK,EAAE,kBAAkB;IAgBrC,IAAW,OAAO,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAEjD;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,IAAI,CAE/B;IAEM,UAAU,CACb,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CAiCb"}
1
+ {"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,KAAK,EAAE,kBAAkB;IAgBrC,IAAW,OAAO,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAEjD;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,IAAI,CAE/B;IAEM,UAAU,CACb,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,gCAAgC,GACzC,OAAO;CAkCb"}
@@ -41,30 +41,31 @@ class GroupPlaybackTrackData extends events_1.default {
41
41
  get data() {
42
42
  return this.current.data;
43
43
  }
44
- updateData(event, source) {
44
+ updateData(trackData, source) {
45
45
  // Ignore state changes that are older
46
46
  const current = this.current;
47
- if (event.timestamp < current.timestamp) {
47
+ if (trackData.timestamp < current.timestamp) {
48
48
  return false;
49
49
  }
50
50
  // Ignore state changes that have the same timestamp and the clientId sorts higher.
51
- if (event.timestamp == current.timestamp &&
52
- event.clientId.localeCompare(current.clientId) > 0) {
51
+ if (trackData.timestamp == current.timestamp &&
52
+ trackData.clientId.localeCompare(current.clientId) > 0) {
53
53
  return false;
54
54
  }
55
55
  // Ignore state changes for same data object
56
- if (JSON.stringify(current.data) == JSON.stringify(event.data)) {
56
+ if (JSON.stringify(current.data) == JSON.stringify(trackData.data)) {
57
57
  return false;
58
58
  }
59
59
  // Update current data
60
- this._current = event;
60
+ this._current = trackData;
61
61
  // Notify listeners
62
- this.emit(PlaybackTrackDataEvents.dataChange, {
63
- type: PlaybackTrackDataEvents.dataChange,
64
- clientId: event.clientId,
65
- data: event.data,
62
+ const event = {
63
+ name: PlaybackTrackDataEvents.dataChange,
64
+ clientId: trackData.clientId,
65
+ data: trackData.data,
66
66
  source,
67
- });
67
+ };
68
+ this.emit(PlaybackTrackDataEvents.dataChange, event);
68
69
  return true;
69
70
  }
70
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;AAClC,6DAG8B;AAY9B;;GAEG;AACH,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;AAC7B,CAAC,EAFW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAElC;AASD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,gBAAY;IAIpD,YAAY,KAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE3D,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6CAAwB,CAAC,WAAW,EAAE,GAAG,EAAE;YACtD,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,GAAG;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;gBACxC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;aACzC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAEM,UAAU,CACb,KAAyB,EACzB,MAAwC;QAExC,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE;YACrC,OAAO,KAAK,CAAC;SAChB;QAED,mFAAmF;QACnF,IACI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACpC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpD;YACE,OAAO,KAAK,CAAC;SAChB;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC5D,OAAO,KAAK,CAAC;SAChB;QAED,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE;YAC1C,IAAI,EAAE,uBAAuB,CAAC,UAAU;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhED,wDAgEC"}
1
+ {"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,oDAAkC;AAClC,6DAG8B;AAa9B;;GAEG;AACH,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;AAC7B,CAAC,EAFW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAElC;AASD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,gBAAY;IAIpD,YAAY,KAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE3D,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6CAAwB,CAAC,WAAW,EAAE,GAAG,EAAE;YACtD,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,GAAG;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;gBACxC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;aACzC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAEM,UAAU,CACb,SAA6B,EAC7B,MAAwC;QAExC,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE;YACzC,OAAO,KAAK,CAAC;SAChB;QAED,mFAAmF;QACnF,IACI,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxD;YACE,OAAO,KAAK,CAAC;SAChB;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,KAAK,CAAC;SAChB;QAED,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE1B,mBAAmB;QACnB,MAAM,KAAK,GAAkC;YACzC,IAAI,EAAE,uBAAuB,CAAC,UAAU;YACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM;SACT,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAjED,wDAiEC"}
@@ -3,11 +3,13 @@
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
5
  /// <reference types="node" />
6
- import { ILiveEvent, LiveShareRuntime } from "@microsoft/live-share";
6
+ import { LiveShareRuntime } from "@microsoft/live-share";
7
7
  import EventEmitter from "events";
8
8
  import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
9
9
  import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
10
10
  import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
11
+ import { IGroupStateEvent } from "./interfaces";
12
+ import { GroupPlaybackRate } from "./GroupPlaybackRate";
11
13
  /**
12
14
  * @hidden
13
15
  */
@@ -26,7 +28,7 @@ export declare enum GroupTransportStateEvents {
26
28
  /**
27
29
  * @hidden
28
30
  */
29
- export interface ITransportStateChangeEvent extends ILiveEvent {
31
+ export interface ITransportStateChangeEvent extends IGroupStateEvent {
30
32
  action: ExtendedMediaSessionAction;
31
33
  seekTime?: number;
32
34
  }
@@ -36,9 +38,10 @@ export interface ITransportStateChangeEvent extends ILiveEvent {
36
38
  export declare class GroupTransportState extends EventEmitter {
37
39
  private readonly _getMediaPlayerState;
38
40
  private _track;
41
+ private _playbackRate;
39
42
  private readonly _liveRuntime;
40
43
  private _current;
41
- constructor(track: GroupPlaybackTrack, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
44
+ constructor(track: GroupPlaybackTrack, playbackRate: GroupPlaybackRate, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
42
45
  get current(): Readonly<ITransportState>;
43
46
  get playbackState(): ExtendedMediaSessionPlaybackState;
44
47
  get startPosition(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;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,UAAU;IAC1D,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAkB;gBAG9B,KAAK,EAAE,kBAAkB,EACzB,mBAAmB,EAAE,MAAM,iBAAiB,EAC5C,WAAW,EAAE,gBAAgB;IAyBjC,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;CA2Db"}
1
+ {"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;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,YAAY;IACjD,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"}
@@ -21,11 +21,12 @@ var GroupTransportStateEvents;
21
21
  * @hidden
22
22
  */
23
23
  class GroupTransportState extends events_1.default {
24
- constructor(track, getMediaPlayerState, liveRuntime) {
24
+ constructor(track, playbackRate, getMediaPlayerState, liveRuntime) {
25
25
  super();
26
26
  this._liveRuntime = liveRuntime;
27
27
  this._getMediaPlayerState = getMediaPlayerState;
28
28
  this._track = track;
29
+ this._playbackRate = playbackRate;
29
30
  this._current = {
30
31
  playbackState: "none",
31
32
  startPosition: 0.0,
@@ -83,33 +84,37 @@ class GroupTransportState extends events_1.default {
83
84
  const playerState = this._getMediaPlayerState().playbackState;
84
85
  if (originalState.playbackState == state.playbackState &&
85
86
  playerState != "ended") {
86
- this.emit(GroupTransportStateEvents.transportStateChange, {
87
- type: GroupTransportStateEvents.transportStateChange,
87
+ const event = {
88
+ name: GroupTransportStateEvents.transportStateChange,
88
89
  action: "seekto",
89
90
  clientId: state.clientId,
90
91
  seekTime: state.startPosition,
91
92
  source,
92
- });
93
+ };
94
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
93
95
  }
94
96
  else if (state.playbackState == "playing") {
95
97
  const now = this._liveRuntime.getTimestamp();
96
- const projectedPosition = state.startPosition + (now - state.timestamp) / 1000;
97
- this.emit(GroupTransportStateEvents.transportStateChange, {
98
- type: GroupTransportStateEvents.transportStateChange,
98
+ const projectedPosition = state.startPosition +
99
+ ((now - state.timestamp) / 1000) * this._playbackRate.rate;
100
+ const event = {
101
+ name: GroupTransportStateEvents.transportStateChange,
99
102
  action: "play",
100
103
  clientId: state.clientId,
101
104
  seekTime: projectedPosition,
102
105
  source,
103
- });
106
+ };
107
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
104
108
  }
105
109
  else {
106
- this.emit(GroupTransportStateEvents.transportStateChange, {
107
- type: GroupTransportStateEvents.transportStateChange,
110
+ const event = {
111
+ name: GroupTransportStateEvents.transportStateChange,
108
112
  action: "pause",
109
113
  clientId: state.clientId,
110
114
  seekTime: state.startPosition,
111
115
  source,
112
- });
116
+ };
117
+ this.emit(GroupTransportStateEvents.transportStateChange, event);
113
118
  }
114
119
  return true;
115
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,12 @@ export declare const TelemetryEvents: {
14
14
  PlayAction: string;
15
15
  PauseAction: string;
16
16
  SeekToAction: string;
17
+ RateChangeAction: string;
17
18
  CatchupAction: string;
18
19
  SetTrackAction: string;
19
20
  DataChangeAction: string;
20
21
  UserTappedVideoToPlay: string;
21
22
  UserTappedVideoToPlayError: string;
22
- PlaybackRateChangeBlocked: string;
23
23
  PlayerBlockedOperation: string;
24
24
  SeekingPlayerToStartPosition: string;
25
25
  BeginSeekCalled: string;
@@ -27,6 +27,7 @@ export declare const TelemetryEvents: {
27
27
  PlayCalled: string;
28
28
  PauseCalled: string;
29
29
  SeekToCalled: string;
30
+ RateChangeCalled: string;
30
31
  SetTrackCalled: string;
31
32
  SetTrackDataCalled: string;
32
33
  };
@@ -34,6 +35,7 @@ export declare const TelemetryEvents: {
34
35
  PlayAction: string;
35
36
  PauseAction: string;
36
37
  SeekToAction: string;
38
+ RateChangeAction: string;
37
39
  CatchUpAction: string;
38
40
  SetTrackAction: string;
39
41
  DataChangeAction: string;
@@ -43,6 +45,7 @@ export declare const TelemetryEvents: {
43
45
  PlayCalled: string;
44
46
  PauseCalled: string;
45
47
  SeekToCalled: string;
48
+ SetPlaybackRateCalled: string;
46
49
  SetTrackCalled: string;
47
50
  SetTrackDataCalled: string;
48
51
  BeginSuspension: string;
@@ -55,6 +58,7 @@ export declare const TelemetryEvents: {
55
58
  RemotePlayReceived: string;
56
59
  RemotePauseReceived: string;
57
60
  RemoteSeekToReceived: string;
61
+ RemoteRateChangeReceived: string;
58
62
  PositionUpdateEventError: string;
59
63
  LiveObjectSynchronizerStartError: string;
60
64
  };
@@ -65,12 +69,15 @@ export declare const TelemetryEvents: {
65
69
  TrackDataChangeDelayed: string;
66
70
  TransportStateChanged: string;
67
71
  TransportStateChangeDelayed: string;
72
+ PlaybackRateChanged: string;
73
+ PlaybackRateChangedDelayed: string;
68
74
  BeginSoftSuspension: string;
69
75
  CheckingForSyncIssues: string;
70
76
  TrackOutOfSync: string;
71
77
  TrackDataOutOfSync: string;
72
78
  TransportOutOfSync: string;
73
79
  PositionOutOfSync: string;
80
+ PlaybackRateOutOfSync: string;
74
81
  };
75
82
  };
76
83
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF3B,CAAC"}
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"}
@@ -17,12 +17,12 @@ exports.TelemetryEvents = {
17
17
  PlayAction: "MediaPlayerSynchronizer:PlayAction",
18
18
  PauseAction: "MediaPlayerSynchronizer:PauseAction",
19
19
  SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
20
+ RateChangeAction: "MediaPlayerSynchronizer:RateChangeAction",
20
21
  CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
21
22
  SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
22
23
  DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
23
24
  UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
24
25
  UserTappedVideoToPlayError: "MediaPlayerSynchronizer:UserTappedVideoToPlayError",
25
- PlaybackRateChangeBlocked: "MediaPlayerSynchronizer:PlaybackRateChangeBlocked",
26
26
  PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
27
27
  SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
28
28
  BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
@@ -30,6 +30,7 @@ exports.TelemetryEvents = {
30
30
  PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
31
31
  PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
32
32
  SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
33
+ RateChangeCalled: "MediaSession:RateChangeCalled",
33
34
  SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
34
35
  SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
35
36
  },
@@ -37,6 +38,7 @@ exports.TelemetryEvents = {
37
38
  PlayAction: transmit("MediaSession:PlayAction"),
38
39
  PauseAction: transmit("MediaSession:PauseAction"),
39
40
  SeekToAction: transmit("MediaSession:SeekToAction"),
41
+ RateChangeAction: transmit("MediaSession:RateChangeAction"),
40
42
  CatchUpAction: transmit("MediaSession:CatchUpAction"),
41
43
  SetTrackAction: transmit("MediaSession:SetTrackAction"),
42
44
  DataChangeAction: "MediaSession:DataChangeAction",
@@ -46,6 +48,7 @@ exports.TelemetryEvents = {
46
48
  PlayCalled: transmit("SessionCoordinator:PlayCalled"),
47
49
  PauseCalled: transmit("SessionCoordinator:PauseCalled"),
48
50
  SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
51
+ SetPlaybackRateCalled: transmit("SessionCoordinator:SetPlaybackRateCalled"),
49
52
  SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
50
53
  SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
51
54
  BeginSuspension: "SessionCoordinator:BeginSuspension",
@@ -58,6 +61,7 @@ exports.TelemetryEvents = {
58
61
  RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
59
62
  RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
60
63
  RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
64
+ RemoteRateChangeReceived: transmit("SessionCoordinator:RemoteRateChangeReceived"),
61
65
  PositionUpdateEventError: "SessionCoordinator:PositionUpdateEventError",
62
66
  LiveObjectSynchronizerStartError: "SessionCoordinator:LiveObjectSynchronizerStartError",
63
67
  },
@@ -68,12 +72,15 @@ exports.TelemetryEvents = {
68
72
  TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
69
73
  TransportStateChanged: "GroupCoordinator:TransportStateChanged",
70
74
  TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
75
+ PlaybackRateChanged: "GroupCoordinator:PlaybackRateChanged",
76
+ PlaybackRateChangedDelayed: "GroupCoordinator:PlaybackRateChanged",
71
77
  BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
72
78
  CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
73
79
  TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
74
80
  TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
75
81
  TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
76
82
  PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
83
+ PlaybackRateOutOfSync: transmit("GroupCoordinator:PlaybackRateOutOfSync"),
77
84
  },
78
85
  };
79
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC3B,uBAAuB,EAAE;QACrB,sBAAsB,EAClB,gDAAgD;QACpD,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,aAAa,EAAE,uCAAuC;QACtD,cAAc,EAAE,wCAAwC;QACxD,gBAAgB,EAAE,0CAA0C;QAC5D,qBAAqB,EAAE,QAAQ,CAC3B,+CAA+C,CAClD;QACD,0BAA0B,EACtB,oDAAoD;QACxD,yBAAyB,EACrB,mDAAmD;QACvD,sBAAsB,EAAE,QAAQ,CAC5B,gDAAgD,CACnD;QACD,4BAA4B,EACxB,sDAAsD;QAC1D,eAAe,EAAE,yCAAyC;QAC1D,aAAa,EAAE,uCAAuC;QACtD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,cAAc,EAAE,wCAAwC;QACxD,kBAAkB,EAAE,4CAA4C;KACnE;IACD,YAAY,EAAE;QACV,UAAU,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;QACjD,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,4BAA4B,CAAC;QACrD,cAAc,EAAE,QAAQ,CAAC,6BAA6B,CAAC;QACvD,gBAAgB,EAAE,+BAA+B;QACjD,wBAAwB,EAAE,uCAAuC;KACpE;IACD,kBAAkB,EAAE;QAChB,UAAU,EAAE,QAAQ,CAAC,+BAA+B,CAAC;QACrD,WAAW,EAAE,QAAQ,CAAC,gCAAgC,CAAC;QACvD,YAAY,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QACzD,cAAc,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QAC7D,kBAAkB,EAAE,uCAAuC;QAC3D,eAAe,EAAE,oCAAoC;QACrD,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,aAAa,EAAE,kCAAkC;QACjD,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,qBAAqB,EAAE,0CAA0C;QACjE,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,0BAA0B,EAAE,QAAQ,CAChC,+CAA+C,CAClD;QACD,kBAAkB,EAAE,QAAQ,CAAC,uCAAuC,CAAC;QACrE,mBAAmB,EAAE,QAAQ,CAAC,wCAAwC,CAAC;QACvE,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,wBAAwB,EAAE,6CAA6C;QACvE,gCAAgC,EAC5B,qDAAqD;KAC5D;IACD,gBAAgB,EAAE;QACd,YAAY,EAAE,+BAA+B;QAC7C,kBAAkB,EAAE,qCAAqC;QACzD,gBAAgB,EAAE,mCAAmC;QACrD,sBAAsB,EAAE,yCAAyC;QACjE,qBAAqB,EAAE,wCAAwC;QAC/D,2BAA2B,EACvB,8CAA8C;QAClD,mBAAmB,EAAE,sCAAsC;QAC3D,qBAAqB,EAAE,wCAAwC;QAC/D,cAAc,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QAC3D,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,iBAAiB,EAAE,QAAQ,CAAC,oCAAoC,CAAC;KACpE;CACJ,CAAC;AAEF;;GAEG;AACH,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,GAAG,SAAS,WAAW,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export * from "./GroupPlaybackPosition";
8
8
  export * from "./GroupPlaybackTrack";
9
9
  export * from "./GroupPlaybackTrackData";
10
10
  export * from "./GroupTransportState";
11
+ export * from "./GroupPlaybackRate";
11
12
  export * from "./errors";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC"}
@@ -24,5 +24,6 @@ __exportStar(require("./GroupPlaybackPosition"), exports);
24
24
  __exportStar(require("./GroupPlaybackTrack"), exports);
25
25
  __exportStar(require("./GroupPlaybackTrackData"), exports);
26
26
  __exportStar(require("./GroupTransportState"), exports);
27
+ __exportStar(require("./GroupPlaybackRate"), exports);
27
28
  __exportStar(require("./errors"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AACtC,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AACtC,sDAAoC;AACpC,2CAAyB"}
@@ -0,0 +1,10 @@
1
+ import { IEvent } from "@microsoft/live-share";
2
+ import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
3
+ /**
4
+ * @hidden
5
+ */
6
+ export interface IGroupStateEvent extends IEvent {
7
+ clientId: string;
8
+ source: ExtendedMediaSessionActionSource;
9
+ }
10
+ //# 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,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gCAAgC,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/internals/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ export interface IMediaPlayer {
6
+ readonly currentSrc: string;
7
+ currentTime: number;
8
+ readonly duration: number;
9
+ readonly ended: boolean;
10
+ muted: boolean;
11
+ readonly paused: boolean;
12
+ playbackRate: number;
13
+ src: string;
14
+ volume: number;
15
+ load(): void;
16
+ pause(): void;
17
+ play(): Promise<void>;
18
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
19
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
20
+ }
21
+ //# sourceMappingURL=IMediaPlayer.d.ts.map
@@ -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,7 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=IMediaPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaPlayer.js","sourceRoot":"","sources":["../../src/IMediaPlayer.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { DataObjectFactory } from "@fluidframework/aqueduct/legacy";
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";
14
+ /**
15
+ * Live fluid object that synchronizes media playback across multiple clients.
16
+ */
17
+ export declare class LiveMediaSessionClass extends LiveDataObject {
18
+ private _actionThrottler;
19
+ private _logger?;
20
+ private _requestPlayerStateHandler?;
21
+ private _coordinator?;
22
+ private readonly _actionHandlers;
23
+ private _synchronizing?;
24
+ private _updateTimer;
25
+ private _lastUpdateTime;
26
+ /**
27
+ * The objects fluid type name.
28
+ */
29
+ static readonly TypeName = "@microsoft/fluid-media:SharedMediaSession";
30
+ /**
31
+ * The objects fluid type factory.
32
+ */
33
+ static readonly factory: DataObjectFactory<LiveMediaSessionClass, import("@fluidframework/aqueduct/legacy").DataObjectTypes>;
34
+ /**
35
+ * Extension point that lets applications replace the default logic for throttling the sessions
36
+ * local sync behavior.
37
+ *
38
+ * @remarks
39
+ * The `LiveMediaCoordinator` is fairly aggressive at wanting to keep the local media player
40
+ * in sync with the rest of the group. This aggressiveness can result in the coordinator sending
41
+ * new sync actions before the local player has finished responding to the previous sync action.
42
+ * The `ActionThrottler` gives apps fine grain control over how aggressive they want sync to be.
43
+ *
44
+ * By default, a `RepeatedAction` throttler is used which prevents the same sync action from
45
+ * being sent within an adjustable time period.
46
+ */
47
+ get actionThrottler(): MediaSessionActionThrottler;
48
+ set actionThrottler(value: MediaSessionActionThrottler);
49
+ /**
50
+ * The group coordinator for the session.
51
+ */
52
+ get coordinator(): LiveMediaSessionCoordinator;
53
+ /**
54
+ * Returns the logger used by the session and coordinator.
55
+ *
56
+ * @remarks
57
+ * This is used by the `MediaPlayerSynchronizer` to log events.
58
+ */
59
+ get logger(): LiveTelemetryLogger;
60
+ /**
61
+ * Initialize the object to begin sending/receiving group playback updates through this DDS.
62
+ *
63
+ * @param allowedRoles Optional. List of roles allowed to group transport operations like play/pause/seek/setTrack.
64
+ *
65
+ * @returns a void promise that resolves once complete.
66
+ *
67
+ * @throws error when `.initialize()` has already been called for this class instance.
68
+ */
69
+ initialize(allowedRoles?: UserMeetingRole[]): Promise<void>;
70
+ /**
71
+ * Registers an action handler with the session.
72
+ * @param action Name of the action to register a handler for.
73
+ * @param handler Function called when the action is triggered.
74
+ */
75
+ setActionHandler(action: ExtendedMediaSessionAction, handler: ExtendedMediaSessionActionHandler | MediaSessionActionHandler | null): void;
76
+ /**
77
+ * Registers a handler that will be queried anytime the group coordinate needs to know the
78
+ * local players transport state and position.
79
+ */
80
+ setRequestPlayerStateHandler(handler: () => IMediaPlayerState): void;
81
+ /**
82
+ * Begins synchronizing the playback of a media element.
83
+ * @param player Something that "looks like" and HTML Media Element.
84
+ * @returns A new synchronizer instance. Call `synchronizer.end()` to stop synchronizing the elements playback.
85
+ */
86
+ synchronize(player: IMediaPlayer): MediaPlayerSynchronizer;
87
+ protected hasInitialized(): Promise<void>;
88
+ private checkWaitPointHit;
89
+ private getCurrentPlayerState;
90
+ private dispatchAction;
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>;
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,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,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,sGAK5B;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"}