@microsoft/live-share-media 2.0.0-internal.2 → 2.0.0-internal.20

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 (151) hide show
  1. package/README.md +26 -27
  2. package/bin/esm/IMediaPlayer.d.ts.map +1 -0
  3. package/bin/{IMediaPlayer.js → esm/IMediaPlayer.js} +1 -2
  4. package/bin/esm/IMediaPlayer.js.map +1 -0
  5. package/bin/{LiveMediaSession.d.ts → esm/LiveMediaSession.d.ts} +16 -9
  6. package/bin/esm/LiveMediaSession.d.ts.map +1 -0
  7. package/bin/esm/LiveMediaSession.js +247 -0
  8. package/bin/esm/LiveMediaSession.js.map +1 -0
  9. package/bin/{LiveMediaSessionCoordinator.d.ts → esm/LiveMediaSessionCoordinator.d.ts} +57 -13
  10. package/bin/esm/LiveMediaSessionCoordinator.d.ts.map +1 -0
  11. package/bin/esm/LiveMediaSessionCoordinator.js +544 -0
  12. package/bin/esm/LiveMediaSessionCoordinator.js.map +1 -0
  13. package/bin/{LiveMediaSessionCoordinatorSuspension.d.ts → esm/LiveMediaSessionCoordinatorSuspension.d.ts} +1 -1
  14. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  15. package/bin/{LiveMediaSessionCoordinatorSuspension.js → esm/LiveMediaSessionCoordinatorSuspension.js} +3 -5
  16. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  17. package/bin/{MediaPlayerSynchronizer.d.ts → esm/MediaPlayerSynchronizer.d.ts} +22 -8
  18. package/bin/esm/MediaPlayerSynchronizer.d.ts.map +1 -0
  19. package/bin/{MediaPlayerSynchronizer.js → esm/MediaPlayerSynchronizer.js} +130 -153
  20. package/bin/esm/MediaPlayerSynchronizer.js.map +1 -0
  21. package/bin/{MediaSessionActionThrottler.d.ts → esm/MediaSessionActionThrottler.d.ts} +1 -1
  22. package/bin/esm/MediaSessionActionThrottler.d.ts.map +1 -0
  23. package/bin/esm/MediaSessionActionThrottler.js +10 -0
  24. package/bin/esm/MediaSessionActionThrottler.js.map +1 -0
  25. package/bin/esm/MediaSessionExtensions.d.ts.map +1 -0
  26. package/bin/{MediaSessionExtensions.js → esm/MediaSessionExtensions.js} +2 -5
  27. package/bin/esm/MediaSessionExtensions.js.map +1 -0
  28. package/bin/{RepeatedActionThrottler.d.ts → esm/RepeatedActionThrottler.d.ts} +2 -2
  29. package/bin/esm/RepeatedActionThrottler.d.ts.map +1 -0
  30. package/bin/{RepeatedActionThrottler.js → esm/RepeatedActionThrottler.js} +12 -17
  31. package/bin/esm/RepeatedActionThrottler.js.map +1 -0
  32. package/bin/{VolumeManager.d.ts → esm/VolumeManager.d.ts} +6 -6
  33. package/bin/esm/VolumeManager.d.ts.map +1 -0
  34. package/bin/{VolumeManager.js → esm/VolumeManager.js} +19 -22
  35. package/bin/esm/VolumeManager.js.map +1 -0
  36. package/bin/esm/index.d.ts +14 -0
  37. package/bin/esm/index.d.ts.map +1 -0
  38. package/bin/esm/index.js +14 -0
  39. package/bin/esm/index.js.map +1 -0
  40. package/bin/{internals → esm/internals}/GroupCoordinatorState.d.ts +14 -12
  41. package/bin/esm/internals/GroupCoordinatorState.d.ts.map +1 -0
  42. package/bin/{internals → esm/internals}/GroupCoordinatorState.js +177 -185
  43. package/bin/esm/internals/GroupCoordinatorState.js.map +1 -0
  44. package/bin/{internals → esm/internals}/GroupPlaybackPosition.d.ts +6 -5
  45. package/bin/esm/internals/GroupPlaybackPosition.d.ts.map +1 -0
  46. package/bin/{internals → esm/internals}/GroupPlaybackPosition.js +16 -12
  47. package/bin/esm/internals/GroupPlaybackPosition.js.map +1 -0
  48. package/bin/{internals → esm/internals}/GroupPlaybackRate.d.ts +4 -5
  49. package/bin/esm/internals/GroupPlaybackRate.d.ts.map +1 -0
  50. package/bin/{internals → esm/internals}/GroupPlaybackRate.js +5 -11
  51. package/bin/esm/internals/GroupPlaybackRate.js.map +1 -0
  52. package/bin/{internals → esm/internals}/GroupPlaybackTrack.d.ts +5 -6
  53. package/bin/esm/internals/GroupPlaybackTrack.d.ts.map +1 -0
  54. package/bin/{internals → esm/internals}/GroupPlaybackTrack.js +6 -11
  55. package/bin/esm/internals/GroupPlaybackTrack.js.map +1 -0
  56. package/bin/{internals → esm/internals}/GroupPlaybackTrackData.d.ts +5 -6
  57. package/bin/esm/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  58. package/bin/{internals → esm/internals}/GroupPlaybackTrackData.js +8 -13
  59. package/bin/esm/internals/GroupPlaybackTrackData.js.map +1 -0
  60. package/bin/{internals → esm/internals}/GroupTransportState.d.ts +8 -9
  61. package/bin/esm/internals/GroupTransportState.d.ts.map +1 -0
  62. package/bin/{internals → esm/internals}/GroupTransportState.js +11 -13
  63. package/bin/esm/internals/GroupTransportState.js.map +1 -0
  64. package/bin/esm/internals/PriorityTimeInterval.d.ts +33 -0
  65. package/bin/esm/internals/PriorityTimeInterval.d.ts.map +1 -0
  66. package/bin/esm/internals/PriorityTimeInterval.js +53 -0
  67. package/bin/esm/internals/PriorityTimeInterval.js.map +1 -0
  68. package/bin/esm/internals/consts.d.ts.map +1 -0
  69. package/bin/{internals → esm/internals}/consts.js +1 -4
  70. package/bin/esm/internals/consts.js.map +1 -0
  71. package/bin/esm/internals/errors.d.ts.map +1 -0
  72. package/bin/{internals → esm/internals}/errors.js +2 -7
  73. package/bin/esm/internals/errors.js.map +1 -0
  74. package/bin/esm/internals/interfaces.d.ts +23 -0
  75. package/bin/esm/internals/interfaces.d.ts.map +1 -0
  76. package/bin/esm/internals/interfaces.js +2 -0
  77. package/bin/{internals → esm/internals}/interfaces.js.map +1 -1
  78. package/package.json +21 -12
  79. package/src/LiveMediaSession.ts +29 -14
  80. package/src/LiveMediaSessionCoordinator.ts +149 -37
  81. package/src/LiveMediaSessionCoordinatorSuspension.ts +2 -4
  82. package/src/MediaPlayerSynchronizer.ts +26 -11
  83. package/src/MediaSessionActionThrottler.ts +1 -1
  84. package/src/RepeatedActionThrottler.ts +2 -2
  85. package/src/VolumeManager.ts +6 -6
  86. package/src/index.ts +9 -9
  87. package/src/internals/GroupCoordinatorState.ts +19 -15
  88. package/src/internals/GroupPlaybackPosition.ts +9 -9
  89. package/src/internals/GroupPlaybackRate.ts +4 -4
  90. package/src/internals/GroupPlaybackTrack.ts +5 -5
  91. package/src/internals/GroupPlaybackTrackData.ts +5 -5
  92. package/src/internals/GroupTransportState.ts +8 -8
  93. package/src/internals/PriorityTimeInterval.ts +76 -0
  94. package/src/internals/interfaces.ts +15 -1
  95. package/tsconfig.json +64 -74
  96. package/.nycrc.json +0 -11
  97. package/bin/IMediaPlayer.d.ts.map +0 -1
  98. package/bin/IMediaPlayer.js.map +0 -1
  99. package/bin/LiveMediaSession.d.ts.map +0 -1
  100. package/bin/LiveMediaSession.js +0 -255
  101. package/bin/LiveMediaSession.js.map +0 -1
  102. package/bin/LiveMediaSessionCoordinator.d.ts.map +0 -1
  103. package/bin/LiveMediaSessionCoordinator.js +0 -472
  104. package/bin/LiveMediaSessionCoordinator.js.map +0 -1
  105. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  106. package/bin/LiveMediaSessionCoordinatorSuspension.js.map +0 -1
  107. package/bin/MediaPlayerSynchronizer.d.ts.map +0 -1
  108. package/bin/MediaPlayerSynchronizer.js.map +0 -1
  109. package/bin/MediaSessionActionThrottler.d.ts.map +0 -1
  110. package/bin/MediaSessionActionThrottler.js +0 -14
  111. package/bin/MediaSessionActionThrottler.js.map +0 -1
  112. package/bin/MediaSessionExtensions.d.ts.map +0 -1
  113. package/bin/MediaSessionExtensions.js.map +0 -1
  114. package/bin/RepeatedActionThrottler.d.ts.map +0 -1
  115. package/bin/RepeatedActionThrottler.js.map +0 -1
  116. package/bin/VolumeManager.d.ts.map +0 -1
  117. package/bin/VolumeManager.js.map +0 -1
  118. package/bin/index.d.ts +0 -14
  119. package/bin/index.d.ts.map +0 -1
  120. package/bin/index.js +0 -30
  121. package/bin/index.js.map +0 -1
  122. package/bin/internals/GroupCoordinatorState.d.ts.map +0 -1
  123. package/bin/internals/GroupCoordinatorState.js.map +0 -1
  124. package/bin/internals/GroupPlaybackPosition.d.ts.map +0 -1
  125. package/bin/internals/GroupPlaybackPosition.js.map +0 -1
  126. package/bin/internals/GroupPlaybackRate.d.ts.map +0 -1
  127. package/bin/internals/GroupPlaybackRate.js.map +0 -1
  128. package/bin/internals/GroupPlaybackTrack.d.ts.map +0 -1
  129. package/bin/internals/GroupPlaybackTrack.js.map +0 -1
  130. package/bin/internals/GroupPlaybackTrackData.d.ts.map +0 -1
  131. package/bin/internals/GroupPlaybackTrackData.js.map +0 -1
  132. package/bin/internals/GroupTransportState.d.ts.map +0 -1
  133. package/bin/internals/GroupTransportState.js.map +0 -1
  134. package/bin/internals/consts.d.ts.map +0 -1
  135. package/bin/internals/consts.js.map +0 -1
  136. package/bin/internals/errors.d.ts.map +0 -1
  137. package/bin/internals/errors.js.map +0 -1
  138. package/bin/internals/index.d.ts +0 -13
  139. package/bin/internals/index.d.ts.map +0 -1
  140. package/bin/internals/index.js +0 -29
  141. package/bin/internals/index.js.map +0 -1
  142. package/bin/internals/interfaces.d.ts +0 -10
  143. package/bin/internals/interfaces.d.ts.map +0 -1
  144. package/bin/internals/interfaces.js +0 -3
  145. package/src/internals/index.ts +0 -13
  146. package/tsconfig.build.json +0 -9
  147. package/typedoc.json +0 -10
  148. /package/bin/{IMediaPlayer.d.ts → esm/IMediaPlayer.d.ts} +0 -0
  149. /package/bin/{MediaSessionExtensions.d.ts → esm/MediaSessionExtensions.d.ts} +0 -0
  150. /package/bin/{internals → esm/internals}/consts.d.ts +0 -0
  151. /package/bin/{internals → esm/internals}/errors.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,12 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MediaPlayerSynchronizer = exports.MediaPlayerSynchronizerEvents = void 0;
16
- const events_1 = __importDefault(require("events"));
17
- const MediaSessionExtensions_1 = require("./MediaSessionExtensions");
18
- const VolumeManager_1 = require("./VolumeManager");
19
- const internals_1 = require("./internals");
20
- const internals_2 = require("@microsoft/live-share/bin/internals");
1
+ import { waitUntilConnected, } from "@microsoft/live-share/internal";
2
+ import { MediaSessionCoordinatorEvents, } from "./MediaSessionExtensions.js";
3
+ import { VolumeManager } from "./VolumeManager.js";
4
+ import { TelemetryEvents } from "./internals/consts.js";
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
21
6
  /**
22
7
  * Events supported by `MediaPlayerSynchronizer` object.
23
8
  */
24
- var MediaPlayerSynchronizerEvents;
9
+ export var MediaPlayerSynchronizerEvents;
25
10
  (function (MediaPlayerSynchronizerEvents) {
26
11
  /**
27
12
  *
@@ -29,7 +14,7 @@ var MediaPlayerSynchronizerEvents;
29
14
  MediaPlayerSynchronizerEvents["coordinatorstatechange"] = "coordinatorstatechange";
30
15
  MediaPlayerSynchronizerEvents["groupaction"] = "groupaction";
31
16
  MediaPlayerSynchronizerEvents["useraction"] = "useraction";
32
- })(MediaPlayerSynchronizerEvents || (exports.MediaPlayerSynchronizerEvents = MediaPlayerSynchronizerEvents = {}));
17
+ })(MediaPlayerSynchronizerEvents || (MediaPlayerSynchronizerEvents = {}));
33
18
  /**
34
19
  * Synchronizes a local HTML Media Element with a group of remote HTML Media Elements.
35
20
  *
@@ -39,7 +24,40 @@ var MediaPlayerSynchronizerEvents;
39
24
  * to the local player. When the group session is joined the commands will be broadcast to the
40
25
  * group in addition to being applied to the local player.
41
26
  */
42
- class MediaPlayerSynchronizer extends events_1.default {
27
+ export class MediaPlayerSynchronizer extends TypedEventEmitter {
28
+ static SESSION_ACTIONS = [
29
+ "play",
30
+ "pause",
31
+ "seekto",
32
+ "settrack",
33
+ "ratechange",
34
+ "datachange",
35
+ "catchup",
36
+ "wait",
37
+ ];
38
+ static PLAYER_EVENTS = [
39
+ "playing",
40
+ "pause",
41
+ "ratechange",
42
+ "timeupdate",
43
+ "ended",
44
+ "loadedmetadata",
45
+ "blocked",
46
+ ];
47
+ _logger;
48
+ _player;
49
+ _mediaSession;
50
+ _runtime;
51
+ _volumeManager;
52
+ _onEnd;
53
+ _onPlayerEvent;
54
+ _seekSuspension;
55
+ _viewOnly = false;
56
+ _blockUnexpectedPlayerEvents = true;
57
+ _expectedPlaybackState = "none";
58
+ _expectedPlaybackRate = 1.0;
59
+ _metadata = null;
60
+ _trackData = null;
43
61
  /**
44
62
  * Creates a new `MediaElementSynchronizer` instance.
45
63
  * @param player Media player element. This can be an HTML Media Element or any player that looks like an HTML Media Element.
@@ -48,21 +66,14 @@ class MediaPlayerSynchronizer extends events_1.default {
48
66
  */
49
67
  constructor(player, mediaSession, runtime, onEnd) {
50
68
  super();
51
- this._viewOnly = false;
52
- this._blockUnexpectedPlayerEvents = true;
53
- this._expectedPlaybackState = "none";
54
- this._expectedPlaybackRate = 1.0;
55
- this._metadata = null;
56
- this._trackData = null;
57
69
  this._player = player;
58
70
  this._mediaSession = mediaSession;
59
71
  this._runtime = runtime;
60
72
  this._logger = mediaSession.logger;
61
- this._volumeManager = new VolumeManager_1.VolumeManager(player);
73
+ this._volumeManager = new VolumeManager(player);
62
74
  this._onEnd = onEnd;
63
75
  // Listen for player state requests
64
76
  mediaSession.setRequestPlayerStateHandler(() => {
65
- var _a;
66
77
  // Find playback state
67
78
  let playbackState;
68
79
  const src = this._player.currentSrc || this._player.src;
@@ -89,7 +100,7 @@ class MediaPlayerSynchronizer extends events_1.default {
89
100
  playbackState: playbackState,
90
101
  positionState: {
91
102
  position: this._player.currentTime,
92
- playbackRate: (_a = this._player.playbackRate) !== null && _a !== void 0 ? _a : 1,
103
+ playbackRate: this._player.playbackRate ?? 1,
93
104
  duration: this._player.duration,
94
105
  },
95
106
  trackData: this._trackData,
@@ -99,7 +110,7 @@ class MediaPlayerSynchronizer extends events_1.default {
99
110
  // Listen for player events
100
111
  this._onPlayerEvent = (evt) => {
101
112
  if (evt.type != "timeupdate") {
102
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PlayerEvent, null, {
113
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PlayerEvent, null, {
103
114
  type: evt.type,
104
115
  });
105
116
  }
@@ -116,10 +127,10 @@ class MediaPlayerSynchronizer extends events_1.default {
116
127
  this._expectedPlaybackState != "playing") {
117
128
  if (this._mediaSession.coordinator.canPlayPause &&
118
129
  this._player.currentTime < 1.0) {
119
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
130
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
120
131
  .UserTappedVideoToPlay);
121
132
  this.play().catch((err) => {
122
- this._logger.sendErrorEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
133
+ this._logger.sendErrorEvent(TelemetryEvents.MediaPlayerSynchronizer
123
134
  .UserTappedVideoToPlayError, err);
124
135
  });
125
136
  }
@@ -159,47 +170,46 @@ class MediaPlayerSynchronizer extends events_1.default {
159
170
  }
160
171
  break;
161
172
  case "blocked":
162
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
173
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
163
174
  .PlayerBlockedOperation);
164
175
  break;
165
176
  }
166
177
  };
167
178
  // Register for coordinator state changes
168
- this._mediaSession.coordinator.on(MediaSessionExtensions_1.MediaSessionCoordinatorEvents.coordinatorstatechange, (evt) => this.emit(evt.type, evt));
169
- this._mediaSession.coordinator.on(MediaSessionExtensions_1.MediaSessionCoordinatorEvents.triggeractionignored, (evt) => {
179
+ this._mediaSession.coordinator.on(MediaSessionCoordinatorEvents.coordinatorstatechange, (evt) => this.emit(evt.type, evt));
180
+ this._mediaSession.coordinator.on(MediaSessionCoordinatorEvents.triggeractionignored, (evt) => {
170
181
  this.dispatchGroupAction(evt.details, undefined);
171
182
  });
172
183
  // Register media session actions
173
184
  for (const action of MediaPlayerSynchronizer.SESSION_ACTIONS) {
174
- this._mediaSession.setActionHandler(action, (details) => __awaiter(this, void 0, void 0, function* () {
175
- var _a, _b, _c;
185
+ this._mediaSession.setActionHandler(action, async (details) => {
176
186
  let error;
177
187
  try {
178
188
  switch (details.action) {
179
189
  case "play":
180
190
  this._expectedPlaybackState = "playing";
181
191
  if (this._player.paused) {
182
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
192
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
183
193
  .PlayAction);
184
194
  if (typeof details.seekTime == "number" &&
185
195
  this._player.currentTime < 1.0) {
186
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents
196
+ this._logger.sendTelemetryEvent(TelemetryEvents
187
197
  .MediaPlayerSynchronizer
188
198
  .SeekingPlayerToStartPosition, null, { position: details.seekTime });
189
199
  this._player.currentTime =
190
200
  details.seekTime;
191
201
  }
192
202
  // Reference: https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play#exceptions
193
- yield this._player.play();
203
+ await this._player.play();
194
204
  }
195
205
  break;
196
206
  case "pause":
197
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
207
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
198
208
  .PauseAction);
199
209
  this._expectedPlaybackState = "paused";
200
210
  if (typeof details.seekTime == "number" &&
201
211
  this._player.currentTime < 1.0) {
202
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
212
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
203
213
  .SeekingPlayerToStartPosition, null, { position: details.seekTime });
204
214
  this._player.currentTime =
205
215
  details.seekTime;
@@ -208,19 +218,19 @@ class MediaPlayerSynchronizer extends events_1.default {
208
218
  break;
209
219
  case "seekto":
210
220
  if (typeof details.seekTime == "number") {
211
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
221
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
212
222
  .SeekToAction, null, { position: details.seekTime });
213
223
  this._player.currentTime =
214
224
  details.seekTime;
215
225
  }
216
226
  break;
217
227
  case "settrack":
218
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
228
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
219
229
  .SetTrackAction);
220
230
  this._expectedPlaybackState = "none";
221
- this._metadata = (_a = details.metadata) !== null && _a !== void 0 ? _a : null;
231
+ this._metadata = details.metadata ?? null;
222
232
  if (this._player.src ===
223
- ((_b = details.metadata) === null || _b === void 0 ? void 0 : _b.trackIdentifier)) {
233
+ details.metadata?.trackIdentifier) {
224
234
  // Don't set duplicate src and load again.
225
235
  break;
226
236
  }
@@ -229,14 +239,14 @@ class MediaPlayerSynchronizer extends events_1.default {
229
239
  this._player.load();
230
240
  break;
231
241
  case "datachange":
232
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
242
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
233
243
  .DataChangeAction);
234
244
  break;
235
245
  case "ratechange":
236
246
  if (!details.playbackRate) {
237
247
  break;
238
248
  }
239
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
249
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
240
250
  .RateChangeAction, null, { playbackRate: details.playbackRate });
241
251
  this._expectedPlaybackRate =
242
252
  details.playbackRate;
@@ -245,7 +255,7 @@ class MediaPlayerSynchronizer extends events_1.default {
245
255
  break;
246
256
  case "catchup":
247
257
  if (typeof details.seekTime == "number") {
248
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer
258
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer
249
259
  .CatchupAction, null, { position: details.seekTime });
250
260
  this.catchupPlayer(details.seekTime);
251
261
  }
@@ -257,17 +267,18 @@ class MediaPlayerSynchronizer extends events_1.default {
257
267
  error = err;
258
268
  }
259
269
  else {
260
- error = new Error((_c = err === null || err === void 0 ? void 0 : err.message) !== null && _c !== void 0 ? _c : "An unknown error occurred after processing the group session action.");
270
+ error = new Error(err?.message ??
271
+ "An unknown error occurred after processing the group session action.");
261
272
  }
262
273
  }
263
274
  this.dispatchGroupAction(details, error);
264
- }));
275
+ });
265
276
  }
266
277
  // Subscribe to player events
267
278
  for (const event of MediaPlayerSynchronizer.PLAYER_EVENTS) {
268
279
  this._player.addEventListener(event, this._onPlayerEvent);
269
280
  }
270
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SynchronizationStarted);
281
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SynchronizationStarted);
271
282
  }
272
283
  /**
273
284
  * Media player being synchronized.
@@ -376,7 +387,7 @@ class MediaPlayerSynchronizer extends events_1.default {
376
387
  if (this._seekSuspension) {
377
388
  throw new Error("MediaPlayerSynchronizer:beginSeek - cannot begin seek since a seek is already in progress.\nTo prevent this error, ensure you first call `endSeek()` before calling `beginSeek()` again.");
378
389
  }
379
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.BeginSeekCalled);
390
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.BeginSeekCalled);
380
391
  this._seekSuspension = this._mediaSession.coordinator.beginSuspension();
381
392
  }
382
393
  /**
@@ -393,11 +404,11 @@ class MediaPlayerSynchronizer extends events_1.default {
393
404
  this._player.currentTime = seekTo;
394
405
  const suspension = this._seekSuspension;
395
406
  this._seekSuspension = undefined;
396
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.EndSeekCalled, null, {
407
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.EndSeekCalled, null, {
397
408
  position: seekTo,
398
409
  });
399
410
  suspension.end(seekTo);
400
- (0, internals_2.waitUntilConnected)(this._runtime).then((clientId) => {
411
+ waitUntilConnected(this._runtime).then((clientId) => {
401
412
  this.dispatchUserAction({
402
413
  action: "seekto",
403
414
  source: "user",
@@ -416,17 +427,15 @@ class MediaPlayerSynchronizer extends events_1.default {
416
427
  *
417
428
  * @returns a void promise that resolves once complete, throws if user does not have proper roles
418
429
  */
419
- play() {
420
- return __awaiter(this, void 0, void 0, function* () {
421
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PlayCalled);
422
- this._expectedPlaybackState = "playing";
423
- yield this._mediaSession.coordinator.play();
424
- this.dispatchUserAction({
425
- action: "play",
426
- source: "user",
427
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
428
- local: true,
429
- });
430
+ async play() {
431
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PlayCalled);
432
+ this._expectedPlaybackState = "playing";
433
+ await this._mediaSession.coordinator.play();
434
+ this.dispatchUserAction({
435
+ action: "play",
436
+ source: "user",
437
+ clientId: await waitUntilConnected(this._runtime),
438
+ local: true,
430
439
  });
431
440
  }
432
441
  /**
@@ -438,17 +447,15 @@ class MediaPlayerSynchronizer extends events_1.default {
438
447
  *
439
448
  * @returns a void promise that resolves once complete, throws if user does not have proper roles
440
449
  */
441
- pause() {
442
- return __awaiter(this, void 0, void 0, function* () {
443
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PauseCalled);
444
- this._expectedPlaybackState = "paused";
445
- yield this._mediaSession.coordinator.pause();
446
- this.dispatchUserAction({
447
- action: "pause",
448
- source: "user",
449
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
450
- local: true,
451
- });
450
+ async pause() {
451
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PauseCalled);
452
+ this._expectedPlaybackState = "paused";
453
+ await this._mediaSession.coordinator.pause();
454
+ this.dispatchUserAction({
455
+ action: "pause",
456
+ source: "user",
457
+ clientId: await waitUntilConnected(this._runtime),
458
+ local: true,
452
459
  });
453
460
  }
454
461
  /**
@@ -460,34 +467,30 @@ class MediaPlayerSynchronizer extends events_1.default {
460
467
  *
461
468
  * @returns a void promise that resolves once complete, throws if user does not have proper roles
462
469
  */
463
- seekTo(time) {
464
- return __awaiter(this, void 0, void 0, function* () {
465
- // Always seek player to new time.
466
- // - This resolves an issue where the timeline scrubber can temporarily snap back to the original
467
- // location.
468
- this._player.currentTime = time;
469
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekToCalled, null, { position: time });
470
- yield this._mediaSession.coordinator.seekTo(time);
471
- this.dispatchUserAction({
472
- action: "seekto",
473
- source: "user",
474
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
475
- seekTime: time,
476
- local: true,
477
- });
470
+ async seekTo(time) {
471
+ // Always seek player to new time.
472
+ // - This resolves an issue where the timeline scrubber can temporarily snap back to the original
473
+ // location.
474
+ this._player.currentTime = time;
475
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekToCalled, null, { position: time });
476
+ await this._mediaSession.coordinator.seekTo(time);
477
+ this.dispatchUserAction({
478
+ action: "seekto",
479
+ source: "user",
480
+ clientId: await waitUntilConnected(this._runtime),
481
+ seekTime: time,
482
+ local: true,
478
483
  });
479
484
  }
480
- setPlaybackRate(playbackRate) {
481
- return __awaiter(this, void 0, void 0, function* () {
482
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.RateChangeCalled, null, { playbackRate });
483
- yield this._mediaSession.coordinator.setPlaybackRate(playbackRate);
484
- this.dispatchUserAction({
485
- action: "ratechange",
486
- source: "user",
487
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
488
- local: true,
489
- playbackRate,
490
- });
485
+ async setPlaybackRate(playbackRate) {
486
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.RateChangeCalled, null, { playbackRate });
487
+ await this._mediaSession.coordinator.setPlaybackRate(playbackRate);
488
+ this.dispatchUserAction({
489
+ action: "ratechange",
490
+ source: "user",
491
+ clientId: await waitUntilConnected(this._runtime),
492
+ local: true,
493
+ playbackRate,
491
494
  });
492
495
  }
493
496
  /**
@@ -499,17 +502,15 @@ class MediaPlayerSynchronizer extends events_1.default {
499
502
  *
500
503
  * @returns a void promise that resolves once complete, throws if user does not have proper roles
501
504
  */
502
- setTrack(track, waitPoints) {
503
- return __awaiter(this, void 0, void 0, function* () {
504
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SetTrackCalled);
505
- yield this._mediaSession.coordinator.setTrack(track, waitPoints);
506
- this.dispatchUserAction({
507
- action: "settrack",
508
- source: "user",
509
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
510
- metadata: track,
511
- local: true,
512
- });
505
+ async setTrack(track, waitPoints) {
506
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SetTrackCalled);
507
+ await this._mediaSession.coordinator.setTrack(track, waitPoints);
508
+ this.dispatchUserAction({
509
+ action: "settrack",
510
+ source: "user",
511
+ clientId: await waitUntilConnected(this._runtime),
512
+ metadata: track,
513
+ local: true,
513
514
  });
514
515
  }
515
516
  /**
@@ -521,18 +522,16 @@ class MediaPlayerSynchronizer extends events_1.default {
521
522
  *
522
523
  * @returns a void promise that resolves once complete, throws if user does not have proper roles
523
524
  */
524
- setTrackData(data) {
525
- return __awaiter(this, void 0, void 0, function* () {
526
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SetTrackDataCalled);
527
- this._trackData = data;
528
- yield this._mediaSession.coordinator.setTrackData(data);
529
- this.dispatchUserAction({
530
- action: "datachange",
531
- source: "user",
532
- clientId: yield (0, internals_2.waitUntilConnected)(this._runtime),
533
- local: true,
534
- data: data,
535
- });
525
+ async setTrackData(data) {
526
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SetTrackDataCalled);
527
+ this._trackData = data;
528
+ await this._mediaSession.coordinator.setTrackData(data);
529
+ this.dispatchUserAction({
530
+ action: "datachange",
531
+ source: "user",
532
+ clientId: await waitUntilConnected(this._runtime),
533
+ local: true,
534
+ data: data,
536
535
  });
537
536
  }
538
537
  dispatchGroupAction(details, error) {
@@ -548,30 +547,8 @@ class MediaPlayerSynchronizer extends events_1.default {
548
547
  details: details,
549
548
  });
550
549
  }
551
- catchupPlayer(time) {
552
- return __awaiter(this, void 0, void 0, function* () {
553
- this._player.currentTime = time;
554
- });
550
+ async catchupPlayer(time) {
551
+ this._player.currentTime = time;
555
552
  }
556
553
  }
557
- exports.MediaPlayerSynchronizer = MediaPlayerSynchronizer;
558
- MediaPlayerSynchronizer.SESSION_ACTIONS = [
559
- "play",
560
- "pause",
561
- "seekto",
562
- "settrack",
563
- "ratechange",
564
- "datachange",
565
- "catchup",
566
- "wait",
567
- ];
568
- MediaPlayerSynchronizer.PLAYER_EVENTS = [
569
- "playing",
570
- "pause",
571
- "ratechange",
572
- "timeupdate",
573
- "ended",
574
- "loadedmetadata",
575
- "blocked",
576
- ];
577
554
  //# sourceMappingURL=MediaPlayerSynchronizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPlayerSynchronizer.js","sourceRoot":"","sources":["../../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { ExtendedMediaSessionActionDetails, ExtendedMediaSessionActionHandler } from "./MediaSessionExtensions";
5
+ import { ExtendedMediaSessionActionDetails, ExtendedMediaSessionActionHandler } from "./MediaSessionExtensions.js";
6
6
  /**
7
7
  * Base class for action throttlers.
8
8
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSessionActionThrottler.d.ts","sourceRoot":"","sources":["../../src/MediaSessionActionThrottler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,iCAAiC,EACjC,iCAAiC,EACpC,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,8BAAsB,2BAA2B;aAC7B,SAAS,CACrB,OAAO,EAAE,yBAAyB,GAAG,iCAAiC,EACtE,OAAO,CAAC,EAAE,yBAAyB,GAAG,iCAAiC,GACxE,IAAI;CACV"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ /**
6
+ * Base class for action throttlers.
7
+ */
8
+ export class MediaSessionActionThrottler {
9
+ }
10
+ //# sourceMappingURL=MediaSessionActionThrottler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSessionActionThrottler.js","sourceRoot":"","sources":["../../src/MediaSessionActionThrottler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,MAAM,OAAgB,2BAA2B;CAKhD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSessionExtensions.d.ts","sourceRoot":"","sources":["../../src/MediaSessionExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,sBAAsB,2BAA2B;IACjD;;OAEG;IACH,aAAa,kBAAkB;IAC/B;;OAEG;IACH,oBAAoB,yBAAyB;CAChD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAChC,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,MAAM,GACN,SAAS,GACT,YAAY,GACZ,SAAS,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,MAAM,iCAAiC,GACvC,yBAAyB,GACzB,WAAW,GACX,SAAS,GACT,OAAO,CAAC;AAEd;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAAG,oBAAoB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,iCAAiC;IAC9C;;OAEG;IACH,MAAM,EAAE,0BAA0B,CAAC;IACnC;;;;;;OAMG;IACH,MAAM,EAAE,gCAAgC,CAAC;IACzC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,UAAU,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;IACtD;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,CAAC,OAAO,EAAE,iCAAiC,GAAG,IAAI,CAAC;CACtD"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MediaSessionCoordinatorEvents = void 0;
8
5
  /**
9
6
  * Event types of `LiveMediaSessionCoordinator`.
10
7
  */
11
- var MediaSessionCoordinatorEvents;
8
+ export var MediaSessionCoordinatorEvents;
12
9
  (function (MediaSessionCoordinatorEvents) {
13
10
  /**
14
11
  * Event emitted after the coordinator's state changed
@@ -22,5 +19,5 @@ var MediaSessionCoordinatorEvents;
22
19
  * Event emitted when an action would have been triggered, but a suspension is active for the local client.
23
20
  */
24
21
  MediaSessionCoordinatorEvents["triggeractionignored"] = "triggeractionignored";
25
- })(MediaSessionCoordinatorEvents || (exports.MediaSessionCoordinatorEvents = MediaSessionCoordinatorEvents = {}));
22
+ })(MediaSessionCoordinatorEvents || (MediaSessionCoordinatorEvents = {}));
26
23
  //# sourceMappingURL=MediaSessionExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSessionExtensions.js","sourceRoot":"","sources":["../../src/MediaSessionExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH;;GAEG;AACH,MAAM,CAAN,IAAY,6BAaX;AAbD,WAAY,6BAA6B;IACrC;;OAEG;IACH,kFAAiD,CAAA;IACjD;;OAEG;IACH,gEAA+B,CAAA;IAC/B;;OAEG;IACH,8EAA6C,CAAA;AACjD,CAAC,EAbW,6BAA6B,KAA7B,6BAA6B,QAaxC"}
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { MediaSessionActionThrottler } from "./MediaSessionActionThrottler";
6
- import { ExtendedMediaSessionActionDetails } from "./MediaSessionExtensions";
5
+ import { MediaSessionActionThrottler } from "./MediaSessionActionThrottler.js";
6
+ import { ExtendedMediaSessionActionDetails } from "./MediaSessionExtensions.js";
7
7
  /**
8
8
  * A Throttler that passes through all actions but will only let an action be repeated once every 2 seconds.
9
9
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepeatedActionThrottler.d.ts","sourceRoot":"","sources":["../../src/RepeatedActionThrottler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACH,iCAAiC,EAEpC,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,2BAA2B;IACpE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAK7B;IACF,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,eAAe,CAAC,CAAS;IAEjC,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAEtC;IAEM,SAAS,CACZ,OAAO,EAAE,yBAAyB,GAAG,iCAAiC,EACtE,OAAO,CAAC,EAAE,yBAAyB,GACpC,IAAI;IA4BP,OAAO,CAAC,YAAY;CAUvB"}