@microsoft/live-share-media 1.0.0-preview.12 → 1.0.0-preview.13

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 (68) hide show
  1. package/README.md +1 -1
  2. package/bin/IMediaPlayer.d.ts +20 -20
  3. package/bin/IMediaPlayer.js +6 -6
  4. package/bin/LiveMediaSession.d.ts +95 -94
  5. package/bin/LiveMediaSession.d.ts.map +1 -1
  6. package/bin/LiveMediaSession.js +235 -231
  7. package/bin/LiveMediaSession.js.map +1 -1
  8. package/bin/LiveMediaSessionCoordinator.d.ts +238 -227
  9. package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
  10. package/bin/LiveMediaSessionCoordinator.js +476 -407
  11. package/bin/LiveMediaSessionCoordinator.js.map +1 -1
  12. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts +19 -19
  13. package/bin/LiveMediaSessionCoordinatorSuspension.js +27 -27
  14. package/bin/MediaPlayerSynchronizer.d.ts +173 -163
  15. package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
  16. package/bin/MediaPlayerSynchronizer.js +491 -468
  17. package/bin/MediaPlayerSynchronizer.js.map +1 -1
  18. package/bin/MediaSessionActionThrottler.d.ts +11 -11
  19. package/bin/MediaSessionActionThrottler.js +13 -13
  20. package/bin/MediaSessionExtensions.d.ts +34 -34
  21. package/bin/MediaSessionExtensions.d.ts.map +1 -1
  22. package/bin/MediaSessionExtensions.js +12 -12
  23. package/bin/RepeatedActionThrottler.d.ts +19 -19
  24. package/bin/RepeatedActionThrottler.js +62 -62
  25. package/bin/RepeatedActionThrottler.js.map +1 -1
  26. package/bin/VolumeManager.d.ts +83 -83
  27. package/bin/VolumeManager.js +174 -174
  28. package/bin/index.d.ts +13 -13
  29. package/bin/index.js +29 -29
  30. package/bin/internals/GroupCoordinatorState.d.ts +93 -92
  31. package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
  32. package/bin/internals/GroupCoordinatorState.js +407 -404
  33. package/bin/internals/GroupCoordinatorState.js.map +1 -1
  34. package/bin/internals/GroupPlaybackPosition.d.ts +67 -66
  35. package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
  36. package/bin/internals/GroupPlaybackPosition.js +166 -166
  37. package/bin/internals/GroupPlaybackPosition.js.map +1 -1
  38. package/bin/internals/GroupPlaybackTrack.d.ts +45 -45
  39. package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
  40. package/bin/internals/GroupPlaybackTrack.js +121 -121
  41. package/bin/internals/GroupPlaybackTrackData.d.ts +39 -39
  42. package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
  43. package/bin/internals/GroupPlaybackTrackData.js +69 -69
  44. package/bin/internals/GroupTransportState.d.ts +49 -48
  45. package/bin/internals/GroupTransportState.d.ts.map +1 -1
  46. package/bin/internals/GroupTransportState.js +111 -111
  47. package/bin/internals/GroupTransportState.js.map +1 -1
  48. package/bin/internals/consts.d.ts +75 -72
  49. package/bin/internals/consts.d.ts.map +1 -1
  50. package/bin/internals/consts.js +84 -81
  51. package/bin/internals/consts.js.map +1 -1
  52. package/bin/internals/index.d.ts +10 -10
  53. package/bin/internals/index.js +26 -26
  54. package/package.json +4 -4
  55. package/src/LiveMediaSession.ts +24 -12
  56. package/src/LiveMediaSessionCoordinator.ts +101 -29
  57. package/src/MediaPlayerSynchronizer.ts +30 -14
  58. package/src/internals/GroupCoordinatorState.ts +49 -35
  59. package/src/internals/GroupPlaybackPosition.ts +6 -2
  60. package/src/internals/GroupPlaybackTrack.ts +2 -2
  61. package/src/internals/GroupPlaybackTrackData.ts +2 -2
  62. package/src/internals/GroupTransportState.ts +11 -4
  63. package/src/internals/consts.ts +4 -0
  64. package/src/test/GroupPlaybackPosition.spec.ts +0 -600
  65. package/src/test/GroupPlaybackTrack.spec.ts +0 -122
  66. package/src/test/SharedMediaSession.spec.ts +0 -149
  67. package/src/test/SharedMediaSessionCoordinator.spec.ts +0 -271
  68. package/src/test/VolumeManager.spec.ts +0 -219
@@ -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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"}
@@ -1,67 +1,68 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the Microsoft Live Share SDK License.
4
- */
5
- import { IRuntimeSignaler, TimeInterval } from "@microsoft/live-share";
6
- import { GroupTransportState } from "./GroupTransportState";
7
- import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from "../MediaSessionExtensions";
8
- /**
9
- *Per client position
10
- * @hidden
11
- */
12
- export interface ICurrentPlaybackPosition {
13
- playbackState: ExtendedMediaSessionPlaybackState;
14
- waitPoint?: CoordinationWaitPoint;
15
- position: number;
16
- duration?: number;
17
- timestamp: number;
18
- clientId: string;
19
- }
20
- /**
21
- * @hidden
22
- */
23
- export declare class GroupPlaybackPosition {
24
- private _transportState;
25
- private _runtime;
26
- private _updateInterval;
27
- private _positions;
28
- constructor(transportState: GroupTransportState, runtime: IRuntimeSignaler, updateInterval: TimeInterval);
29
- /**
30
- * Returns the latest position info for the local client.
31
- */
32
- get localPosition(): ICurrentPlaybackPosition | undefined;
33
- /**
34
- * Returns the total number of clients actively being tracked.
35
- */
36
- get totalClients(): number;
37
- /**
38
- * Returns true if all clients being tracked are reporting that they have
39
- * either ended or haven't started.
40
- */
41
- get trackEnded(): boolean;
42
- /**
43
- * Returns the number of clients we're waiting for before we can stop waiting.
44
- */
45
- get clientsWaiting(): number;
46
- /**
47
- * Returns the max playback position relative to the start position.
48
- *
49
- * @remarks
50
- * This is called when calculating the current seekTo position.
51
- */
52
- get maxPosition(): number;
53
- /**
54
- * Optional media duration if known.
55
- */
56
- mediaDuration?: number;
57
- get targetPosition(): number;
58
- /**
59
- * Enumerates every reported playback position.
60
- * @param callbackFn Function applied to each position,
61
- */
62
- forEach(callbackFn: (position: ICurrentPlaybackPosition, projectedPosition: number) => void): void;
63
- UpdatePlaybackPosition(position: ICurrentPlaybackPosition): void;
64
- private getMostProgressedPosition;
65
- private limitProjectedPosition;
66
- }
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ import { IRuntimeSignaler, TimeInterval, LiveShareRuntime } from "@microsoft/live-share";
6
+ import { GroupTransportState } from "./GroupTransportState";
7
+ import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from "../MediaSessionExtensions";
8
+ /**
9
+ *Per client position
10
+ * @hidden
11
+ */
12
+ export interface ICurrentPlaybackPosition {
13
+ playbackState: ExtendedMediaSessionPlaybackState;
14
+ waitPoint?: CoordinationWaitPoint;
15
+ position: number;
16
+ duration?: number;
17
+ timestamp: number;
18
+ clientId: string;
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare class GroupPlaybackPosition {
24
+ private _transportState;
25
+ private _runtime;
26
+ private _liveRuntime;
27
+ private _updateInterval;
28
+ private _positions;
29
+ constructor(transportState: GroupTransportState, runtime: IRuntimeSignaler, liveRuntime: LiveShareRuntime, updateInterval: TimeInterval);
30
+ /**
31
+ * Returns the latest position info for the local client.
32
+ */
33
+ get localPosition(): ICurrentPlaybackPosition | undefined;
34
+ /**
35
+ * Returns the total number of clients actively being tracked.
36
+ */
37
+ get totalClients(): number;
38
+ /**
39
+ * Returns true if all clients being tracked are reporting that they have
40
+ * either ended or haven't started.
41
+ */
42
+ get trackEnded(): boolean;
43
+ /**
44
+ * Returns the number of clients we're waiting for before we can stop waiting.
45
+ */
46
+ get clientsWaiting(): number;
47
+ /**
48
+ * Returns the max playback position relative to the start position.
49
+ *
50
+ * @remarks
51
+ * This is called when calculating the current seekTo position.
52
+ */
53
+ get maxPosition(): number;
54
+ /**
55
+ * Optional media duration if known.
56
+ */
57
+ mediaDuration?: number;
58
+ get targetPosition(): number;
59
+ /**
60
+ * Enumerates every reported playback position.
61
+ * @param callbackFn Function applied to each position,
62
+ */
63
+ forEach(callbackFn: (position: ICurrentPlaybackPosition, projectedPosition: number) => void): void;
64
+ UpdatePlaybackPosition(position: ICurrentPlaybackPosition): void;
65
+ private getMostProgressedPosition;
66
+ private limitProjectedPosition;
67
+ }
67
68
  //# sourceMappingURL=GroupPlaybackPosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,gBAAgB,EAChB,YAAY,EAEf,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"}
1
+ {"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,gBAAgB,EAChB,YAAY,EAEZ,gBAAgB,EACnB,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,YAAY,CAAmB;IACvC,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,UAAU,CAAwC;gBAGtD,cAAc,EAAE,mBAAmB,EACnC,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,gBAAgB,EAC7B,cAAc,EAAE,YAAY;IAmBhC;;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"}
@@ -1,167 +1,167 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the Microsoft Live Share SDK License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.GroupPlaybackPosition = void 0;
8
- const live_share_1 = require("@microsoft/live-share");
9
- const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
10
- /**
11
- * @hidden
12
- */
13
- class GroupPlaybackPosition {
14
- constructor(transportState, runtime, updateInterval) {
15
- this._transportState = transportState;
16
- this._runtime = runtime;
17
- this._updateInterval = updateInterval;
18
- this._positions = new Map();
19
- // Listen for track change
20
- this._transportState.track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, (_) => {
21
- // Reset position tracking and duration
22
- this._positions = new Map();
23
- this.mediaDuration = undefined;
24
- });
25
- }
26
- /**
27
- * Returns the latest position info for the local client.
28
- */
29
- get localPosition() {
30
- return this._positions.get(this._runtime.clientId);
31
- }
32
- /**
33
- * Returns the total number of clients actively being tracked.
34
- */
35
- get totalClients() {
36
- let cnt = 0;
37
- this.forEach((_) => cnt++);
38
- return cnt;
39
- }
40
- /**
41
- * Returns true if all clients being tracked are reporting that they have
42
- * either ended or haven't started.
43
- */
44
- get trackEnded() {
45
- let playing = 0;
46
- this.forEach((position, projectedPosition) => {
47
- switch (position.playbackState) {
48
- case "none":
49
- case "ended":
50
- // not playing.
51
- break;
52
- default:
53
- playing++;
54
- break;
55
- }
56
- });
57
- return playing == 0;
58
- }
59
- /**
60
- * Returns the number of clients we're waiting for before we can stop waiting.
61
- */
62
- get clientsWaiting() {
63
- var _a;
64
- let cnt = 0;
65
- const waitPoint = (_a = this.localPosition) === null || _a === void 0 ? void 0 : _a.waitPoint;
66
- if (waitPoint &&
67
- (waitPoint.maxClients == undefined ||
68
- this.totalClients <= waitPoint.maxClients)) {
69
- this.forEach((position, projectedPosition) => {
70
- if (position.playbackState == "suspended" &&
71
- position.waitPoint) {
72
- cnt++;
73
- }
74
- else if (position.position < waitPoint.position) {
75
- cnt++;
76
- }
77
- });
78
- }
79
- return cnt;
80
- }
81
- /**
82
- * Returns the max playback position relative to the start position.
83
- *
84
- * @remarks
85
- * This is called when calculating the current seekTo position.
86
- */
87
- get maxPosition() {
88
- if (this._transportState.playbackState == "playing") {
89
- const now = live_share_1.LiveShareClient.getTimestamp();
90
- const projected = this._transportState.startPosition +
91
- (now - this._transportState.timestamp) / 1000;
92
- return this.limitProjectedPosition(projected);
93
- }
94
- else {
95
- return this._transportState.startPosition;
96
- }
97
- }
98
- get targetPosition() {
99
- if (this._transportState.playbackState == "playing") {
100
- return this.getMostProgressedPosition();
101
- }
102
- else {
103
- return this._transportState.startPosition;
104
- }
105
- }
106
- /**
107
- * Enumerates every reported playback position.
108
- * @param callbackFn Function applied to each position,
109
- */
110
- forEach(callbackFn) {
111
- var _a;
112
- const now = live_share_1.LiveShareClient.getTimestamp();
113
- const ignoreBefore = now - this._updateInterval.milliseconds * 2;
114
- const shouldProject = !((_a = this._transportState.track.metadata) === null || _a === void 0 ? void 0 : _a.liveStream);
115
- this._positions.forEach((value, key) => {
116
- const position = this._positions.get(key);
117
- // Ignore any old updates
118
- if (position.timestamp > ignoreBefore) {
119
- // Compute projected playback position
120
- // - This computation does not take into account future wait points.
121
- const projected = position.playbackState == "playing" && shouldProject
122
- ? position.position + (now - position.timestamp) / 1000
123
- : position.position;
124
- callbackFn(position, this.limitProjectedPosition(projected));
125
- }
126
- });
127
- }
128
- UpdatePlaybackPosition(position) {
129
- // Update duration
130
- if (position.duration != undefined) {
131
- this.mediaDuration = position.duration;
132
- }
133
- // Save last position
134
- if (this._positions.has(position.clientId)) {
135
- // Only update if newer position
136
- const current = this._positions.get(position.clientId);
137
- if (position.timestamp >= current.timestamp) {
138
- this._positions.set(position.clientId, position);
139
- }
140
- }
141
- else {
142
- this._positions.set(position.clientId, position);
143
- }
144
- }
145
- getMostProgressedPosition() {
146
- // Compute the max possible position for the current transport state.
147
- // - This is needed to properly handle seeking backwards in time. Some playback heads may
148
- // not have performed their seek yet and will therefore be ahead of the local player.
149
- const maxPosition = this.maxPosition;
150
- // Compute max progress
151
- let progress = -1;
152
- this.forEach((position, projectedPosition) => {
153
- if (projectedPosition <= maxPosition &&
154
- projectedPosition > progress) {
155
- progress = projectedPosition;
156
- }
157
- });
158
- return progress;
159
- }
160
- limitProjectedPosition(position) {
161
- return this.mediaDuration != undefined
162
- ? Math.min(position, this.mediaDuration)
163
- : position;
164
- }
165
- }
166
- exports.GroupPlaybackPosition = GroupPlaybackPosition;
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GroupPlaybackPosition = void 0;
8
+ const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
9
+ /**
10
+ * @hidden
11
+ */
12
+ class GroupPlaybackPosition {
13
+ constructor(transportState, runtime, liveRuntime, updateInterval) {
14
+ this._transportState = transportState;
15
+ this._runtime = runtime;
16
+ this._liveRuntime = liveRuntime;
17
+ this._updateInterval = updateInterval;
18
+ this._positions = new Map();
19
+ // Listen for track change
20
+ this._transportState.track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, (_) => {
21
+ // Reset position tracking and duration
22
+ this._positions = new Map();
23
+ this.mediaDuration = undefined;
24
+ });
25
+ }
26
+ /**
27
+ * Returns the latest position info for the local client.
28
+ */
29
+ get localPosition() {
30
+ return this._positions.get(this._runtime.clientId);
31
+ }
32
+ /**
33
+ * Returns the total number of clients actively being tracked.
34
+ */
35
+ get totalClients() {
36
+ let cnt = 0;
37
+ this.forEach((_) => cnt++);
38
+ return cnt;
39
+ }
40
+ /**
41
+ * Returns true if all clients being tracked are reporting that they have
42
+ * either ended or haven't started.
43
+ */
44
+ get trackEnded() {
45
+ let playing = 0;
46
+ this.forEach((position, projectedPosition) => {
47
+ switch (position.playbackState) {
48
+ case "none":
49
+ case "ended":
50
+ // not playing.
51
+ break;
52
+ default:
53
+ playing++;
54
+ break;
55
+ }
56
+ });
57
+ return playing == 0;
58
+ }
59
+ /**
60
+ * Returns the number of clients we're waiting for before we can stop waiting.
61
+ */
62
+ get clientsWaiting() {
63
+ var _a;
64
+ let cnt = 0;
65
+ const waitPoint = (_a = this.localPosition) === null || _a === void 0 ? void 0 : _a.waitPoint;
66
+ if (waitPoint &&
67
+ (waitPoint.maxClients == undefined ||
68
+ this.totalClients <= waitPoint.maxClients)) {
69
+ this.forEach((position, projectedPosition) => {
70
+ if (position.playbackState == "suspended" &&
71
+ position.waitPoint) {
72
+ cnt++;
73
+ }
74
+ else if (position.position < waitPoint.position) {
75
+ cnt++;
76
+ }
77
+ });
78
+ }
79
+ return cnt;
80
+ }
81
+ /**
82
+ * Returns the max playback position relative to the start position.
83
+ *
84
+ * @remarks
85
+ * This is called when calculating the current seekTo position.
86
+ */
87
+ get maxPosition() {
88
+ if (this._transportState.playbackState == "playing") {
89
+ const now = this._liveRuntime.getTimestamp();
90
+ const projected = this._transportState.startPosition +
91
+ (now - this._transportState.timestamp) / 1000;
92
+ return this.limitProjectedPosition(projected);
93
+ }
94
+ else {
95
+ return this._transportState.startPosition;
96
+ }
97
+ }
98
+ get targetPosition() {
99
+ if (this._transportState.playbackState == "playing") {
100
+ return this.getMostProgressedPosition();
101
+ }
102
+ else {
103
+ return this._transportState.startPosition;
104
+ }
105
+ }
106
+ /**
107
+ * Enumerates every reported playback position.
108
+ * @param callbackFn Function applied to each position,
109
+ */
110
+ forEach(callbackFn) {
111
+ var _a;
112
+ const now = this._liveRuntime.getTimestamp();
113
+ const ignoreBefore = now - this._updateInterval.milliseconds * 2;
114
+ const shouldProject = !((_a = this._transportState.track.metadata) === null || _a === void 0 ? void 0 : _a.liveStream);
115
+ this._positions.forEach((value, key) => {
116
+ const position = this._positions.get(key);
117
+ // Ignore any old updates
118
+ if (position.timestamp > ignoreBefore) {
119
+ // Compute projected playback position
120
+ // - This computation does not take into account future wait points.
121
+ const projected = position.playbackState == "playing" && shouldProject
122
+ ? position.position + (now - position.timestamp) / 1000
123
+ : position.position;
124
+ callbackFn(position, this.limitProjectedPosition(projected));
125
+ }
126
+ });
127
+ }
128
+ UpdatePlaybackPosition(position) {
129
+ // Update duration
130
+ if (position.duration != undefined) {
131
+ this.mediaDuration = position.duration;
132
+ }
133
+ // Save last position
134
+ if (this._positions.has(position.clientId)) {
135
+ // Only update if newer position
136
+ const current = this._positions.get(position.clientId);
137
+ if (position.timestamp >= current.timestamp) {
138
+ this._positions.set(position.clientId, position);
139
+ }
140
+ }
141
+ else {
142
+ this._positions.set(position.clientId, position);
143
+ }
144
+ }
145
+ getMostProgressedPosition() {
146
+ // Compute the max possible position for the current transport state.
147
+ // - This is needed to properly handle seeking backwards in time. Some playback heads may
148
+ // not have performed their seek yet and will therefore be ahead of the local player.
149
+ const maxPosition = this.maxPosition;
150
+ // Compute max progress
151
+ let progress = -1;
152
+ this.forEach((position, projectedPosition) => {
153
+ if (projectedPosition <= maxPosition &&
154
+ projectedPosition > progress) {
155
+ progress = projectedPosition;
156
+ }
157
+ });
158
+ return progress;
159
+ }
160
+ limitProjectedPosition(position) {
161
+ return this.mediaDuration != undefined
162
+ ? Math.min(position, this.mediaDuration)
163
+ : position;
164
+ }
165
+ }
166
+ exports.GroupPlaybackPosition = GroupPlaybackPosition;
167
167
  //# sourceMappingURL=GroupPlaybackPosition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,46 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the Microsoft Live Share SDK License.
4
- */
5
- /// <reference types="node" />
6
- import { IEvent } from "@microsoft/live-share";
7
- import EventEmitter from "events";
8
- import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
9
- import { CoordinationWaitPoint, ExtendedMediaMetadata } from "../MediaSessionExtensions";
10
- /**
11
- * @hidden
12
- */
13
- export interface IPlaybackTrack {
14
- metadata: ExtendedMediaMetadata | null;
15
- waitPoints: CoordinationWaitPoint[];
16
- timestamp: number;
17
- clientId: string;
18
- }
19
- /**
20
- * @hidden
21
- */
22
- export declare enum GroupPlaybackTrackEvents {
23
- trackChange = "trackChange"
24
- }
25
- /**
26
- * @hidden
27
- */
28
- export interface IPlaybackTrackChangeEvent extends IEvent {
29
- metadata: ExtendedMediaMetadata | null;
30
- }
31
- /**
32
- * @hidden
33
- */
34
- export declare class GroupPlaybackTrack extends EventEmitter {
35
- private readonly _getMediaPlayerState;
36
- private _current;
37
- constructor(getMediaPlayerState: () => IMediaPlayerState);
38
- get current(): Readonly<IPlaybackTrack>;
39
- get metadata(): ExtendedMediaMetadata | null;
40
- addWaitPoint(waitPoint: CoordinationWaitPoint): boolean;
41
- findNextWaitPoint(lastWaitPoint: CoordinationWaitPoint | undefined): CoordinationWaitPoint | undefined;
42
- updateTrack(track: IPlaybackTrack): boolean;
43
- compare(metadata: ExtendedMediaMetadata | null): boolean;
44
- static compareMetadata(current: ExtendedMediaMetadata | null, metadata: ExtendedMediaMetadata | null): boolean;
45
- }
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ /// <reference types="node" />
6
+ import { ILiveEvent } from "@microsoft/live-share";
7
+ import EventEmitter from "events";
8
+ import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
9
+ import { CoordinationWaitPoint, ExtendedMediaMetadata } from "../MediaSessionExtensions";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export interface IPlaybackTrack {
14
+ metadata: ExtendedMediaMetadata | null;
15
+ waitPoints: CoordinationWaitPoint[];
16
+ timestamp: number;
17
+ clientId: string;
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export declare enum GroupPlaybackTrackEvents {
23
+ trackChange = "trackChange"
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export interface IPlaybackTrackChangeEvent extends ILiveEvent {
29
+ metadata: ExtendedMediaMetadata | null;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export declare class GroupPlaybackTrack extends EventEmitter {
35
+ private readonly _getMediaPlayerState;
36
+ private _current;
37
+ constructor(getMediaPlayerState: () => IMediaPlayerState);
38
+ get current(): Readonly<IPlaybackTrack>;
39
+ get metadata(): ExtendedMediaMetadata | null;
40
+ addWaitPoint(waitPoint: CoordinationWaitPoint): boolean;
41
+ findNextWaitPoint(lastWaitPoint: CoordinationWaitPoint | undefined): CoordinationWaitPoint | undefined;
42
+ updateTrack(track: IPlaybackTrack): boolean;
43
+ compare(metadata: ExtendedMediaMetadata | null): boolean;
44
+ static compareMetadata(current: ExtendedMediaMetadata | null, metadata: ExtendedMediaMetadata | null): boolean;
45
+ }
46
46
  //# sourceMappingURL=GroupPlaybackTrack.d.ts.map