@microsoft/live-share-media 0.3.0 → 0.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.
package/README.md CHANGED
@@ -27,7 +27,7 @@ yarn add @microsoft/live-share-media
27
27
  After cloning the [GitHub repository](https://www.github.com/microsoft/live-share-sdk), navigate to the root folder and perform:
28
28
 
29
29
  ```bash
30
- npm install --legacy-peer-dep
30
+ npm install
31
31
  npm run build
32
32
  ```
33
33
 
@@ -72,9 +72,9 @@ const { mediaSession } = container.initialObjects;
72
72
  const player = document.getElementById("player");
73
73
  const synchronizer = mediaSession.synchronize(player);
74
74
 
75
- // Define roles you want to allow playback control and start sync
75
+ // Define roles you want to allow playback control and initialize sync
76
76
  const allowedRoles = ["Organizer", "Presenter"];
77
- await mediaSession.start(allowedRoles);
77
+ await mediaSession.initialize(allowedRoles);
78
78
 
79
79
  // Intercept user play, pause, seek, and set track actions through synchronizer
80
80
 
@@ -112,9 +112,10 @@ The Live Share SDK contains dependencies for [@microsoft/teams-js](https://www.n
112
112
 
113
113
  **It is critical that your app use the package dependencies listed in the table below.** Lookup the version of the `@microsoft/live-share` you're using and set any other dependencies in your package.json file to match:
114
114
 
115
- | @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-media | @fluidframework/test-client-utils |
116
- | --------------------- | -------------------- | --------------- | --------------------------- | --------------------------------- |
117
- | ~0.3.0 | 2.0.0-experimental.0 | ~0.59.0 | ~0.3.0 (optional) | ~0.59.0 (optional) |
115
+ | @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-media | @fluidframework/azure-client | @microsoft/TeamsFx | @microsoft/TeamsFx-react |
116
+ | --------------------- | -------------------- | --------------- | --------------------------- | ---------------------------- | ------------------------------- | ------------------------------- |
117
+ | ~0.4.1 | 2.0.0-experimental.1 | ~1.2.3 | ~0.4.1 (optional) | ~1.0.2 (optional) | 2.0.0-experimental.0 (optional) | 2.0.0-experimental.0 (optional) |
118
+ | ~0.3.1 | 2.0.0-experimental.0 | ~0.59.0 | ~0.3.1 (optional) | ~0.59.0 (optional) | 2.0.0-experimental.0 (optional) | 2.0.0-experimental.0 (optional) |
118
119
 
119
120
  ## Contributing
120
121
 
@@ -45,7 +45,12 @@ export declare class EphemeralMediaSession extends DataObject {
45
45
  get actionThrottler(): MediaSessionActionThrottler;
46
46
  set actionThrottler(value: MediaSessionActionThrottler);
47
47
  /**
48
- * Returns true if the object has been started.
48
+ * Returns true if the object has been initialized.
49
+ */
50
+ get isInitialized(): boolean;
51
+ /**
52
+ * @deprecated isInitialized should be used instead
53
+ * Returns true if the object has been initialized.
49
54
  */
50
55
  get isStarted(): boolean;
51
56
  /**
@@ -60,7 +65,14 @@ export declare class EphemeralMediaSession extends DataObject {
60
65
  */
61
66
  get logger(): EphemeralTelemetryLogger;
62
67
  /**
63
- * Starts the object.
68
+ * initialize the object.
69
+ * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
70
+ * operations like play/pause/seek/setTrack.
71
+ */
72
+ initialize(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void>;
73
+ /**
74
+ * @deprecated initialize should be used instead
75
+ * initialize the object.
64
76
  * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
65
77
  * operations like play/pause/seek/setTrack.
66
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EphemeralMediaSession.d.ts","sourceRoot":"","sources":["../src/EphemeralMediaSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAiC,0BAA0B,EAAqC,MAAM,0BAA0B,CAAC;AACxI,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACF,qBAAa,qBAAsB,SAAQ,UAAU;IAClD,OAAO,CAAC,gBAAgB,CAA8D;IACtF,OAAO,CAAC,OAAO,CAAC,CAA2B;IAC3C,OAAO,CAAC,0BAA0B,CAAC,CAA0B;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAmC;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IACrF,OAAO,CAAC,cAAc,CAAC,CAA0B;IAGjD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAa;IAEpC;;OAEG;IACF,gBAAuB,QAAQ,+CAA+C;IAE/E;;OAEG;IACF,gBAAuB,OAAO,+FAK7B;IAEF;;;;;;;;;;;;OAYG;IACH,IAAW,eAAe,IAAI,2BAA2B,CAExD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,2BAA2B,EAE5D;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,gCAAgC,CAEzD;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,wBAAwB,CAE5C;IAED;;;;OAIG;IACU,KAAK,CAAC,0BAA0B,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF;;;;OAIG;IACI,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAW5G;;;OAGG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,iBAAiB;IAIpE;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB;cA+BjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC/C,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;CAMzB"}
1
+ {"version":3,"file":"EphemeralMediaSession.d.ts","sourceRoot":"","sources":["../src/EphemeralMediaSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAiC,0BAA0B,EAAqC,MAAM,0BAA0B,CAAC;AACxI,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACF,qBAAa,qBAAsB,SAAQ,UAAU;IAClD,OAAO,CAAC,gBAAgB,CAA8D;IACtF,OAAO,CAAC,OAAO,CAAC,CAA2B;IAC3C,OAAO,CAAC,0BAA0B,CAAC,CAA0B;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAmC;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IACrF,OAAO,CAAC,cAAc,CAAC,CAA0B;IAGjD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAa;IAEpC;;OAEG;IACF,gBAAuB,QAAQ,+CAA+C;IAE/E;;OAEG;IACF,gBAAuB,OAAO,+FAK7B;IAEF;;;;;;;;;;;;OAYG;IACH,IAAW,eAAe,IAAI,2BAA2B,CAExD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,2BAA2B,EAE5D;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,gCAAgC,CAEzD;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,wBAAwB,CAE5C;IAED;;;;OAIG;IACK,UAAU,CAAC,0BAA0B,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E;;;;OAIG;IACI,gBAAgB,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAW5G;;;OAGG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,iBAAiB;IAIpE;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB;cA+BjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC/C,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;CAMzB"}
@@ -51,10 +51,17 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
51
51
  this._actionThrottler = value;
52
52
  }
53
53
  /**
54
- * Returns true if the object has been started.
54
+ * Returns true if the object has been initialized.
55
+ */
56
+ get isInitialized() {
57
+ return this.coordinator.isInitialized;
58
+ }
59
+ /**
60
+ * @deprecated isInitialized should be used instead
61
+ * Returns true if the object has been initialized.
55
62
  */
56
63
  get isStarted() {
57
- return this.coordinator.isStarted;
64
+ return this.isInitialized;
58
65
  }
59
66
  /**
60
67
  * The group coordinator for the session.
@@ -72,14 +79,21 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
72
79
  return this._logger;
73
80
  }
74
81
  /**
75
- * Starts the object.
82
+ * initialize the object.
83
+ * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
84
+ * operations like play/pause/seek/setTrack.
85
+ */
86
+ initialize(acceptTransportChangesFrom) {
87
+ return this.coordinator.initialize(acceptTransportChangesFrom);
88
+ }
89
+ /**
90
+ * @deprecated initialize should be used instead
91
+ * initialize the object.
76
92
  * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
77
93
  * operations like play/pause/seek/setTrack.
78
94
  */
79
95
  start(acceptTransportChangesFrom) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- this.coordinator.start(acceptTransportChangesFrom);
82
- });
96
+ return this.initialize(acceptTransportChangesFrom);
83
97
  }
84
98
  /**
85
99
  * Registers an action handler with the session.
@@ -124,7 +138,7 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
124
138
  // Send position update if interval hit
125
139
  const now = new Date().getTime();
126
140
  const delta = (now - this._lastUpdateTime) / 1000;
127
- if (this.coordinator.isStarted && delta >= this.coordinator.positionUpdateInterval) {
141
+ if (this.coordinator.isInitialized && delta >= this.coordinator.positionUpdateInterval) {
128
142
  this._lastUpdateTime = now;
129
143
  this.coordinator.sendPositionUpdate(state);
130
144
  }
@@ -174,7 +188,7 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
174
188
  }
175
189
  checkWaitPointHit(state) {
176
190
  // Was a wait point hit?
177
- if (state.positionState && this.coordinator.isStarted) {
191
+ if (state.positionState && this.coordinator.isInitialized) {
178
192
  const waitPoint = this.coordinator.findNextWaitPoint();
179
193
  if (waitPoint && state.positionState.position != undefined && state.positionState.position >= waitPoint.position) {
180
194
  // Ensure handler registered
@@ -1 +1 @@
1
- {"version":3,"file":"EphemeralMediaSession.js","sourceRoot":"","sources":["../src/EphemeralMediaSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EphemeralMediaSession.js","sourceRoot":"","sources":["../src/EphemeralMediaSession.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
42
42
  private _positionUpdateInterval;
43
43
  private _maxPlaybackDrift;
44
44
  private _lastWaitPoint?;
45
- private _hasStarted;
45
+ private _hasInitialized;
46
46
  private _playEvent?;
47
47
  private _pauseEvent?;
48
48
  private _seekToEvent?;
@@ -134,7 +134,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
134
134
  * Instructs the group to play the current track.
135
135
  *
136
136
  * @remarks
137
- * Throws an exception if the session/coordinator hasn't been started, no track has been
137
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
138
138
  * loaded, or `canPlayPause` is false.
139
139
  */
140
140
  play(): void;
@@ -142,7 +142,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
142
142
  * Instructs the group to pause the current track.
143
143
  *
144
144
  * @remarks
145
- * Throws an exception if the session/coordinator hasn't been started, no track has been
145
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
146
146
  * loaded, or `canPlayPause` is false.
147
147
  */
148
148
  pause(): void;
@@ -150,7 +150,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
150
150
  * Instructs the group to seek to a new position within the current track.
151
151
  *
152
152
  * @remarks
153
- * Throws an exception if the session/coordinator hasn't been started, no track has been
153
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
154
154
  * loaded, or `canSeek` is false.
155
155
  * @param time Playback position in seconds to seek to.
156
156
  */
@@ -159,7 +159,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
159
159
  * Instructs the group to load a new track.
160
160
  *
161
161
  * @remarks
162
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrack` is
162
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrack` is
163
163
  * false.
164
164
  * @param metadata The track to load or `null` to indicate that the end of the track is reached.
165
165
  * @param waitPoints Optional. List of static wait points to configure for the track. Dynamic wait points can be added via the `beginSuspension()` call.
@@ -172,7 +172,7 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
172
172
  * The track data object can be used by applications to synchronize things like pitch, roll,
173
173
  * and yaw of a 360 video. This data object will be reset to null anytime the track changes.
174
174
  *
175
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrackData` is
175
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrackData` is
176
176
  * false.
177
177
  * @param data New data object to sync with the group. This value will be synchronized using a last writer wins strategy.
178
178
  */
@@ -197,21 +197,21 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
197
197
  * in a suspension state until the list client ends their suspension. This behavior can be
198
198
  * conditionally bypassed by settings the wait points `maxClients` value.
199
199
  *
200
- * Throws an exception if the session/coordinator hasn't been started.
200
+ * Throws an exception if the session/coordinator hasn't been initialized.
201
201
  * @param waitPoint Optional. Dynamic wait point to broadcast to all of the clients.
202
202
  * @returns The suspension object. Call `end()` on the returned suspension to end the suspension.
203
203
  */
204
204
  beginSuspension(waitPoint?: CoordinationWaitPoint): MediaSessionCoordinatorSuspension;
205
205
  /**
206
206
  * @hidden
207
- * Called by MediaSession to verify the coordinator has been started.
207
+ * Called by MediaSession to verify the coordinator has been initialized.
208
208
  */
209
- get isStarted(): boolean;
209
+ get isInitialized(): boolean;
210
210
  /**
211
211
  * @hidden
212
212
  * Called by MediaSession to start coordinator.
213
213
  */
214
- start(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void>;
214
+ initialize(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void>;
215
215
  /**
216
216
  * @hidden
217
217
  * Called by the MediaSession to detect if a wait point has been hit.
@@ -1 +1 @@
1
- {"version":3,"file":"EphemeralMediaSessionCoordinator.d.ts","sourceRoot":"","sources":["../src/EphemeralMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EphemeralMediaSessionCoordinator.d.ts","sourceRoot":"","sources":["../src/EphemeralMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
35
35
  super();
36
36
  this._positionUpdateInterval = new live_share_1.TimeInterval(2000);
37
37
  this._maxPlaybackDrift = new live_share_1.TimeInterval(1000);
38
- this._hasStarted = false;
38
+ this._hasInitialized = false;
39
39
  /**
40
40
  * Controls whether or not the local client is allowed to instruct the group to play or pause.
41
41
  *
@@ -128,13 +128,13 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
128
128
  * Instructs the group to play the current track.
129
129
  *
130
130
  * @remarks
131
- * Throws an exception if the session/coordinator hasn't been started, no track has been
131
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
132
132
  * loaded, or `canPlayPause` is false.
133
133
  */
134
134
  play() {
135
135
  var _a;
136
- if (!this._hasStarted) {
137
- throw new Error(`EphemeralMediaSessionCoordinator.play() called before start() called.`);
136
+ if (!this._hasInitialized) {
137
+ throw new Error(`EphemeralMediaSessionCoordinator.play() called before initialize() called.`);
138
138
  }
139
139
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
140
140
  throw new Error(`EphemeralMediaSessionCoordinator.play() called before MediaSession.metadata assigned.`);
@@ -155,13 +155,13 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
155
155
  * Instructs the group to pause the current track.
156
156
  *
157
157
  * @remarks
158
- * Throws an exception if the session/coordinator hasn't been started, no track has been
158
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
159
159
  * loaded, or `canPlayPause` is false.
160
160
  */
161
161
  pause() {
162
162
  var _a;
163
- if (!this._hasStarted) {
164
- throw new Error(`EphemeralMediaSessionCoordinator.pause() called before start() called.`);
163
+ if (!this._hasInitialized) {
164
+ throw new Error(`EphemeralMediaSessionCoordinator.pause() called before initialize() called.`);
165
165
  }
166
166
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
167
167
  throw new Error(`EphemeralMediaSessionCoordinator.pause() called before MediaSession.metadata assigned.`);
@@ -182,14 +182,14 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
182
182
  * Instructs the group to seek to a new position within the current track.
183
183
  *
184
184
  * @remarks
185
- * Throws an exception if the session/coordinator hasn't been started, no track has been
185
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
186
186
  * loaded, or `canSeek` is false.
187
187
  * @param time Playback position in seconds to seek to.
188
188
  */
189
189
  seekTo(time) {
190
190
  var _a;
191
- if (!this._hasStarted) {
192
- throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before start() called.`);
191
+ if (!this._hasInitialized) {
192
+ throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before initialize() called.`);
193
193
  }
194
194
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
195
195
  throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before MediaSession.metadata assigned.`);
@@ -208,14 +208,14 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
208
208
  * Instructs the group to load a new track.
209
209
  *
210
210
  * @remarks
211
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrack` is
211
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrack` is
212
212
  * false.
213
213
  * @param metadata The track to load or `null` to indicate that the end of the track is reached.
214
214
  * @param waitPoints Optional. List of static wait points to configure for the track. Dynamic wait points can be added via the `beginSuspension()` call.
215
215
  */
216
216
  setTrack(metadata, waitPoints) {
217
- if (!this._hasStarted) {
218
- throw new Error(`EphemeralMediaSessionCoordinator.setTrack() called before start() called.`);
217
+ if (!this._hasInitialized) {
218
+ throw new Error(`EphemeralMediaSessionCoordinator.setTrack() called before initialize() called.`);
219
219
  }
220
220
  if (!this.canSetTrack) {
221
221
  throw new Error(`EphemeralMediaSessionCoordinator.setTrack() operation blocked.`);
@@ -234,13 +234,13 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
234
234
  * The track data object can be used by applications to synchronize things like pitch, roll,
235
235
  * and yaw of a 360 video. This data object will be reset to null anytime the track changes.
236
236
  *
237
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrackData` is
237
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrackData` is
238
238
  * false.
239
239
  * @param data New data object to sync with the group. This value will be synchronized using a last writer wins strategy.
240
240
  */
241
241
  setTrackData(data) {
242
- if (!this._hasStarted) {
243
- throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() called before start() called.`);
242
+ if (!this._hasInitialized) {
243
+ throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() called before initialize() called.`);
244
244
  }
245
245
  if (!this.canSetTrackData) {
246
246
  throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() operation blocked.`);
@@ -271,14 +271,14 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
271
271
  * in a suspension state until the list client ends their suspension. This behavior can be
272
272
  * conditionally bypassed by settings the wait points `maxClients` value.
273
273
  *
274
- * Throws an exception if the session/coordinator hasn't been started.
274
+ * Throws an exception if the session/coordinator hasn't been initialized.
275
275
  * @param waitPoint Optional. Dynamic wait point to broadcast to all of the clients.
276
276
  * @returns The suspension object. Call `end()` on the returned suspension to end the suspension.
277
277
  */
278
278
  beginSuspension(waitPoint) {
279
279
  var _a;
280
- if (!this._hasStarted) {
281
- throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before start() called.`);
280
+ if (!this._hasInitialized) {
281
+ throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before initialize() called.`);
282
282
  }
283
283
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
284
284
  throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before MediaSession.metadata assigned.`);
@@ -311,23 +311,23 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
311
311
  }
312
312
  /**
313
313
  * @hidden
314
- * Called by MediaSession to verify the coordinator has been started.
314
+ * Called by MediaSession to verify the coordinator has been initialized.
315
315
  */
316
- get isStarted() {
317
- return this._hasStarted;
316
+ get isInitialized() {
317
+ return this._hasInitialized;
318
318
  }
319
319
  /**
320
320
  * @hidden
321
321
  * Called by MediaSession to start coordinator.
322
322
  */
323
- start(acceptTransportChangesFrom) {
323
+ initialize(acceptTransportChangesFrom) {
324
324
  return __awaiter(this, void 0, void 0, function* () {
325
- if (this._hasStarted) {
326
- throw new Error(`EphemeralMediaSessionCoordinator.start() already started.`);
325
+ if (this._hasInitialized) {
326
+ throw new Error(`EphemeralMediaSessionCoordinator.initialize() already initialized.`);
327
327
  }
328
328
  // Create children
329
329
  yield this.createChildren(acceptTransportChangesFrom);
330
- this._hasStarted = true;
330
+ this._hasInitialized = true;
331
331
  });
332
332
  }
333
333
  /**
@@ -344,8 +344,8 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
344
344
  */
345
345
  sendPositionUpdate(state) {
346
346
  var _a;
347
- if (!this._hasStarted) {
348
- throw new Error(`EphemeralMediaSessionCoordinator.sendPositionUpdate() called before start() called.`);
347
+ if (!this._hasInitialized) {
348
+ throw new Error(`EphemeralMediaSessionCoordinator.sendPositionUpdate() called before initialize() called.`);
349
349
  }
350
350
  // Send position update event
351
351
  const evt = this._groupState.createPositionUpdateEvent(state);
@@ -1 +1 @@
1
- {"version":3,"file":"EphemeralMediaSessionCoordinator.js","sourceRoot":"","sources":["../src/EphemeralMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EphemeralMediaSessionCoordinator.js","sourceRoot":"","sources":["../src/EphemeralMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface IMediaPlayer {
14
14
  volume: number;
15
15
  load(): void;
16
16
  pause(): void;
17
- play(): void;
17
+ play(): Promise<void>;
18
18
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
19
19
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
20
20
  }
@@ -1 +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,IAAI,CAAC;IACb,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAChI,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAAC;CACnI"}
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,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAAC;IAChI,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAAC;CACnI"}
@@ -17,6 +17,10 @@ export interface IMediaPlayerSynchronizerEvent extends IEvent {
17
17
  * Event details.
18
18
  */
19
19
  details: ExtendedMediaSessionActionDetails;
20
+ /**
21
+ * Action errors, including DOMException errors thrown by HTMLMediaElement
22
+ */
23
+ error?: Error;
20
24
  }
21
25
  /**
22
26
  * Events supported by `MediaPlayerSynchronizer` object.
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAA4B,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiE,qBAAqB,EAAE,qBAAqB,EAAE,iCAAiC,EAAoE,MAAM,0BAA0B,CAAC;AAC5P,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM;IACzD;;OAEG;IACH,OAAO,EAAE,iCAAiC,CAAC;CAC9C;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0G;IACxI,OAAO,CAAC,MAAM,CAAC,aAAa,CAAoG;IAEhI,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAoC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAA6C;IAC3E,OAAO,CAAC,UAAU,CAAqB;IAEvC;;;;;OAKG;gBACS,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,IAAI;IAqIxF;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,CAE/C;IAED;;;;;;;;;OASG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAMjC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK3H;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK9H;;OAEG;IACI,GAAG,IAAI,IAAI;IAqBlB;;;;;;;;OAQG;IACI,SAAS,IAAI,IAAI;IASxB;;;OAGG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBpC;;;;;;OAMG;IACI,IAAI,IAAI,IAAI;IAQnB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAQpB;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYjC;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAOzF;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAQ5C,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;YAQZ,aAAa;CAG9B"}
1
+ {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAA4B,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiE,qBAAqB,EAAE,qBAAqB,EAAE,iCAAiC,EAAoE,MAAM,0BAA0B,CAAC;AAC5P,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM;IACzD;;OAEG;IACH,OAAO,EAAE,iCAAiC,CAAC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0G;IACxI,OAAO,CAAC,MAAM,CAAC,aAAa,CAAoG;IAEhI,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAoC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAA6C;IAC3E,OAAO,CAAC,UAAU,CAAqB;IAEvC;;;;;OAKG;gBACS,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,IAAI;IA+IxF;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,CAE/C;IAED;;;;;;;;;OASG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAMjC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK3H;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK9H;;OAEG;IACI,GAAG,IAAI,IAAI;IAqBlB;;;;;;;;OAQG;IACI,SAAS,IAAI,IAAI;IASxB;;;OAGG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBpC;;;;;;OAMG;IACI,IAAI,IAAI,IAAI;IAQnB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAQpB;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYjC;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAOzF;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAQ5C,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;YAQZ,aAAa;CAG9B"}
@@ -124,52 +124,65 @@ class MediaPlayerSynchronizer extends events_1.default {
124
124
  this._mediaSession.coordinator.on(MediaSessionExtensions_1.MediaSessionCoordinatorEvents.coordinatorstatechange, evt => this.emit(evt.type, evt));
125
125
  // Register media session actions
126
126
  for (const action of MediaPlayerSynchronizer.SESSION_ACTIONS) {
127
- this._mediaSession.setActionHandler(action, (details) => {
128
- switch (details.action) {
129
- case 'play':
130
- this._expectedPlaybackState = 'playing';
131
- if (this._player.paused) {
132
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PlayAction);
127
+ this._mediaSession.setActionHandler(action, (details) => __awaiter(this, void 0, void 0, function* () {
128
+ var _a;
129
+ let error;
130
+ try {
131
+ switch (details.action) {
132
+ case 'play':
133
+ this._expectedPlaybackState = 'playing';
134
+ if (this._player.paused) {
135
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PlayAction);
136
+ if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
137
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, { position: details.seekTime });
138
+ this._player.currentTime = details.seekTime;
139
+ }
140
+ // Reference: https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play#exceptions
141
+ yield this._player.play();
142
+ }
143
+ break;
144
+ case 'pause':
145
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PauseAction);
146
+ this._expectedPlaybackState = 'paused';
133
147
  if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
134
148
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, { position: details.seekTime });
135
149
  this._player.currentTime = details.seekTime;
136
150
  }
137
- this._player.play();
138
- }
139
- break;
140
- case 'pause':
141
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.PauseAction);
142
- this._expectedPlaybackState = 'paused';
143
- if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
144
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, { position: details.seekTime });
145
- this._player.currentTime = details.seekTime;
146
- }
147
- this._player.pause();
148
- break;
149
- case 'seekto':
150
- if (typeof details.seekTime == 'number') {
151
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekToAction, null, { position: details.seekTime });
152
- this._player.currentTime = details.seekTime;
153
- }
154
- break;
155
- case 'settrack':
156
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SetTrackAction);
157
- this._expectedPlaybackState = 'none';
158
- this._player.src = details.metadata.trackIdentifier;
159
- this._player.load();
160
- break;
161
- case 'datachange':
162
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.DataChangeAction);
163
- break;
164
- case 'catchup':
165
- if (typeof details.seekTime == 'number') {
166
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.CatchupAction, null, { position: details.seekTime });
167
- this.catchupPlayer(details.seekTime);
168
- }
169
- break;
151
+ this._player.pause();
152
+ break;
153
+ case 'seekto':
154
+ if (typeof details.seekTime == 'number') {
155
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SeekToAction, null, { position: details.seekTime });
156
+ this._player.currentTime = details.seekTime;
157
+ }
158
+ break;
159
+ case 'settrack':
160
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.SetTrackAction);
161
+ this._expectedPlaybackState = 'none';
162
+ this._player.src = details.metadata.trackIdentifier;
163
+ this._player.load();
164
+ break;
165
+ case 'datachange':
166
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.DataChangeAction);
167
+ break;
168
+ case 'catchup':
169
+ if (typeof details.seekTime == 'number') {
170
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaPlayerSynchronizer.CatchupAction, null, { position: details.seekTime });
171
+ this.catchupPlayer(details.seekTime);
172
+ }
173
+ break;
174
+ }
175
+ }
176
+ catch (err) {
177
+ if (err instanceof Error) {
178
+ error = err;
179
+ }
180
+ else {
181
+ error = new Error((_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : "An unknown error occurred after processing the group session action.");
182
+ }
170
183
  }
171
- this.dispatchGroupAction(details);
172
- });
184
+ this.dispatchGroupAction(details, false, error);
185
+ }));
173
186
  }
174
187
  // Subscribe to player events
175
188
  for (const event of MediaPlayerSynchronizer.PLAYER_EVENTS) {
@@ -356,12 +369,12 @@ class MediaPlayerSynchronizer extends events_1.default {
356
369
  this._mediaSession.coordinator.setTrackData(data);
357
370
  this.dispatchUserAction({ action: 'datachange', data: data });
358
371
  }
359
- dispatchGroupAction(details, delay = false) {
372
+ dispatchGroupAction(details, delay = false, error) {
360
373
  if (delay) {
361
- setTimeout(() => this.emit(MediaPlayerSynchronizerEvents.groupaction, { type: MediaPlayerSynchronizerEvents.groupaction, details: details }), 50);
374
+ setTimeout(() => this.emit(MediaPlayerSynchronizerEvents.groupaction, { type: MediaPlayerSynchronizerEvents.groupaction, details: details, playerError: error }), 50);
362
375
  }
363
376
  else {
364
- this.emit(MediaPlayerSynchronizerEvents.groupaction, { type: MediaPlayerSynchronizerEvents.groupaction, details: details });
377
+ this.emit(MediaPlayerSynchronizerEvents.groupaction, { type: MediaPlayerSynchronizerEvents.groupaction, details: details, error });
365
378
  }
366
379
  }
367
380
  dispatchUserAction(details, delay = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerSynchronizer.js","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaPlayerSynchronizer.js","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/live-share-media",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Live Share classes that synchronize media playback across clients.",
5
5
  "author": "Microsoft",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -14,8 +14,8 @@
14
14
  "test:coverage": "nyc --reporter=html --reporter=text --reporter=text-summary npm test"
15
15
  },
16
16
  "dependencies": {
17
- "fluid-framework": "~0.59.0",
18
- "@microsoft/live-share": "0.3.0"
17
+ "fluid-framework": "~1.2.3",
18
+ "@microsoft/live-share": "0.4.1"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/assert": "^1.5.6",
@@ -65,10 +65,18 @@ import { IMediaPlayer } from './IMediaPlayer';
65
65
  }
66
66
 
67
67
  /**
68
- * Returns true if the object has been started.
68
+ * Returns true if the object has been initialized.
69
+ */
70
+ public get isInitialized(): boolean {
71
+ return this.coordinator.isInitialized;
72
+ }
73
+
74
+ /**
75
+ * @deprecated isInitialized should be used instead
76
+ * Returns true if the object has been initialized.
69
77
  */
70
78
  public get isStarted(): boolean {
71
- return this.coordinator.isStarted;
79
+ return this.isInitialized
72
80
  }
73
81
 
74
82
  /**
@@ -89,12 +97,22 @@ import { IMediaPlayer } from './IMediaPlayer';
89
97
  }
90
98
 
91
99
  /**
92
- * Starts the object.
100
+ * initialize the object.
101
+ * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
102
+ * operations like play/pause/seek/setTrack.
103
+ */
104
+ public initialize(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void> {
105
+ return this.coordinator.initialize(acceptTransportChangesFrom);
106
+ }
107
+
108
+ /**
109
+ * @deprecated initialize should be used instead
110
+ * initialize the object.
93
111
  * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
94
112
  * operations like play/pause/seek/setTrack.
95
113
  */
96
- public async start(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void> {
97
- this.coordinator.start(acceptTransportChangesFrom);
114
+ public start(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void> {
115
+ return this.initialize(acceptTransportChangesFrom)
98
116
  }
99
117
 
100
118
  /**
@@ -145,7 +163,7 @@ import { IMediaPlayer } from './IMediaPlayer';
145
163
  // Send position update if interval hit
146
164
  const now = new Date().getTime();
147
165
  const delta = (now - this._lastUpdateTime) / 1000;
148
- if (this.coordinator.isStarted && delta >= this.coordinator.positionUpdateInterval) {
166
+ if (this.coordinator.isInitialized && delta >= this.coordinator.positionUpdateInterval) {
149
167
  this._lastUpdateTime = now;
150
168
  this.coordinator.sendPositionUpdate(state);
151
169
  }
@@ -198,7 +216,7 @@ import { IMediaPlayer } from './IMediaPlayer';
198
216
 
199
217
  private checkWaitPointHit(state: IMediaPlayerState): void {
200
218
  // Was a wait point hit?
201
- if (state.positionState && this.coordinator.isStarted) {
219
+ if (state.positionState && this.coordinator.isInitialized) {
202
220
  const waitPoint = this.coordinator.findNextWaitPoint();
203
221
  if (waitPoint && state.positionState.position != undefined && state.positionState.position >= waitPoint.position) {
204
222
  // Ensure handler registered
@@ -49,7 +49,7 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
49
49
  private _positionUpdateInterval = new TimeInterval(2000);
50
50
  private _maxPlaybackDrift = new TimeInterval(1000);
51
51
  private _lastWaitPoint?: CoordinationWaitPoint;
52
- private _hasStarted = false;
52
+ private _hasInitialized = false;
53
53
 
54
54
  // Broadcast events
55
55
  private _playEvent?: EphemeralEventTarget<ITransportCommandEvent>;
@@ -172,12 +172,12 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
172
172
  * Instructs the group to play the current track.
173
173
  *
174
174
  * @remarks
175
- * Throws an exception if the session/coordinator hasn't been started, no track has been
175
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
176
176
  * loaded, or `canPlayPause` is false.
177
177
  */
178
178
  public play(): void {
179
- if (!this._hasStarted) {
180
- throw new Error(`EphemeralMediaSessionCoordinator.play() called before start() called.`);
179
+ if (!this._hasInitialized) {
180
+ throw new Error(`EphemeralMediaSessionCoordinator.play() called before initialize() called.`);
181
181
  }
182
182
 
183
183
  if (!this._groupState?.playbackTrack.current.metadata) {
@@ -203,12 +203,12 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
203
203
  * Instructs the group to pause the current track.
204
204
  *
205
205
  * @remarks
206
- * Throws an exception if the session/coordinator hasn't been started, no track has been
206
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
207
207
  * loaded, or `canPlayPause` is false.
208
208
  */
209
209
  public pause(): void {
210
- if (!this._hasStarted) {
211
- throw new Error(`EphemeralMediaSessionCoordinator.pause() called before start() called.`);
210
+ if (!this._hasInitialized) {
211
+ throw new Error(`EphemeralMediaSessionCoordinator.pause() called before initialize() called.`);
212
212
  }
213
213
 
214
214
  if (!this._groupState?.playbackTrack.current.metadata) {
@@ -234,13 +234,13 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
234
234
  * Instructs the group to seek to a new position within the current track.
235
235
  *
236
236
  * @remarks
237
- * Throws an exception if the session/coordinator hasn't been started, no track has been
237
+ * Throws an exception if the session/coordinator hasn't been initialized, no track has been
238
238
  * loaded, or `canSeek` is false.
239
239
  * @param time Playback position in seconds to seek to.
240
240
  */
241
241
  public seekTo(time: number): void {
242
- if (!this._hasStarted) {
243
- throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before start() called.`);
242
+ if (!this._hasInitialized) {
243
+ throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before initialize() called.`);
244
244
  }
245
245
 
246
246
  if (!this._groupState?.playbackTrack.current.metadata) {
@@ -263,14 +263,14 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
263
263
  * Instructs the group to load a new track.
264
264
  *
265
265
  * @remarks
266
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrack` is
266
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrack` is
267
267
  * false.
268
268
  * @param metadata The track to load or `null` to indicate that the end of the track is reached.
269
269
  * @param waitPoints Optional. List of static wait points to configure for the track. Dynamic wait points can be added via the `beginSuspension()` call.
270
270
  */
271
271
  public setTrack(metadata: ExtendedMediaMetadata|null, waitPoints?: CoordinationWaitPoint[]): void {
272
- if (!this._hasStarted) {
273
- throw new Error(`EphemeralMediaSessionCoordinator.setTrack() called before start() called.`);
272
+ if (!this._hasInitialized) {
273
+ throw new Error(`EphemeralMediaSessionCoordinator.setTrack() called before initialize() called.`);
274
274
  }
275
275
 
276
276
  if (!this.canSetTrack) {
@@ -292,13 +292,13 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
292
292
  * The track data object can be used by applications to synchronize things like pitch, roll,
293
293
  * and yaw of a 360 video. This data object will be reset to null anytime the track changes.
294
294
  *
295
- * Throws an exception if the session/coordinator hasn't been started or `canSetTrackData` is
295
+ * Throws an exception if the session/coordinator hasn't been initialized or `canSetTrackData` is
296
296
  * false.
297
297
  * @param data New data object to sync with the group. This value will be synchronized using a last writer wins strategy.
298
298
  */
299
299
  public setTrackData(data: object|null): void {
300
- if (!this._hasStarted) {
301
- throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() called before start() called.`);
300
+ if (!this._hasInitialized) {
301
+ throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() called before initialize() called.`);
302
302
  }
303
303
 
304
304
  if (!this.canSetTrackData) {
@@ -332,13 +332,13 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
332
332
  * in a suspension state until the list client ends their suspension. This behavior can be
333
333
  * conditionally bypassed by settings the wait points `maxClients` value.
334
334
  *
335
- * Throws an exception if the session/coordinator hasn't been started.
335
+ * Throws an exception if the session/coordinator hasn't been initialized.
336
336
  * @param waitPoint Optional. Dynamic wait point to broadcast to all of the clients.
337
337
  * @returns The suspension object. Call `end()` on the returned suspension to end the suspension.
338
338
  */
339
339
  public beginSuspension(waitPoint?: CoordinationWaitPoint): MediaSessionCoordinatorSuspension {
340
- if (!this._hasStarted) {
341
- throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before start() called.`);
340
+ if (!this._hasInitialized) {
341
+ throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before initialize() called.`);
342
342
  }
343
343
 
344
344
  if (!this._groupState?.playbackTrack.current.metadata) {
@@ -372,24 +372,24 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
372
372
 
373
373
  /**
374
374
  * @hidden
375
- * Called by MediaSession to verify the coordinator has been started.
375
+ * Called by MediaSession to verify the coordinator has been initialized.
376
376
  */
377
- public get isStarted(): boolean {
378
- return this._hasStarted;
377
+ public get isInitialized(): boolean {
378
+ return this._hasInitialized;
379
379
  }
380
380
 
381
381
  /**
382
382
  * @hidden
383
383
  * Called by MediaSession to start coordinator.
384
384
  */
385
- public async start(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void> {
386
- if (this._hasStarted) {
387
- throw new Error(`EphemeralMediaSessionCoordinator.start() already started.`);
385
+ public async initialize(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void> {
386
+ if (this._hasInitialized) {
387
+ throw new Error(`EphemeralMediaSessionCoordinator.initialize() already initialized.`);
388
388
  }
389
389
 
390
390
  // Create children
391
391
  await this.createChildren(acceptTransportChangesFrom);
392
- this._hasStarted = true;
392
+ this._hasInitialized = true;
393
393
  }
394
394
 
395
395
  /**
@@ -405,8 +405,8 @@ export class EphemeralMediaSessionCoordinator extends EventEmitter {
405
405
  * Called by MediaSession to trigger the sending of a position update.
406
406
  */
407
407
  public sendPositionUpdate(state: IMediaPlayerState): void {
408
- if (!this._hasStarted) {
409
- throw new Error(`EphemeralMediaSessionCoordinator.sendPositionUpdate() called before start() called.`);
408
+ if (!this._hasInitialized) {
409
+ throw new Error(`EphemeralMediaSessionCoordinator.sendPositionUpdate() called before initialize() called.`);
410
410
  }
411
411
 
412
412
  // Send position update event
@@ -15,7 +15,7 @@ export interface IMediaPlayer {
15
15
  volume: number;
16
16
  load(): void;
17
17
  pause(): void;
18
- play(): void;
18
+ play(): Promise<void>;
19
19
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
20
20
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
21
21
  }
@@ -19,6 +19,10 @@ export interface IMediaPlayerSynchronizerEvent extends IEvent {
19
19
  * Event details.
20
20
  */
21
21
  details: ExtendedMediaSessionActionDetails;
22
+ /**
23
+ * Action errors, including DOMException errors thrown by HTMLMediaElement
24
+ */
25
+ error?: Error;
22
26
  }
23
27
 
24
28
  /**
@@ -139,52 +143,62 @@ export class MediaPlayerSynchronizer extends EventEmitter {
139
143
 
140
144
  // Register media session actions
141
145
  for (const action of MediaPlayerSynchronizer.SESSION_ACTIONS) {
142
- this._mediaSession.setActionHandler(action, (details: ExtendedMediaSessionActionDetails) => {
143
- switch (details.action) {
144
- case 'play':
145
- this._expectedPlaybackState = 'playing';
146
- if (this._player.paused) {
147
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PlayAction);
146
+ this._mediaSession.setActionHandler(action, async (details: ExtendedMediaSessionActionDetails) => {
147
+ let error: Error | undefined;
148
+ try {
149
+ switch (details.action) {
150
+ case 'play':
151
+ this._expectedPlaybackState = 'playing';
152
+ if (this._player.paused) {
153
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PlayAction);
154
+ if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
155
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, {position: details.seekTime})
156
+ this._player.currentTime = details.seekTime!;
157
+ }
158
+ // Reference: https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/play#exceptions
159
+ await this._player.play();
160
+ }
161
+ break;
162
+ case 'pause':
163
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PauseAction);
164
+ this._expectedPlaybackState = 'paused';
148
165
  if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
149
166
  this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, {position: details.seekTime})
150
167
  this._player.currentTime = details.seekTime!;
151
168
  }
152
- this._player.play();
153
- }
154
- break;
155
- case 'pause':
156
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.PauseAction);
157
- this._expectedPlaybackState = 'paused';
158
- if (typeof details.seekTime == 'number' && this._player.currentTime < 1.0) {
159
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekingPlayerToStartPosition, null, {position: details.seekTime})
160
- this._player.currentTime = details.seekTime!;
161
- }
162
- this._player.pause();
163
- break;
164
- case 'seekto':
165
- if (typeof details.seekTime == 'number') {
166
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekToAction, null, {position: details.seekTime});
167
- this._player.currentTime = details.seekTime!;
168
- }
169
- break;
170
- case 'settrack':
171
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SetTrackAction);
172
- this._expectedPlaybackState = 'none';
173
- this._player.src = details.metadata!.trackIdentifier;
174
- this._player.load();
175
- break;
176
- case 'datachange':
177
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.DataChangeAction);
178
- break;
179
- case 'catchup':
180
- if (typeof details.seekTime == 'number') {
181
- this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.CatchupAction, null, {position: details.seekTime});
182
- this.catchupPlayer(details.seekTime!);
183
- }
184
- break;
169
+ this._player.pause();
170
+ break;
171
+ case 'seekto':
172
+ if (typeof details.seekTime == 'number') {
173
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SeekToAction, null, {position: details.seekTime});
174
+ this._player.currentTime = details.seekTime!;
175
+ }
176
+ break;
177
+ case 'settrack':
178
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.SetTrackAction);
179
+ this._expectedPlaybackState = 'none';
180
+ this._player.src = details.metadata!.trackIdentifier;
181
+ this._player.load();
182
+ break;
183
+ case 'datachange':
184
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.DataChangeAction);
185
+ break;
186
+ case 'catchup':
187
+ if (typeof details.seekTime == 'number') {
188
+ this._logger.sendTelemetryEvent(TelemetryEvents.MediaPlayerSynchronizer.CatchupAction, null, {position: details.seekTime});
189
+ this.catchupPlayer(details.seekTime!);
190
+ }
191
+ break;
192
+ }
193
+ } catch (err: any) {
194
+ if (err instanceof Error) {
195
+ error = err;
196
+ } else {
197
+ error = new Error(err?.message ?? "An unknown error occurred after processing the group session action.");
198
+ }
185
199
  }
186
200
 
187
- this.dispatchGroupAction(details);
201
+ this.dispatchGroupAction(details, false, error);
188
202
  });
189
203
  }
190
204
 
@@ -402,11 +416,11 @@ export class MediaPlayerSynchronizer extends EventEmitter {
402
416
  this.dispatchUserAction({action: 'datachange', data: data});
403
417
  }
404
418
 
405
- private dispatchGroupAction(details: ExtendedMediaSessionActionDetails, delay = false): void {
419
+ private dispatchGroupAction(details: ExtendedMediaSessionActionDetails, delay = false, error: Error | undefined): void {
406
420
  if (delay) {
407
- setTimeout(() => this.emit(MediaPlayerSynchronizerEvents.groupaction, {type: MediaPlayerSynchronizerEvents.groupaction, details: details}), 50);
421
+ setTimeout(() => this.emit(MediaPlayerSynchronizerEvents.groupaction, {type: MediaPlayerSynchronizerEvents.groupaction, details: details, playerError: error}), 50);
408
422
  } else {
409
- this.emit(MediaPlayerSynchronizerEvents.groupaction, {type: MediaPlayerSynchronizerEvents.groupaction, details: details});
423
+ this.emit(MediaPlayerSynchronizerEvents.groupaction, {type: MediaPlayerSynchronizerEvents.groupaction, details: details, error});
410
424
  }
411
425
  }
412
426
 
@@ -1,2 +0,0 @@
1
- {
2
- }