@microsoft/live-share-media 1.0.0-preview.1 → 1.0.0-preview.3
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 +1 -1
- package/bin/IMediaPlayer.d.ts.map +1 -1
- package/bin/LiveMediaSession.d.ts +7 -7
- package/bin/LiveMediaSession.d.ts.map +1 -1
- package/bin/LiveMediaSession.js +28 -17
- package/bin/LiveMediaSession.js.map +1 -1
- package/bin/LiveMediaSessionCoordinator.d.ts +2 -2
- package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
- package/bin/LiveMediaSessionCoordinator.js +34 -22
- package/bin/LiveMediaSessionCoordinator.js.map +1 -1
- package/bin/LiveMediaSessionCoordinatorSuspension.d.ts +1 -1
- package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -1
- package/bin/LiveMediaSessionCoordinatorSuspension.js.map +1 -1
- package/bin/MediaPlayerSynchronizer.d.ts +7 -7
- package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
- package/bin/MediaPlayerSynchronizer.js +121 -69
- package/bin/MediaPlayerSynchronizer.js.map +1 -1
- package/bin/MediaSessionActionThrottler.d.ts +1 -1
- package/bin/MediaSessionActionThrottler.d.ts.map +1 -1
- package/bin/MediaSessionActionThrottler.js.map +1 -1
- package/bin/MediaSessionExtensions.d.ts.map +1 -1
- package/bin/RepeatedActionThrottler.d.ts +2 -2
- package/bin/RepeatedActionThrottler.d.ts.map +1 -1
- package/bin/RepeatedActionThrottler.js +9 -3
- package/bin/RepeatedActionThrottler.js.map +1 -1
- package/bin/VolumeManager.d.ts +1 -1
- package/bin/VolumeManager.d.ts.map +1 -1
- package/bin/VolumeManager.js +4 -2
- package/bin/VolumeManager.js.map +1 -1
- package/bin/index.d.ts +9 -9
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js.map +1 -1
- package/bin/internals/GroupCoordinatorState.d.ts +8 -8
- package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
- package/bin/internals/GroupCoordinatorState.js +91 -53
- package/bin/internals/GroupCoordinatorState.js.map +1 -1
- package/bin/internals/GroupPlaybackPosition.d.ts +3 -3
- package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackPosition.js +22 -13
- package/bin/internals/GroupPlaybackPosition.js.map +1 -1
- package/bin/internals/GroupPlaybackTrack.d.ts +4 -4
- package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrack.js +14 -4
- package/bin/internals/GroupPlaybackTrack.js.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.d.ts +3 -3
- package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.js +8 -4
- package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
- package/bin/internals/GroupTransportState.d.ts +5 -5
- package/bin/internals/GroupTransportState.d.ts.map +1 -1
- package/bin/internals/GroupTransportState.js +27 -12
- package/bin/internals/GroupTransportState.js.map +1 -1
- package/bin/internals/consts.d.ts.map +1 -1
- package/bin/internals/consts.js +54 -54
- package/bin/internals/consts.js.map +1 -1
- package/bin/internals/index.d.ts +6 -6
- package/package.json +3 -3
- package/src/IMediaPlayer.ts +10 -2
- package/src/LiveMediaSession.ts +133 -71
- package/src/LiveMediaSessionCoordinator.ts +302 -142
- package/src/LiveMediaSessionCoordinatorSuspension.ts +13 -5
- package/src/MediaPlayerSynchronizer.ts +317 -146
- package/src/MediaSessionActionThrottler.ts +5 -3
- package/src/MediaSessionExtensions.ts +15 -5
- package/src/RepeatedActionThrottler.ts +27 -9
- package/src/VolumeManager.ts +24 -12
- package/src/index.ts +9 -10
- package/src/internals/GroupCoordinatorState.ts +274 -114
- package/src/internals/GroupPlaybackPosition.ts +61 -27
- package/src/internals/GroupPlaybackTrack.ts +51 -22
- package/src/internals/GroupPlaybackTrackData.ts +24 -16
- package/src/internals/GroupTransportState.ts +53 -23
- package/src/internals/consts.ts +73 -55
- package/src/internals/index.ts +6 -6
- package/src/test/GroupPlaybackPosition.spec.ts +371 -111
- package/src/test/GroupPlaybackTrack.spec.ts +91 -35
- package/src/test/SharedMediaSession.spec.ts +64 -28
- package/src/test/SharedMediaSessionCoordinator.spec.ts +86 -46
- package/src/test/VolumeManager.spec.ts +38 -31
- package/tsconfig.json +1 -0
- package/bin/EphemeralMediaSession.d.ts +0 -102
- package/bin/EphemeralMediaSession.d.ts.map +0 -1
- package/bin/EphemeralMediaSession.js +0 -226
- package/bin/EphemeralMediaSession.js.map +0 -1
- package/bin/EphemeralMediaSessionCoordinator.d.ts +0 -228
- package/bin/EphemeralMediaSessionCoordinator.d.ts.map +0 -1
- package/bin/EphemeralMediaSessionCoordinator.js +0 -396
- package/bin/EphemeralMediaSessionCoordinator.js.map +0 -1
- package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts +0 -20
- package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts.map +0 -1
- package/bin/EphemeralMediaSessionCoordinatorSuspension.js +0 -28
- package/bin/EphemeralMediaSessionCoordinatorSuspension.js.map +0 -1
- package/bin/VolumeLimiter.d.ts +0 -70
- package/bin/VolumeLimiter.d.ts.map +0 -1
- package/bin/VolumeLimiter.js +0 -170
- package/bin/VolumeLimiter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
45
45
|
// - Soft suspensions temporarily disconnect the local media session when transitioning between
|
|
46
46
|
// paused, playing, and none states. This is to give the local client time to finish any inprogress
|
|
47
47
|
// operations like sending a transport command or ending a suspension.
|
|
48
|
-
this._lastStateChange =
|
|
48
|
+
this._lastStateChange = "none";
|
|
49
49
|
this._lastStateChangeTime = 0;
|
|
50
50
|
this._runtime = runtime;
|
|
51
51
|
this._logger = new live_share_1.LiveTelemetryLogger(runtime);
|
|
@@ -56,7 +56,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
56
56
|
this._playbackPosition = new GroupPlaybackPosition_1.GroupPlaybackPosition(this._transportState, this._runtime, positionUpdateInterval);
|
|
57
57
|
this._getMediaPlayerState = getMediaPlayerState;
|
|
58
58
|
// Listen track related events
|
|
59
|
-
this._playbackTrack.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, evt => {
|
|
59
|
+
this._playbackTrack.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, (evt) => {
|
|
60
60
|
if (!this.isSuspended) {
|
|
61
61
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TrackChanged);
|
|
62
62
|
this.emitSetTrack(evt.metadata);
|
|
@@ -66,39 +66,52 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
// Listen for track data changes
|
|
69
|
-
this._playbackTrackData.on(GroupPlaybackTrackData_1.PlaybackTrackDataEvents.dataChange, evt => {
|
|
69
|
+
this._playbackTrackData.on(GroupPlaybackTrackData_1.PlaybackTrackDataEvents.dataChange, (evt) => {
|
|
70
70
|
if (!this.isSuspended && !this.isWaiting) {
|
|
71
71
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TrackDataChanged);
|
|
72
|
-
this.emitTriggerAction({
|
|
72
|
+
this.emitTriggerAction({
|
|
73
|
+
action: "datachange",
|
|
74
|
+
data: evt.data,
|
|
75
|
+
});
|
|
73
76
|
}
|
|
74
77
|
else {
|
|
75
78
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TrackDataChangeDelayed);
|
|
76
79
|
}
|
|
77
80
|
});
|
|
78
81
|
// Listen to transport related events
|
|
79
|
-
this._transportState.on(GroupTransportState_2.GroupTransportStateEvents.transportStateChange, evt => {
|
|
82
|
+
this._transportState.on(GroupTransportState_2.GroupTransportStateEvents.transportStateChange, (evt) => {
|
|
80
83
|
if (!this.isSuspended && !this.isWaiting) {
|
|
81
84
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TransportStateChanged, null, {
|
|
82
85
|
action: evt.action,
|
|
83
|
-
seekTime: evt.seekTime
|
|
86
|
+
seekTime: evt.seekTime,
|
|
84
87
|
});
|
|
85
88
|
// Trigger action
|
|
86
89
|
switch (evt.action) {
|
|
87
|
-
case
|
|
88
|
-
this.emitTriggerAction({
|
|
90
|
+
case "play":
|
|
91
|
+
this.emitTriggerAction({
|
|
92
|
+
action: "play",
|
|
93
|
+
seekTime: evt.seekTime,
|
|
94
|
+
});
|
|
89
95
|
break;
|
|
90
|
-
case
|
|
91
|
-
this.emitTriggerAction({
|
|
96
|
+
case "pause":
|
|
97
|
+
this.emitTriggerAction({
|
|
98
|
+
action: "pause",
|
|
99
|
+
seekTime: evt.seekTime,
|
|
100
|
+
});
|
|
92
101
|
break;
|
|
93
|
-
case
|
|
94
|
-
this.emitTriggerAction({
|
|
102
|
+
case "seekto":
|
|
103
|
+
this.emitTriggerAction({
|
|
104
|
+
action: "seekto",
|
|
105
|
+
seekTime: evt.seekTime,
|
|
106
|
+
});
|
|
95
107
|
break;
|
|
96
108
|
}
|
|
97
109
|
}
|
|
98
110
|
else {
|
|
99
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator
|
|
111
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator
|
|
112
|
+
.TransportStateChangeDelayed, null, {
|
|
100
113
|
action: evt.action,
|
|
101
|
-
seekTime: evt.seekTime
|
|
114
|
+
seekTime: evt.seekTime,
|
|
102
115
|
});
|
|
103
116
|
}
|
|
104
117
|
});
|
|
@@ -151,9 +164,9 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
151
164
|
track: this.playbackTrack.current,
|
|
152
165
|
trackData: this.playbackTrackData.current,
|
|
153
166
|
transport: this.transportState.current,
|
|
154
|
-
playbackState:
|
|
167
|
+
playbackState: "suspended",
|
|
155
168
|
position: (positionState === null || positionState === void 0 ? void 0 : positionState.position) || 0.0,
|
|
156
|
-
waitPoint: this._waitPoint
|
|
169
|
+
waitPoint: this._waitPoint,
|
|
157
170
|
};
|
|
158
171
|
}
|
|
159
172
|
else {
|
|
@@ -162,9 +175,9 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
162
175
|
track: this.playbackTrack.current,
|
|
163
176
|
trackData: this.playbackTrackData.current,
|
|
164
177
|
transport: this.transportState.current,
|
|
165
|
-
playbackState: this._waitPoint ?
|
|
178
|
+
playbackState: this._waitPoint ? "waiting" : playbackState,
|
|
166
179
|
position: (positionState === null || positionState === void 0 ? void 0 : positionState.position) || 0.0,
|
|
167
|
-
waitPoint: this._waitPoint
|
|
180
|
+
waitPoint: this._waitPoint,
|
|
168
181
|
};
|
|
169
182
|
}
|
|
170
183
|
}
|
|
@@ -175,10 +188,12 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
175
188
|
metadata: event.metadata,
|
|
176
189
|
waitPoints: event.waitPoints,
|
|
177
190
|
timestamp: event.timestamp,
|
|
178
|
-
clientId: event.clientId ||
|
|
191
|
+
clientId: event.clientId || "",
|
|
179
192
|
});
|
|
180
193
|
if (updated) {
|
|
181
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator.RemoteSetTrackReceived, null, {
|
|
194
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator.RemoteSetTrackReceived, null, {
|
|
195
|
+
correlationId: live_share_1.LiveTelemetryLogger.formatCorrelationId(event.clientId, event.timestamp),
|
|
196
|
+
});
|
|
182
197
|
}
|
|
183
198
|
}
|
|
184
199
|
handleSetTrackData(event, local) {
|
|
@@ -187,10 +202,12 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
187
202
|
const updated = this.playbackTrackData.updateData({
|
|
188
203
|
data: event.data,
|
|
189
204
|
timestamp: event.timestamp,
|
|
190
|
-
clientId: event.clientId ||
|
|
205
|
+
clientId: event.clientId || "",
|
|
191
206
|
});
|
|
192
207
|
if (updated) {
|
|
193
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator.RemoteSetTrackReceived, null, {
|
|
208
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator.RemoteSetTrackReceived, null, {
|
|
209
|
+
correlationId: live_share_1.LiveTelemetryLogger.formatCorrelationId(event.clientId, event.timestamp),
|
|
210
|
+
});
|
|
194
211
|
}
|
|
195
212
|
}
|
|
196
213
|
handleTransportCommand(event, local) {
|
|
@@ -201,11 +218,11 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
201
218
|
// Update playback state
|
|
202
219
|
let playbackState = this.transportState.playbackState;
|
|
203
220
|
switch (event.name) {
|
|
204
|
-
case
|
|
205
|
-
playbackState =
|
|
221
|
+
case "play":
|
|
222
|
+
playbackState = "playing";
|
|
206
223
|
break;
|
|
207
|
-
case
|
|
208
|
-
playbackState =
|
|
224
|
+
case "pause":
|
|
225
|
+
playbackState = "paused";
|
|
209
226
|
break;
|
|
210
227
|
}
|
|
211
228
|
// Try to update playback state
|
|
@@ -213,20 +230,29 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
213
230
|
playbackState: playbackState,
|
|
214
231
|
startPosition: event.position,
|
|
215
232
|
timestamp: event.timestamp,
|
|
216
|
-
clientId: event.clientId ||
|
|
233
|
+
clientId: event.clientId || "",
|
|
217
234
|
};
|
|
218
235
|
const updated = this.transportState.updateState(newState);
|
|
219
236
|
if (updated) {
|
|
220
237
|
const correlationId = live_share_1.LiveTelemetryLogger.formatCorrelationId(event.clientId, event.timestamp);
|
|
221
238
|
switch (event.name) {
|
|
222
|
-
case
|
|
223
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
239
|
+
case "play":
|
|
240
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
241
|
+
.RemotePlayReceived, null, {
|
|
242
|
+
correlationId: correlationId,
|
|
243
|
+
});
|
|
224
244
|
break;
|
|
225
|
-
case
|
|
226
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
245
|
+
case "pause":
|
|
246
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
247
|
+
.RemotePauseReceived, null, {
|
|
248
|
+
correlationId: correlationId,
|
|
249
|
+
});
|
|
227
250
|
break;
|
|
228
|
-
case
|
|
229
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
251
|
+
case "seekTo":
|
|
252
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.SessionCoordinator
|
|
253
|
+
.RemoteSeekToReceived, null, {
|
|
254
|
+
correlationId: correlationId,
|
|
255
|
+
});
|
|
230
256
|
break;
|
|
231
257
|
}
|
|
232
258
|
}
|
|
@@ -242,7 +268,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
242
268
|
// Update transport state if needed
|
|
243
269
|
// - Ignore transport state changes if the client has ended as this will cause the local
|
|
244
270
|
// player to start playback even though the video may have ended for everyone.
|
|
245
|
-
if (event.playbackState !=
|
|
271
|
+
if (event.playbackState != "ended") {
|
|
246
272
|
this.transportState.updateState(event.transport);
|
|
247
273
|
}
|
|
248
274
|
// Ensure change is for current transport state
|
|
@@ -253,7 +279,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
253
279
|
waitPoint: event.waitPoint,
|
|
254
280
|
position: event.position,
|
|
255
281
|
timestamp: event.timestamp,
|
|
256
|
-
clientId: event.clientId ||
|
|
282
|
+
clientId: event.clientId || "",
|
|
257
283
|
};
|
|
258
284
|
this.playbackPosition.UpdatePlaybackPosition(position);
|
|
259
285
|
// Ensure local media session is in sync with group
|
|
@@ -263,13 +289,15 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
263
289
|
// the rest of the group while the local player is trying to to seek to a
|
|
264
290
|
// new position.
|
|
265
291
|
switch (event.playbackState) {
|
|
266
|
-
case
|
|
267
|
-
case
|
|
268
|
-
case
|
|
292
|
+
case "none":
|
|
293
|
+
case "paused":
|
|
294
|
+
case "playing":
|
|
269
295
|
if (event.playbackState != this._lastStateChange) {
|
|
270
|
-
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator
|
|
296
|
+
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator
|
|
297
|
+
.BeginSoftSuspension, null, { playbackState: event.playbackState });
|
|
271
298
|
this._lastStateChange = event.playbackState;
|
|
272
|
-
this._lastStateChangeTime =
|
|
299
|
+
this._lastStateChangeTime =
|
|
300
|
+
live_share_1.LiveEvent.getTimestamp();
|
|
273
301
|
}
|
|
274
302
|
break;
|
|
275
303
|
}
|
|
@@ -309,7 +337,8 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
309
337
|
// else has finished the video.
|
|
310
338
|
// - Should another user seek or press play after the video has ended that will cause
|
|
311
339
|
// a transport action to trigger which will take the player out of the ended state.
|
|
312
|
-
if (playbackState != "ended" &&
|
|
340
|
+
if (playbackState != "ended" &&
|
|
341
|
+
!this._playbackPosition.trackEnded) {
|
|
313
342
|
// Ensure we have a position
|
|
314
343
|
let position = positionState === null || positionState === void 0 ? void 0 : positionState.position;
|
|
315
344
|
if (position == undefined) {
|
|
@@ -318,32 +347,41 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
318
347
|
// Check for catchup
|
|
319
348
|
// - Target can return -1 in cases where there is no position tracking data
|
|
320
349
|
const target = this.playbackPosition.targetPosition;
|
|
321
|
-
if (target >= 0.0 &&
|
|
350
|
+
if (target >= 0.0 &&
|
|
351
|
+
Math.abs(target - position) >=
|
|
352
|
+
this._maxPlaybackDrift.seconds) {
|
|
322
353
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.PositionOutOfSync, null, {
|
|
323
354
|
current: position,
|
|
324
|
-
target: target
|
|
355
|
+
target: target,
|
|
356
|
+
});
|
|
357
|
+
yield this.emitTriggerAction({
|
|
358
|
+
action: "catchup",
|
|
359
|
+
seekTime: target,
|
|
325
360
|
});
|
|
326
|
-
yield this.emitTriggerAction({ action: 'catchup', seekTime: target });
|
|
327
361
|
}
|
|
328
362
|
// Sync transport state
|
|
329
363
|
if (this.transportState.playbackState != playbackState) {
|
|
330
364
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TransportOutOfSync, null, {
|
|
331
365
|
current: playbackState,
|
|
332
|
-
target: this.transportState.playbackState
|
|
366
|
+
target: this.transportState.playbackState,
|
|
333
367
|
});
|
|
334
368
|
switch (this.transportState.playbackState) {
|
|
335
|
-
case
|
|
336
|
-
yield this.emitTriggerAction({ action:
|
|
369
|
+
case "playing":
|
|
370
|
+
yield this.emitTriggerAction({ action: "play" });
|
|
337
371
|
break;
|
|
338
|
-
case
|
|
339
|
-
yield this.emitTriggerAction({ action:
|
|
372
|
+
case "paused":
|
|
373
|
+
yield this.emitTriggerAction({ action: "pause" });
|
|
340
374
|
break;
|
|
341
375
|
}
|
|
342
376
|
}
|
|
343
377
|
// Sync track data
|
|
344
|
-
if (JSON.stringify(this.playbackTrackData.data) !=
|
|
378
|
+
if (JSON.stringify(this.playbackTrackData.data) !=
|
|
379
|
+
JSON.stringify(trackData)) {
|
|
345
380
|
this._logger.sendTelemetryEvent(consts_1.TelemetryEvents.GroupCoordinator.TrackDataOutOfSync);
|
|
346
|
-
yield this.emitTriggerAction({
|
|
381
|
+
yield this.emitTriggerAction({
|
|
382
|
+
action: "datachange",
|
|
383
|
+
data: this.playbackTrackData.data,
|
|
384
|
+
});
|
|
347
385
|
}
|
|
348
386
|
}
|
|
349
387
|
}
|
|
@@ -353,12 +391,12 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
353
391
|
// Reset tracking states
|
|
354
392
|
this._waitPoint = undefined;
|
|
355
393
|
// Trigger settrack action
|
|
356
|
-
this.emitTriggerAction({ action:
|
|
394
|
+
this.emitTriggerAction({ action: "settrack", metadata: metadata });
|
|
357
395
|
}
|
|
358
396
|
emitTriggerAction(details) {
|
|
359
397
|
const evt = {
|
|
360
398
|
name: GroupCoordinatorStateEvents.triggeraction,
|
|
361
|
-
details: details
|
|
399
|
+
details: details,
|
|
362
400
|
};
|
|
363
401
|
this.emit(GroupCoordinatorStateEvents.triggeraction, evt);
|
|
364
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupCoordinatorState.js","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GroupCoordinatorState.js","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
|
-
import { IRuntimeSignaler, TimeInterval } from
|
|
6
|
-
import { GroupTransportState } from
|
|
7
|
-
import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from
|
|
5
|
+
import { IRuntimeSignaler, TimeInterval } from "@microsoft/live-share";
|
|
6
|
+
import { GroupTransportState } from "./GroupTransportState";
|
|
7
|
+
import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from "../MediaSessionExtensions";
|
|
8
8
|
/**
|
|
9
9
|
*Per client position
|
|
10
10
|
* @hidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,gBAAgB,EAChB,YAAY,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACH,qBAAqB,EACrB,iCAAiC,EACpC,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,iCAAiC,CAAC;IACjD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,UAAU,CAAwC;gBAGtD,cAAc,EAAE,mBAAmB,EACnC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,YAAY;IAkBhC;;OAEG;IACH,IAAW,aAAa,IAAI,wBAAwB,GAAG,SAAS,CAE/D;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAIhC;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,OAAO,CAe/B;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAqBlC;IAED;;;;;OAKG;IACH,IAAW,WAAW,IAAI,MAAM,CAU/B;IAED;;OAEG;IACI,aAAa,CAAC,EAAE,MAAM,CAAC;IAE9B,IAAW,cAAc,IAAI,MAAM,CAMlC;IAED;;;OAGG;IACI,OAAO,CACV,UAAU,EAAE,CACR,QAAQ,EAAE,wBAAwB,EAClC,iBAAiB,EAAE,MAAM,KACxB,IAAI,GACV,IAAI;IAoBA,sBAAsB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAkBvE,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,sBAAsB;CAKjC"}
|
|
@@ -17,7 +17,7 @@ class GroupPlaybackPosition {
|
|
|
17
17
|
this._updateInterval = updateInterval;
|
|
18
18
|
this._positions = new Map();
|
|
19
19
|
// Listen for track change
|
|
20
|
-
this._transportState.track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, _ => {
|
|
20
|
+
this._transportState.track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, (_) => {
|
|
21
21
|
// Reset position tracking and duration
|
|
22
22
|
this._positions = new Map();
|
|
23
23
|
this.mediaDuration = undefined;
|
|
@@ -34,7 +34,7 @@ class GroupPlaybackPosition {
|
|
|
34
34
|
*/
|
|
35
35
|
get totalClients() {
|
|
36
36
|
let cnt = 0;
|
|
37
|
-
this.forEach(_ => cnt++);
|
|
37
|
+
this.forEach((_) => cnt++);
|
|
38
38
|
return cnt;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -45,8 +45,8 @@ class GroupPlaybackPosition {
|
|
|
45
45
|
let playing = 0;
|
|
46
46
|
this.forEach((position, projectedPosition) => {
|
|
47
47
|
switch (position.playbackState) {
|
|
48
|
-
case
|
|
49
|
-
case
|
|
48
|
+
case "none":
|
|
49
|
+
case "ended":
|
|
50
50
|
// not playing.
|
|
51
51
|
break;
|
|
52
52
|
default:
|
|
@@ -63,9 +63,12 @@ class GroupPlaybackPosition {
|
|
|
63
63
|
var _a;
|
|
64
64
|
let cnt = 0;
|
|
65
65
|
const waitPoint = (_a = this.localPosition) === null || _a === void 0 ? void 0 : _a.waitPoint;
|
|
66
|
-
if (waitPoint &&
|
|
66
|
+
if (waitPoint &&
|
|
67
|
+
(waitPoint.maxClients == undefined ||
|
|
68
|
+
this.totalClients <= waitPoint.maxClients)) {
|
|
67
69
|
this.forEach((position, projectedPosition) => {
|
|
68
|
-
if (position.playbackState ==
|
|
70
|
+
if (position.playbackState == "suspended" &&
|
|
71
|
+
position.waitPoint) {
|
|
69
72
|
cnt++;
|
|
70
73
|
}
|
|
71
74
|
else if (position.position < waitPoint.position) {
|
|
@@ -82,9 +85,10 @@ class GroupPlaybackPosition {
|
|
|
82
85
|
* This is called when calculating the current seekTo position.
|
|
83
86
|
*/
|
|
84
87
|
get maxPosition() {
|
|
85
|
-
if (this._transportState.playbackState ==
|
|
88
|
+
if (this._transportState.playbackState == "playing") {
|
|
86
89
|
const now = live_share_1.LiveEvent.getTimestamp();
|
|
87
|
-
const projected = this._transportState.startPosition +
|
|
90
|
+
const projected = this._transportState.startPosition +
|
|
91
|
+
(now - this._transportState.timestamp) / 1000;
|
|
88
92
|
return this.limitProjectedPosition(projected);
|
|
89
93
|
}
|
|
90
94
|
else {
|
|
@@ -92,7 +96,7 @@ class GroupPlaybackPosition {
|
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
98
|
get targetPosition() {
|
|
95
|
-
if (this._transportState.playbackState ==
|
|
99
|
+
if (this._transportState.playbackState == "playing") {
|
|
96
100
|
return this.getMostProgressedPosition();
|
|
97
101
|
}
|
|
98
102
|
else {
|
|
@@ -106,7 +110,7 @@ class GroupPlaybackPosition {
|
|
|
106
110
|
forEach(callbackFn) {
|
|
107
111
|
var _a;
|
|
108
112
|
const now = live_share_1.LiveEvent.getTimestamp();
|
|
109
|
-
const ignoreBefore = now -
|
|
113
|
+
const ignoreBefore = now - this._updateInterval.milliseconds * 2;
|
|
110
114
|
const shouldProject = !((_a = this._transportState.track.metadata) === null || _a === void 0 ? void 0 : _a.liveStream);
|
|
111
115
|
this._positions.forEach((value, key) => {
|
|
112
116
|
const position = this._positions.get(key);
|
|
@@ -114,7 +118,9 @@ class GroupPlaybackPosition {
|
|
|
114
118
|
if (position.timestamp > ignoreBefore) {
|
|
115
119
|
// Compute projected playback position
|
|
116
120
|
// - This computation does not take into account future wait points.
|
|
117
|
-
const projected = position.playbackState ==
|
|
121
|
+
const projected = position.playbackState == "playing" && shouldProject
|
|
122
|
+
? position.position + (now - position.timestamp) / 1000
|
|
123
|
+
: position.position;
|
|
118
124
|
callbackFn(position, this.limitProjectedPosition(projected));
|
|
119
125
|
}
|
|
120
126
|
});
|
|
@@ -144,14 +150,17 @@ class GroupPlaybackPosition {
|
|
|
144
150
|
// Compute max progress
|
|
145
151
|
let progress = -1;
|
|
146
152
|
this.forEach((position, projectedPosition) => {
|
|
147
|
-
if (projectedPosition <= maxPosition &&
|
|
153
|
+
if (projectedPosition <= maxPosition &&
|
|
154
|
+
projectedPosition > progress) {
|
|
148
155
|
progress = projectedPosition;
|
|
149
156
|
}
|
|
150
157
|
});
|
|
151
158
|
return progress;
|
|
152
159
|
}
|
|
153
160
|
limitProjectedPosition(position) {
|
|
154
|
-
return this.mediaDuration != undefined
|
|
161
|
+
return this.mediaDuration != undefined
|
|
162
|
+
? Math.min(position, this.mediaDuration)
|
|
163
|
+
: position;
|
|
155
164
|
}
|
|
156
165
|
}
|
|
157
166
|
exports.GroupPlaybackPosition = GroupPlaybackPosition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="node" />
|
|
6
|
-
import { IEvent } from
|
|
7
|
-
import EventEmitter from
|
|
8
|
-
import { IMediaPlayerState } from
|
|
9
|
-
import { CoordinationWaitPoint, ExtendedMediaMetadata } from
|
|
6
|
+
import { IEvent } from "@microsoft/live-share";
|
|
7
|
+
import EventEmitter from "events";
|
|
8
|
+
import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
|
|
9
|
+
import { CoordinationWaitPoint, ExtendedMediaMetadata } from "../MediaSessionExtensions";
|
|
10
10
|
/**
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,wBAAwB;IAChC,WAAW,gBAAgB;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM;IACrD,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAiB;gBAErB,mBAAmB,EAAE,MAAM,iBAAiB;IAWxD,IAAW,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAO7C;IAED,IAAW,QAAQ,IAAI,qBAAqB,GAAG,IAAI,CAElD;IAEM,YAAY,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO;IAkBvD,iBAAiB,CACpB,aAAa,EAAE,qBAAqB,GAAG,SAAS,GACjD,qBAAqB,GAAG,SAAS;IAa7B,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAsD3C,OAAO,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO;WAOjD,eAAe,CACzB,OAAO,EAAE,qBAAqB,GAAG,IAAI,EACrC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,GACvC,OAAO;CAUb"}
|
|
@@ -22,7 +22,12 @@ var GroupPlaybackTrackEvents;
|
|
|
22
22
|
class GroupPlaybackTrack extends events_1.default {
|
|
23
23
|
constructor(getMediaPlayerState) {
|
|
24
24
|
super();
|
|
25
|
-
this._current = {
|
|
25
|
+
this._current = {
|
|
26
|
+
metadata: null,
|
|
27
|
+
waitPoints: [],
|
|
28
|
+
timestamp: 0,
|
|
29
|
+
clientId: "",
|
|
30
|
+
};
|
|
26
31
|
this._getMediaPlayerState = getMediaPlayerState;
|
|
27
32
|
}
|
|
28
33
|
get current() {
|
|
@@ -75,7 +80,8 @@ class GroupPlaybackTrack extends events_1.default {
|
|
|
75
80
|
this.addWaitPoint(waitPoint);
|
|
76
81
|
});
|
|
77
82
|
// Ignore if same playback state
|
|
78
|
-
if (track.timestamp == current.timestamp &&
|
|
83
|
+
if (track.timestamp == current.timestamp &&
|
|
84
|
+
track.clientId == current.clientId) {
|
|
79
85
|
return false;
|
|
80
86
|
}
|
|
81
87
|
}
|
|
@@ -85,13 +91,17 @@ class GroupPlaybackTrack extends events_1.default {
|
|
|
85
91
|
}
|
|
86
92
|
// Ignore state changes that are from a clientId that sorts higher then the current one.
|
|
87
93
|
// - current.clientId should not be empty if current.timestamp != 0
|
|
88
|
-
if (track.timestamp == current.timestamp &&
|
|
94
|
+
if (track.timestamp == current.timestamp &&
|
|
95
|
+
track.clientId.localeCompare(current.clientId) > 0) {
|
|
89
96
|
return false;
|
|
90
97
|
}
|
|
91
98
|
// Update current track
|
|
92
99
|
this._current = track;
|
|
93
100
|
// Notify listeners
|
|
94
|
-
this.emit(GroupPlaybackTrackEvents.trackChange, {
|
|
101
|
+
this.emit(GroupPlaybackTrackEvents.trackChange, {
|
|
102
|
+
name: GroupPlaybackTrackEvents.trackChange,
|
|
103
|
+
metadata: track.metadata,
|
|
104
|
+
});
|
|
95
105
|
return true;
|
|
96
106
|
}
|
|
97
107
|
compare(metadata) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="node" />
|
|
6
|
-
import { IEvent } from
|
|
7
|
-
import EventEmitter from
|
|
8
|
-
import { GroupPlaybackTrack } from
|
|
6
|
+
import { IEvent } from "@microsoft/live-share";
|
|
7
|
+
import EventEmitter from "events";
|
|
8
|
+
import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
|
|
9
9
|
/**
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|