@microsoft/live-share-media 0.2.0 → 0.2.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 +10 -0
- package/bin/internals/GroupCoordinatorState.d.ts +21 -0
- package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
- package/bin/internals/GroupCoordinatorState.js +9 -3
- package/bin/internals/GroupCoordinatorState.js.map +1 -1
- package/bin/internals/GroupPlaybackPosition.d.ts +7 -0
- package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackPosition.js +4 -1
- package/bin/internals/GroupPlaybackPosition.js.map +1 -1
- package/bin/internals/GroupPlaybackTrack.d.ts +12 -0
- package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrack.js +7 -1
- package/bin/internals/GroupPlaybackTrack.js.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.d.ts +12 -0
- package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.js +7 -1
- package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
- package/bin/internals/GroupTransportState.d.ts +12 -0
- package/bin/internals/GroupTransportState.d.ts.map +1 -1
- package/bin/internals/GroupTransportState.js +7 -1
- package/bin/internals/GroupTransportState.js.map +1 -1
- package/bin/internals/consts.d.ts +1 -0
- package/bin/internals/consts.d.ts.map +1 -1
- package/bin/internals/consts.js +4 -0
- package/bin/internals/consts.js.map +1 -1
- package/package.json +3 -3
- package/src/internals/GroupCoordinatorState.ts +38 -17
- package/src/internals/GroupPlaybackPosition.ts +15 -9
- package/src/internals/GroupPlaybackTrack.ts +21 -8
- package/src/internals/GroupPlaybackTrackData.ts +19 -6
- package/src/internals/GroupTransportState.ts +19 -6
- package/src/internals/consts.ts +6 -2
package/README.md
CHANGED
|
@@ -106,6 +106,16 @@ There are several code samples that are hosted in a separate GitHub repository.
|
|
|
106
106
|
| React Video | Basic example showing how the EphemeralMediaSession object works with HTML5 video. | [View](https://aka.ms/liveshare-reactvideo) |
|
|
107
107
|
| React Media Template | Enable all connected clients to watch videos together, build a shared playlist, transfer whom is in control, and annotate over the video. | [View](https://aka.ms/liveshare-mediatemplate) |
|
|
108
108
|
|
|
109
|
+
## Package Compatibility
|
|
110
|
+
|
|
111
|
+
The Live Share SDK contains dependencies for [@microsoft/teams-js](https://www.npmjs.com/package/@microsoft/teams-js) and [fluid-framework](https://www.npmjs.com/package/fluid-framework) packages among others. Both of these packages are sensitive to the package version your app any libraries use. You will likely run into issues if the package version your app uses doesn't match the version other libraries you depend on use.
|
|
112
|
+
|
|
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
|
+
|
|
115
|
+
| @microsoft/live-share | @microsoft/teams-js | fluid-framework | @microsoft/live-share-media | @fluidframework/test-client-utils |
|
|
116
|
+
| --------------------- | -------------------- | --------------- | --------------------------- | --------------------------------- |
|
|
117
|
+
| ~0.2.1 | 2.0.0-experimental.0 | ~0.59.0 | ~0.2.1 (optional) | ~0.59.0 (optional) |
|
|
118
|
+
|
|
109
119
|
## Contributing
|
|
110
120
|
|
|
111
121
|
There are several ways you can [contribute](../../CONTRIBUTING.md) to this project:
|
|
@@ -11,6 +11,9 @@ import { GroupTransportState, ITransportState } from './GroupTransportState';
|
|
|
11
11
|
import { GroupPlaybackPosition } from './GroupPlaybackPosition';
|
|
12
12
|
import { IMediaPlayerState } from '../EphemeralMediaSessionCoordinator';
|
|
13
13
|
import { GroupPlaybackTrackData, IPlaybackTrackData } from './GroupPlaybackTrackData';
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
14
17
|
export interface IPositionUpdateEvent extends IEphemeralEvent {
|
|
15
18
|
track: IPlaybackTrack;
|
|
16
19
|
trackData: IPlaybackTrackData;
|
|
@@ -19,24 +22,42 @@ export interface IPositionUpdateEvent extends IEphemeralEvent {
|
|
|
19
22
|
position: number;
|
|
20
23
|
waitPoint?: CoordinationWaitPoint;
|
|
21
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
22
28
|
export interface ITransportCommandEvent extends IEphemeralEvent {
|
|
23
29
|
track: IPlaybackTrack;
|
|
24
30
|
position: number;
|
|
25
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
26
35
|
export interface ISetTrackEvent extends IEphemeralEvent {
|
|
27
36
|
metadata: ExtendedMediaMetadata | null;
|
|
28
37
|
waitPoints: CoordinationWaitPoint[];
|
|
29
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @hidden
|
|
41
|
+
*/
|
|
30
42
|
export interface ISetTrackDataEvent extends IEphemeralEvent {
|
|
31
43
|
data: object | null;
|
|
32
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
33
48
|
export interface ITriggerActionEvent extends IEvent {
|
|
34
49
|
details: ExtendedMediaSessionActionDetails;
|
|
35
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
36
54
|
export declare enum GroupCoordinatorStateEvents {
|
|
37
55
|
newwaitpoint = "newwaitpoint",
|
|
38
56
|
triggeraction = "triggeraction"
|
|
39
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* @hidden
|
|
60
|
+
*/
|
|
40
61
|
export declare class GroupCoordinatorState extends EventEmitter {
|
|
41
62
|
private readonly _runtime;
|
|
42
63
|
private readonly _logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAkB,YAAY,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAC1I,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC/J,OAAO,EAAE,kBAAkB,EAA4B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAA4B,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAA2B,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG/G,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IACzD,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,iCAAiC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC3D,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACnD,QAAQ,EAAE,qBAAqB,GAAC,IAAI,CAAC;IACrC,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACvD,IAAI,EAAE,MAAM,GAAC,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"GroupCoordinatorState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupCoordinatorState.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,17 @@ const GroupPlaybackPosition_1 = require("./GroupPlaybackPosition");
|
|
|
25
25
|
const GroupTransportState_2 = require("./GroupTransportState");
|
|
26
26
|
const GroupPlaybackTrackData_1 = require("./GroupPlaybackTrackData");
|
|
27
27
|
const consts_1 = require("./consts");
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
28
31
|
var GroupCoordinatorStateEvents;
|
|
29
32
|
(function (GroupCoordinatorStateEvents) {
|
|
30
33
|
GroupCoordinatorStateEvents["newwaitpoint"] = "newwaitpoint";
|
|
31
34
|
GroupCoordinatorStateEvents["triggeraction"] = "triggeraction";
|
|
32
35
|
})(GroupCoordinatorStateEvents = exports.GroupCoordinatorStateEvents || (exports.GroupCoordinatorStateEvents = {}));
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
33
39
|
class GroupCoordinatorState extends events_1.default {
|
|
34
40
|
constructor(runtime, maxPlaybackDrift, positionUpdateInterval, getMediaPlayerState) {
|
|
35
41
|
super();
|
|
@@ -38,7 +44,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
38
44
|
// "Soft Suspension" tracking
|
|
39
45
|
// - Soft suspensions temporarily disconnect the local media session when transitioning between
|
|
40
46
|
// paused, playing, and none states. This is to give the local client time to finish any inprogress
|
|
41
|
-
// operations like sending a transport command or ending a suspension.
|
|
47
|
+
// operations like sending a transport command or ending a suspension.
|
|
42
48
|
this._lastStateChange = 'none';
|
|
43
49
|
this._lastStateChangeTime = 0;
|
|
44
50
|
this._runtime = runtime;
|
|
@@ -255,7 +261,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
255
261
|
// Begin a "soft suspension" on select state changes
|
|
256
262
|
// - This is needed because the catchup logic can try to sink the client with
|
|
257
263
|
// the rest of the group while the local player is trying to to seek to a
|
|
258
|
-
// new position.
|
|
264
|
+
// new position.
|
|
259
265
|
switch (event.playbackState) {
|
|
260
266
|
case 'none':
|
|
261
267
|
case 'paused':
|
|
@@ -299,7 +305,7 @@ class GroupCoordinatorState extends events_1.default {
|
|
|
299
305
|
}
|
|
300
306
|
// Once local playback has ended there's no need to further sync the client. In fact
|
|
301
307
|
// doing so could cause the player to loop.
|
|
302
|
-
// - The playbackPosition.trackEnded check is to catch late joiners and prevents syncing if everyone
|
|
308
|
+
// - The playbackPosition.trackEnded check is to catch late joiners and prevents syncing if everyone
|
|
303
309
|
// else has finished the video.
|
|
304
310
|
// - Should another user seek or press play after the video has ended that will cause
|
|
305
311
|
// a transport action to trigger which will take the player out of the ended state.
|
|
@@ -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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"}
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
import { IRuntimeSignaler, TimeInterval } from '@microsoft/live-share';
|
|
6
6
|
import { GroupTransportState } from './GroupTransportState';
|
|
7
7
|
import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from '../MediaSessionExtensions';
|
|
8
|
+
/**
|
|
9
|
+
*Per client position
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
8
12
|
export interface ICurrentPlaybackPosition {
|
|
9
13
|
playbackState: ExtendedMediaSessionPlaybackState;
|
|
10
14
|
waitPoint?: CoordinationWaitPoint;
|
|
@@ -13,6 +17,9 @@ export interface ICurrentPlaybackPosition {
|
|
|
13
17
|
timestamp: number;
|
|
14
18
|
clientId: string;
|
|
15
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
16
23
|
export declare class GroupPlaybackPosition {
|
|
17
24
|
private _transportState;
|
|
18
25
|
private _runtime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkB,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackPosition.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkB,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAErG;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,iCAAiC,CAAC;IACjD,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC,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;gBAG9C,cAAc,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY;IAcxG;;OAEG;IACH,IAAW,aAAa,IAAI,wBAAwB,GAAC,SAAS,CAE7D;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAIhC;IAED;;;OAGG;IACH,IAAW,UAAU,IAAI,OAAO,CAe/B;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAclC;IAED;;;;;OAKG;IACH,IAAW,WAAW,IAAI,MAAM,CAQ/B;IAED;;OAEG;IACI,aAAa,CAAC,EAAE,MAAM,CAAC;IAE9B,IAAW,cAAc,IAAI,MAAM,CAMlC;IAGD;;;OAGG;IACK,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAiBnG,sBAAsB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAkBvE,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,sBAAsB;CAGjC"}
|
|
@@ -7,6 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.GroupPlaybackPosition = void 0;
|
|
8
8
|
const live_share_1 = require("@microsoft/live-share");
|
|
9
9
|
const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
10
13
|
class GroupPlaybackPosition {
|
|
11
14
|
constructor(transportState, runtime, updateInterval) {
|
|
12
15
|
this._transportState = transportState;
|
|
@@ -135,7 +138,7 @@ class GroupPlaybackPosition {
|
|
|
135
138
|
}
|
|
136
139
|
getMostProgressedPosition() {
|
|
137
140
|
// Compute the max possible position for the current transport state.
|
|
138
|
-
// - This is needed to properly handle seeking backwards in time. Some playback heads may
|
|
141
|
+
// - This is needed to properly handle seeking backwards in time. Some playback heads may
|
|
139
142
|
// not have performed their seek yet and will therefore be ahead of the local player.
|
|
140
143
|
const maxPosition = this.maxPosition;
|
|
141
144
|
// Compute max progress
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,sDAAuF;AAEvF,6DAAgE;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,30 @@ import { IEvent } from '@microsoft/live-share';
|
|
|
7
7
|
import EventEmitter from 'events';
|
|
8
8
|
import { IMediaPlayerState } from '../EphemeralMediaSessionCoordinator';
|
|
9
9
|
import { CoordinationWaitPoint, ExtendedMediaMetadata } from '../MediaSessionExtensions';
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
10
13
|
export interface IPlaybackTrack {
|
|
11
14
|
metadata: ExtendedMediaMetadata | null;
|
|
12
15
|
waitPoints: CoordinationWaitPoint[];
|
|
13
16
|
timestamp: number;
|
|
14
17
|
clientId: string;
|
|
15
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
16
22
|
export declare enum GroupPlaybackTrackEvents {
|
|
17
23
|
trackChange = "trackChange"
|
|
18
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
19
28
|
export interface IPlaybackTrackChangeEvent extends IEvent {
|
|
20
29
|
metadata: ExtendedMediaMetadata | null;
|
|
21
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* @hidden
|
|
33
|
+
*/
|
|
22
34
|
export declare class GroupPlaybackTrack extends EventEmitter {
|
|
23
35
|
private readonly _getMediaPlayerState;
|
|
24
36
|
private _current;
|
|
@@ -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,qCAAqC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEzF,MAAM,WAAW,cAAc;
|
|
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,qCAAqC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEzF;;GAEG;AACF,MAAM,WAAW,cAAc;IAC5B,QAAQ,EAAE,qBAAqB,GAAC,IAAI,CAAC;IACrC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAGD;;GAEG;AACF,oBAAY,wBAAwB;IACjC,WAAW,gBAAgB;CAC9B;AAED;;GAEG;AACF,MAAM,WAAW,yBAA0B,SAAQ,MAAM;IACtD,QAAQ,EAAE,qBAAqB,GAAC,IAAI,CAAC;CACxC;AAED;;GAEG;AACF,qBAAa,kBAAmB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAiB;gBAErB,mBAAmB,EAAE,MAAM,iBAAiB;IAMxD,IAAW,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAO7C;IAED,IAAW,QAAQ,IAAI,qBAAqB,GAAC,IAAI,CAEhD;IAEM,YAAY,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO;IAkBvD,iBAAiB,CAAC,aAAa,EAAE,qBAAqB,GAAC,SAAS,GAAG,qBAAqB,GAAC,SAAS;IAalG,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAwC3C,OAAO,CAAC,QAAQ,EAAE,qBAAqB,GAAC,IAAI,GAAG,OAAO;WAI/C,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAC,IAAI,EAAE,QAAQ,EAAE,qBAAqB,GAAC,IAAI,GAAG,OAAO;CAUpH"}
|
|
@@ -9,10 +9,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.GroupPlaybackTrack = exports.GroupPlaybackTrackEvents = void 0;
|
|
11
11
|
const events_1 = __importDefault(require("events"));
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
12
15
|
var GroupPlaybackTrackEvents;
|
|
13
16
|
(function (GroupPlaybackTrackEvents) {
|
|
14
17
|
GroupPlaybackTrackEvents["trackChange"] = "trackChange";
|
|
15
18
|
})(GroupPlaybackTrackEvents = exports.GroupPlaybackTrackEvents || (exports.GroupPlaybackTrackEvents = {}));
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
16
22
|
class GroupPlaybackTrack extends events_1.default {
|
|
17
23
|
constructor(getMediaPlayerState) {
|
|
18
24
|
super();
|
|
@@ -73,7 +79,7 @@ class GroupPlaybackTrack extends events_1.default {
|
|
|
73
79
|
return false;
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
|
-
// Ignore state changes that are older
|
|
82
|
+
// Ignore state changes that are older
|
|
77
83
|
if (track.timestamp < current.timestamp) {
|
|
78
84
|
return false;
|
|
79
85
|
}
|
|
@@ -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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"}
|
|
@@ -6,17 +6,29 @@
|
|
|
6
6
|
import { IEvent } from '@microsoft/live-share';
|
|
7
7
|
import EventEmitter from 'events';
|
|
8
8
|
import { GroupPlaybackTrack } from './GroupPlaybackTrack';
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
9
12
|
export interface IPlaybackTrackData {
|
|
10
13
|
data: object | null;
|
|
11
14
|
timestamp: number;
|
|
12
15
|
clientId: string;
|
|
13
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
14
20
|
export declare enum PlaybackTrackDataEvents {
|
|
15
21
|
dataChange = "dataChange"
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
17
26
|
export interface IPlaybackTrackDataChangeEvent extends IEvent {
|
|
18
27
|
data: object | null;
|
|
19
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @hidden
|
|
31
|
+
*/
|
|
20
32
|
export declare class GroupPlaybackTrackData extends EventEmitter {
|
|
21
33
|
private _track;
|
|
22
34
|
private _current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;AAGpF;;GAEG;AACF,MAAM,WAAW,kBAAkB;IAChC,IAAI,EAAE,MAAM,GAAC,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACF,oBAAY,uBAAuB;IAChC,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM;IACzD,IAAI,EAAE,MAAM,GAAC,IAAI,CAAC;CACrB;AAED;;GAEG;AACF,qBAAa,sBAAuB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,KAAK,EAAE,kBAAkB;IAgBrC,IAAW,OAAO,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAEjD;IAED,IAAW,IAAI,IAAI,MAAM,GAAC,IAAI,CAE7B;IAEM,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAyBxD"}
|
|
@@ -10,10 +10,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.GroupPlaybackTrackData = exports.PlaybackTrackDataEvents = void 0;
|
|
11
11
|
const events_1 = __importDefault(require("events"));
|
|
12
12
|
const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
13
16
|
var PlaybackTrackDataEvents;
|
|
14
17
|
(function (PlaybackTrackDataEvents) {
|
|
15
18
|
PlaybackTrackDataEvents["dataChange"] = "dataChange";
|
|
16
19
|
})(PlaybackTrackDataEvents = exports.PlaybackTrackDataEvents || (exports.PlaybackTrackDataEvents = {}));
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
17
23
|
class GroupPlaybackTrackData extends events_1.default {
|
|
18
24
|
constructor(track) {
|
|
19
25
|
super();
|
|
@@ -36,7 +42,7 @@ class GroupPlaybackTrackData extends events_1.default {
|
|
|
36
42
|
return this.current.data;
|
|
37
43
|
}
|
|
38
44
|
updateData(event) {
|
|
39
|
-
// Ignore state changes that are older
|
|
45
|
+
// Ignore state changes that are older
|
|
40
46
|
const current = this.current;
|
|
41
47
|
if (event.timestamp < current.timestamp) {
|
|
42
48
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;AAClC,6DAAoF;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;AAClC,6DAAoF;AAYpF;;GAEG;AACF,IAAY,uBAEZ;AAFA,WAAY,uBAAuB;IAChC,oDAAyB,CAAA;AAC7B,CAAC,EAFY,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAEnC;AASD;;GAEG;AACF,MAAa,sBAAuB,SAAQ,gBAAY;IAIrD,YAAY,KAAyB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAE3D,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6CAAwB,CAAC,WAAW,EAAE,GAAG,EAAE;YACtD,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,GAAG;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS;gBACxC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;aACzC,CAAA;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAC,KAAyB;QACvC,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE;YACrC,OAAO,KAAK,CAAC;SAChB;QAED,mFAAmF;QACnF,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5F,OAAO,KAAK,CAAC;SAChB;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC5D,OAAO,KAAK,CAAC;SAChB;QAED,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9G,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AArDA,wDAqDA"}
|
|
@@ -8,19 +8,31 @@ import EventEmitter from 'events';
|
|
|
8
8
|
import { IMediaPlayerState } from '../EphemeralMediaSessionCoordinator';
|
|
9
9
|
import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction } from '../MediaSessionExtensions';
|
|
10
10
|
import { GroupPlaybackTrack } from './GroupPlaybackTrack';
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
11
14
|
export interface ITransportState {
|
|
12
15
|
playbackState: ExtendedMediaSessionPlaybackState;
|
|
13
16
|
startPosition: number;
|
|
14
17
|
timestamp: number;
|
|
15
18
|
clientId: string;
|
|
16
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
17
23
|
export declare enum GroupTransportStateEvents {
|
|
18
24
|
transportStateChange = "transportStateChange"
|
|
19
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* @hidden
|
|
28
|
+
*/
|
|
20
29
|
export interface ITransportStateChangeEvent extends IEvent {
|
|
21
30
|
action: ExtendedMediaSessionAction;
|
|
22
31
|
seekTime?: number;
|
|
23
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
*/
|
|
24
36
|
export declare class GroupTransportState extends EventEmitter {
|
|
25
37
|
private readonly _getMediaPlayerState;
|
|
26
38
|
private _track;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAkB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,MAAM,EAAkB,MAAM,uBAAuB,CAAC;AAC/D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAA4B,MAAM,sBAAsB,CAAC;AAGpF;;GAEG;AACF,MAAM,WAAW,eAAe;IAC7B,aAAa,EAAE,iCAAiC,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,yBAAyB;IACjC,oBAAoB,yBAAyB;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,MAAM;IACtD,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACF,qBAAa,mBAAoB,SAAQ,YAAY;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB;IAuBnF,IAAW,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE9C;IAED,IAAW,aAAa,IAAI,iCAAiC,CAE5D;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,KAAK,IAAI,kBAAkB,CAErC;IAEM,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAIxC,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;CAkCtD"}
|
|
@@ -11,10 +11,16 @@ exports.GroupTransportState = exports.GroupTransportStateEvents = void 0;
|
|
|
11
11
|
const live_share_1 = require("@microsoft/live-share");
|
|
12
12
|
const events_1 = __importDefault(require("events"));
|
|
13
13
|
const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
14
17
|
var GroupTransportStateEvents;
|
|
15
18
|
(function (GroupTransportStateEvents) {
|
|
16
19
|
GroupTransportStateEvents["transportStateChange"] = "transportStateChange";
|
|
17
20
|
})(GroupTransportStateEvents = exports.GroupTransportStateEvents || (exports.GroupTransportStateEvents = {}));
|
|
21
|
+
/**
|
|
22
|
+
* @hidden
|
|
23
|
+
*/
|
|
18
24
|
class GroupTransportState extends events_1.default {
|
|
19
25
|
constructor(track, getMediaPlayerState) {
|
|
20
26
|
super();
|
|
@@ -60,7 +66,7 @@ class GroupTransportState extends events_1.default {
|
|
|
60
66
|
if (this.compare(state)) {
|
|
61
67
|
return false;
|
|
62
68
|
}
|
|
63
|
-
// Ignore state changes that are older
|
|
69
|
+
// Ignore state changes that are older
|
|
64
70
|
const originalState = this.current;
|
|
65
71
|
if (state.timestamp < originalState.timestamp) {
|
|
66
72
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,sDAA+D;AAC/D,oDAAkC;AAGlC,6DAAoF;
|
|
1
|
+
{"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D3B,CAAA"}
|
package/bin/internals/consts.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.TelemetryEvents = void 0;
|
|
8
8
|
/**
|
|
9
|
+
* @hidden
|
|
9
10
|
* List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
|
|
10
11
|
* the telemetry service.
|
|
11
12
|
*/
|
|
@@ -72,6 +73,9 @@ exports.TelemetryEvents = {
|
|
|
72
73
|
PositionOutOfSync: transmit('GroupCoordinator:PositionOutOfSync'),
|
|
73
74
|
}
|
|
74
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* @hidden
|
|
78
|
+
*/
|
|
75
79
|
function transmit(eventName) {
|
|
76
80
|
return `${eventName}#transmit`;
|
|
77
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC3B,uBAAuB,EAAE;QACrB,sBAAsB,EAAE,gDAAgD;QACxE,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,aAAa,EAAE,uCAAuC;QACtD,cAAc,EAAE,wCAAwC;QACxD,gBAAgB,EAAE,0CAA0C;QAC5D,qBAAqB,EAAE,QAAQ,CAAC,+CAA+C,CAAC;QAChF,yBAAyB,EAAE,mDAAmD;QAC9E,sBAAsB,EAAE,QAAQ,CAAC,gDAAgD,CAAC;QAClF,4BAA4B,EAAE,sDAAsD;QACpF,eAAe,EAAE,yCAAyC;QAC1D,aAAa,EAAE,uCAAuC;QACtD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,cAAc,EAAE,wCAAwC;QACxD,kBAAkB,EAAE,4CAA4C;KACnE;IACD,YAAY,EAAE;QACV,UAAU,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;QACjD,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,4BAA4B,CAAC;QACrD,cAAc,EAAE,QAAQ,CAAC,6BAA6B,CAAC;QACvD,gBAAgB,EAAE,+BAA+B;QACjD,wBAAwB,EAAE,uCAAuC;KACpE;IACD,kBAAkB,EAAE;QAChB,UAAU,EAAE,QAAQ,CAAC,+BAA+B,CAAC;QACrD,WAAW,EAAE,QAAQ,CAAC,gCAAgC,CAAC;QACvD,YAAY,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QACzD,cAAc,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QAC7D,kBAAkB,EAAE,uCAAuC;QAC3D,eAAe,EAAE,oCAAoC;QACrD,sBAAsB,EAAE,QAAQ,CAAC,2CAA2C,CAAC;QAC7E,aAAa,EAAE,kCAAkC;QACjD,oBAAoB,EAAE,QAAQ,CAAC,yCAAyC,CAAC;QACzE,kBAAkB,EAAE,uCAAuC;QAC3D,sBAAsB,EAAE,QAAQ,CAAC,2CAA2C,CAAC;QAC7E,0BAA0B,EAAE,QAAQ,CAAC,+CAA+C,CAAC;QACrF,kBAAkB,EAAE,QAAQ,CAAC,uCAAuC,CAAC;QACrE,mBAAmB,EAAE,QAAQ,CAAC,wCAAwC,CAAC;QACvE,oBAAoB,EAAE,QAAQ,CAAC,yCAAyC,CAAC;KAC5E;IACD,gBAAgB,EAAE;QACd,YAAY,EAAE,+BAA+B;QAC7C,kBAAkB,EAAE,qCAAqC;QACzD,gBAAgB,EAAE,mCAAmC;QACrD,sBAAsB,EAAE,yCAAyC;QACjE,qBAAqB,EAAE,wCAAwC;QAC/D,2BAA2B,EAAE,8CAA8C;QAC3E,mBAAmB,EAAE,sCAAsC;QAC3D,qBAAqB,EAAE,wCAAwC;QAC/D,cAAc,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QAC3D,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,iBAAiB,EAAE,QAAQ,CAAC,oCAAoC,CAAC;KACpE;CACJ,CAAA;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,GAAG,SAAS,WAAW,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/live-share-media",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Live Share classes that synchronize media playback across clients.",
|
|
5
5
|
"author": "Microsoft",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"fluid-framework": "~0.59.0",
|
|
18
|
-
"@microsoft/live-share": "0.2.
|
|
18
|
+
"@microsoft/live-share": "0.2.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/assert": "^1.5.6",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"mocha": "^9.1.1",
|
|
25
25
|
"nyc": "^15.1.0",
|
|
26
26
|
"ts-mocha": "^9.0.2",
|
|
27
|
-
"typescript": "^4.4
|
|
27
|
+
"typescript": "^4.6.4"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
|
30
30
|
"directory": "packages/live-share-media",
|
|
@@ -14,6 +14,9 @@ import { GroupTransportStateEvents } from './GroupTransportState';
|
|
|
14
14
|
import { GroupPlaybackTrackData, PlaybackTrackDataEvents, IPlaybackTrackData } from './GroupPlaybackTrackData';
|
|
15
15
|
import { TelemetryEvents } from './consts';
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
17
20
|
export interface IPositionUpdateEvent extends IEphemeralEvent {
|
|
18
21
|
track: IPlaybackTrack;
|
|
19
22
|
trackData: IPlaybackTrackData;
|
|
@@ -23,35 +26,53 @@ export interface IPositionUpdateEvent extends IEphemeralEvent {
|
|
|
23
26
|
waitPoint?: CoordinationWaitPoint;
|
|
24
27
|
}
|
|
25
28
|
|
|
29
|
+
/**
|
|
30
|
+
* @hidden
|
|
31
|
+
*/
|
|
26
32
|
export interface ITransportCommandEvent extends IEphemeralEvent {
|
|
27
33
|
track: IPlaybackTrack;
|
|
28
34
|
position: number;
|
|
29
35
|
}
|
|
30
36
|
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
31
40
|
export interface ISetTrackEvent extends IEphemeralEvent {
|
|
32
41
|
metadata: ExtendedMediaMetadata|null;
|
|
33
42
|
waitPoints: CoordinationWaitPoint[];
|
|
34
43
|
}
|
|
35
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
36
48
|
export interface ISetTrackDataEvent extends IEphemeralEvent {
|
|
37
49
|
data: object|null;
|
|
38
50
|
}
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
export interface ITriggerActionEvent extends IEvent {
|
|
41
56
|
details: ExtendedMediaSessionActionDetails;
|
|
42
57
|
}
|
|
43
58
|
|
|
59
|
+
/**
|
|
60
|
+
* @hidden
|
|
61
|
+
*/
|
|
44
62
|
export enum GroupCoordinatorStateEvents {
|
|
45
63
|
newwaitpoint = 'newwaitpoint',
|
|
46
64
|
triggeraction = 'triggeraction'
|
|
47
65
|
}
|
|
48
66
|
|
|
49
|
-
|
|
50
|
-
|
|
67
|
+
/**
|
|
68
|
+
* @hidden
|
|
69
|
+
*/
|
|
70
|
+
export class GroupCoordinatorState extends EventEmitter {
|
|
71
|
+
private readonly _runtime: IRuntimeSignaler;
|
|
51
72
|
private readonly _logger: EphemeralTelemetryLogger;
|
|
52
73
|
private readonly _maxPlaybackDrift: TimeInterval;
|
|
53
74
|
private _getMediaPlayerState: () => IMediaPlayerState;
|
|
54
|
-
|
|
75
|
+
|
|
55
76
|
// Shared group state
|
|
56
77
|
private _playbackTrack: GroupPlaybackTrack;
|
|
57
78
|
private _playbackTrackData: GroupPlaybackTrackData;
|
|
@@ -65,7 +86,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
65
86
|
// "Soft Suspension" tracking
|
|
66
87
|
// - Soft suspensions temporarily disconnect the local media session when transitioning between
|
|
67
88
|
// paused, playing, and none states. This is to give the local client time to finish any inprogress
|
|
68
|
-
// operations like sending a transport command or ending a suspension.
|
|
89
|
+
// operations like sending a transport command or ending a suspension.
|
|
69
90
|
private _lastStateChange: ExtendedMediaSessionPlaybackState = 'none';
|
|
70
91
|
private _lastStateChangeTime: number = 0;
|
|
71
92
|
|
|
@@ -161,13 +182,13 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
161
182
|
|
|
162
183
|
public beginSuspension(waitPoint?: CoordinationWaitPoint): void {
|
|
163
184
|
this._suspensionCnt++;
|
|
164
|
-
|
|
185
|
+
|
|
165
186
|
if (waitPoint) {
|
|
166
187
|
// Save most recent wait point
|
|
167
188
|
this._waitPoint = waitPoint;
|
|
168
189
|
|
|
169
190
|
// Add to track state if dynamic wait point
|
|
170
|
-
this.playbackTrack.addWaitPoint(waitPoint);
|
|
191
|
+
this.playbackTrack.addWaitPoint(waitPoint);
|
|
171
192
|
}
|
|
172
193
|
}
|
|
173
194
|
|
|
@@ -204,7 +225,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
204
225
|
playbackState: this._waitPoint ? 'waiting' : playbackState,
|
|
205
226
|
position: positionState?.position || 0.0,
|
|
206
227
|
waitPoint: this._waitPoint
|
|
207
|
-
};
|
|
228
|
+
};
|
|
208
229
|
}
|
|
209
230
|
}
|
|
210
231
|
|
|
@@ -251,7 +272,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
251
272
|
case 'pause':
|
|
252
273
|
playbackState = 'paused';
|
|
253
274
|
break;
|
|
254
|
-
}
|
|
275
|
+
}
|
|
255
276
|
|
|
256
277
|
// Try to update playback state
|
|
257
278
|
const newState: ITransportState = {
|
|
@@ -312,7 +333,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
312
333
|
// Begin a "soft suspension" on select state changes
|
|
313
334
|
// - This is needed because the catchup logic can try to sink the client with
|
|
314
335
|
// the rest of the group while the local player is trying to to seek to a
|
|
315
|
-
// new position.
|
|
336
|
+
// new position.
|
|
316
337
|
switch (event.playbackState) {
|
|
317
338
|
case 'none':
|
|
318
339
|
case 'paused':
|
|
@@ -349,7 +370,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
349
370
|
if (!this.isWaiting && softSuspensionDelta >= 1000) {
|
|
350
371
|
let { metadata, trackData, positionState, playbackState } = this._getMediaPlayerState();
|
|
351
372
|
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.CheckingForSyncIssues);
|
|
352
|
-
|
|
373
|
+
|
|
353
374
|
// Check for track change
|
|
354
375
|
if (!this.playbackTrack.compare(metadata)) {
|
|
355
376
|
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.TrackOutOfSync);
|
|
@@ -359,7 +380,7 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
359
380
|
|
|
360
381
|
// Once local playback has ended there's no need to further sync the client. In fact
|
|
361
382
|
// doing so could cause the player to loop.
|
|
362
|
-
// - The playbackPosition.trackEnded check is to catch late joiners and prevents syncing if everyone
|
|
383
|
+
// - The playbackPosition.trackEnded check is to catch late joiners and prevents syncing if everyone
|
|
363
384
|
// else has finished the video.
|
|
364
385
|
// - Should another user seek or press play after the video has ended that will cause
|
|
365
386
|
// a transport action to trigger which will take the player out of the ended state.
|
|
@@ -374,18 +395,18 @@ export class GroupCoordinatorState extends EventEmitter {
|
|
|
374
395
|
// - Target can return -1 in cases where there is no position tracking data
|
|
375
396
|
const target = this.playbackPosition.targetPosition;
|
|
376
397
|
if (target >= 0.0 && Math.abs(target - position) >= this._maxPlaybackDrift.seconds) {
|
|
377
|
-
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.PositionOutOfSync, null, {
|
|
378
|
-
current: position,
|
|
379
|
-
target: target
|
|
398
|
+
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.PositionOutOfSync, null, {
|
|
399
|
+
current: position,
|
|
400
|
+
target: target
|
|
380
401
|
});
|
|
381
402
|
await this.emitTriggerAction({action: 'catchup', seekTime: target});
|
|
382
403
|
}
|
|
383
404
|
|
|
384
405
|
// Sync transport state
|
|
385
406
|
if (this.transportState.playbackState != playbackState) {
|
|
386
|
-
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.TransportOutOfSync, null, {
|
|
407
|
+
this._logger.sendTelemetryEvent(TelemetryEvents.GroupCoordinator.TransportOutOfSync, null, {
|
|
387
408
|
current: playbackState,
|
|
388
|
-
target: this.transportState.playbackState
|
|
409
|
+
target: this.transportState.playbackState
|
|
389
410
|
});
|
|
390
411
|
switch (this.transportState.playbackState) {
|
|
391
412
|
case 'playing':
|
|
@@ -8,7 +8,10 @@ import { GroupTransportState } from './GroupTransportState';
|
|
|
8
8
|
import { GroupPlaybackTrackEvents } from './GroupPlaybackTrack';
|
|
9
9
|
import { CoordinationWaitPoint, ExtendedMediaSessionPlaybackState } from '../MediaSessionExtensions';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
*Per client position
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
12
15
|
export interface ICurrentPlaybackPosition {
|
|
13
16
|
playbackState: ExtendedMediaSessionPlaybackState;
|
|
14
17
|
waitPoint?: CoordinationWaitPoint
|
|
@@ -18,13 +21,16 @@ export interface ICurrentPlaybackPosition {
|
|
|
18
21
|
clientId: string;
|
|
19
22
|
}
|
|
20
23
|
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
21
27
|
export class GroupPlaybackPosition {
|
|
22
28
|
private _transportState: GroupTransportState;
|
|
23
29
|
private _runtime: IRuntimeSignaler;
|
|
24
30
|
private _updateInterval: TimeInterval;
|
|
25
31
|
private _positions: Map<string, ICurrentPlaybackPosition>;
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
|
|
28
34
|
constructor(transportState: GroupTransportState, runtime: IRuntimeSignaler, updateInterval: TimeInterval) {
|
|
29
35
|
this._transportState = transportState;
|
|
30
36
|
this._runtime = runtime;
|
|
@@ -67,14 +73,14 @@ export class GroupPlaybackPosition {
|
|
|
67
73
|
case 'ended':
|
|
68
74
|
// not playing.
|
|
69
75
|
break;
|
|
70
|
-
default:
|
|
76
|
+
default:
|
|
71
77
|
playing++;
|
|
72
78
|
break;
|
|
73
79
|
}
|
|
74
80
|
});
|
|
75
81
|
|
|
76
82
|
return playing == 0;
|
|
77
|
-
}
|
|
83
|
+
}
|
|
78
84
|
|
|
79
85
|
/**
|
|
80
86
|
* Returns the number of clients we're waiting for before we can stop waiting.
|
|
@@ -93,13 +99,13 @@ export class GroupPlaybackPosition {
|
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
return cnt;
|
|
96
|
-
}
|
|
102
|
+
}
|
|
97
103
|
|
|
98
104
|
/**
|
|
99
105
|
* Returns the max playback position relative to the start position.
|
|
100
|
-
*
|
|
106
|
+
*
|
|
101
107
|
* @remarks
|
|
102
|
-
* This is called when calculating the current seekTo position.
|
|
108
|
+
* This is called when calculating the current seekTo position.
|
|
103
109
|
*/
|
|
104
110
|
public get maxPosition(): number {
|
|
105
111
|
if (this._transportState.playbackState == 'playing') {
|
|
@@ -151,7 +157,7 @@ export class GroupPlaybackPosition {
|
|
|
151
157
|
if (position.duration != undefined) {
|
|
152
158
|
this.mediaDuration = position.duration;
|
|
153
159
|
}
|
|
154
|
-
|
|
160
|
+
|
|
155
161
|
// Save last position
|
|
156
162
|
if (this._positions.has(position.clientId)) {
|
|
157
163
|
// Only update if newer position
|
|
@@ -166,7 +172,7 @@ export class GroupPlaybackPosition {
|
|
|
166
172
|
|
|
167
173
|
private getMostProgressedPosition(): number {
|
|
168
174
|
// Compute the max possible position for the current transport state.
|
|
169
|
-
// - This is needed to properly handle seeking backwards in time. Some playback heads may
|
|
175
|
+
// - This is needed to properly handle seeking backwards in time. Some playback heads may
|
|
170
176
|
// not have performed their seek yet and will therefore be ahead of the local player.
|
|
171
177
|
const maxPosition = this.maxPosition;
|
|
172
178
|
|
|
@@ -8,22 +8,35 @@ import EventEmitter from 'events';
|
|
|
8
8
|
import { IMediaPlayerState } from '../EphemeralMediaSessionCoordinator';
|
|
9
9
|
import { CoordinationWaitPoint, ExtendedMediaMetadata } from '../MediaSessionExtensions';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
export interface IPlaybackTrack {
|
|
12
15
|
metadata: ExtendedMediaMetadata|null;
|
|
13
16
|
waitPoints: CoordinationWaitPoint[];
|
|
14
17
|
timestamp: number;
|
|
15
18
|
clientId: string;
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
export enum GroupPlaybackTrackEvents {
|
|
19
26
|
trackChange = 'trackChange'
|
|
20
27
|
}
|
|
21
28
|
|
|
22
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @hidden
|
|
31
|
+
*/
|
|
32
|
+
export interface IPlaybackTrackChangeEvent extends IEvent {
|
|
23
33
|
metadata: ExtendedMediaMetadata|null;
|
|
24
34
|
}
|
|
25
35
|
|
|
26
|
-
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
export class GroupPlaybackTrack extends EventEmitter {
|
|
27
40
|
private readonly _getMediaPlayerState: () => IMediaPlayerState;
|
|
28
41
|
private _current: IPlaybackTrack;
|
|
29
42
|
|
|
@@ -95,9 +108,9 @@ export class GroupPlaybackTrack extends EventEmitter {
|
|
|
95
108
|
if (track.timestamp == current.timestamp && track.clientId == current.clientId) {
|
|
96
109
|
return false;
|
|
97
110
|
}
|
|
98
|
-
}
|
|
111
|
+
}
|
|
99
112
|
|
|
100
|
-
// Ignore state changes that are older
|
|
113
|
+
// Ignore state changes that are older
|
|
101
114
|
if (track.timestamp < current.timestamp) {
|
|
102
115
|
return false;
|
|
103
116
|
}
|
|
@@ -112,8 +125,8 @@ export class GroupPlaybackTrack extends EventEmitter {
|
|
|
112
125
|
this._current = track;
|
|
113
126
|
|
|
114
127
|
// Notify listeners
|
|
115
|
-
this.emit(GroupPlaybackTrackEvents.trackChange, { name: GroupPlaybackTrackEvents.trackChange, metadata: track.metadata });
|
|
116
|
-
|
|
128
|
+
this.emit(GroupPlaybackTrackEvents.trackChange, { name: GroupPlaybackTrackEvents.trackChange, metadata: track.metadata });
|
|
129
|
+
|
|
117
130
|
return true;
|
|
118
131
|
}
|
|
119
132
|
|
|
@@ -7,21 +7,34 @@ import { IEvent } from '@microsoft/live-share';
|
|
|
7
7
|
import EventEmitter from 'events';
|
|
8
8
|
import { GroupPlaybackTrack, GroupPlaybackTrackEvents } from './GroupPlaybackTrack';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
export interface IPlaybackTrackData {
|
|
11
15
|
data: object|null;
|
|
12
16
|
timestamp: number;
|
|
13
17
|
clientId: string;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
export enum PlaybackTrackDataEvents {
|
|
17
24
|
dataChange = 'dataChange'
|
|
18
25
|
}
|
|
19
26
|
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
20
30
|
export interface IPlaybackTrackDataChangeEvent extends IEvent {
|
|
21
31
|
data: object|null;
|
|
22
32
|
}
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
export class GroupPlaybackTrackData extends EventEmitter {
|
|
25
38
|
private _track: GroupPlaybackTrack;
|
|
26
39
|
private _current: IPlaybackTrackData;
|
|
27
40
|
|
|
@@ -50,7 +63,7 @@ export class GroupPlaybackTrackData extends EventEmitter {
|
|
|
50
63
|
}
|
|
51
64
|
|
|
52
65
|
public updateData(event: IPlaybackTrackData): boolean {
|
|
53
|
-
// Ignore state changes that are older
|
|
66
|
+
// Ignore state changes that are older
|
|
54
67
|
const current = this.current;
|
|
55
68
|
if (event.timestamp < current.timestamp) {
|
|
56
69
|
return false;
|
|
@@ -70,8 +83,8 @@ export class GroupPlaybackTrackData extends EventEmitter {
|
|
|
70
83
|
this._current = event;
|
|
71
84
|
|
|
72
85
|
// Notify listeners
|
|
73
|
-
this.emit(PlaybackTrackDataEvents.dataChange, { type: PlaybackTrackDataEvents.dataChange, data: event.data });
|
|
74
|
-
|
|
86
|
+
this.emit(PlaybackTrackDataEvents.dataChange, { type: PlaybackTrackDataEvents.dataChange, data: event.data });
|
|
87
|
+
|
|
75
88
|
return true;
|
|
76
89
|
}
|
|
77
90
|
}
|
|
@@ -9,23 +9,36 @@ import { IMediaPlayerState } from '../EphemeralMediaSessionCoordinator';
|
|
|
9
9
|
import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction } from '../MediaSessionExtensions';
|
|
10
10
|
import { GroupPlaybackTrack, GroupPlaybackTrackEvents } from './GroupPlaybackTrack';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export interface ITransportState {
|
|
13
17
|
playbackState: ExtendedMediaSessionPlaybackState;
|
|
14
18
|
startPosition: number;
|
|
15
19
|
timestamp: number;
|
|
16
20
|
clientId: string;
|
|
17
21
|
}
|
|
18
22
|
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
19
26
|
export enum GroupTransportStateEvents {
|
|
20
27
|
transportStateChange = 'transportStateChange'
|
|
21
28
|
}
|
|
22
29
|
|
|
30
|
+
/**
|
|
31
|
+
* @hidden
|
|
32
|
+
*/
|
|
23
33
|
export interface ITransportStateChangeEvent extends IEvent {
|
|
24
34
|
action: ExtendedMediaSessionAction;
|
|
25
35
|
seekTime?: number;
|
|
26
36
|
}
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
41
|
+
export class GroupTransportState extends EventEmitter {
|
|
29
42
|
private readonly _getMediaPlayerState: () => IMediaPlayerState;
|
|
30
43
|
private _track: GroupPlaybackTrack;
|
|
31
44
|
private _current: ITransportState;
|
|
@@ -83,7 +96,7 @@ export class GroupTransportState extends EventEmitter {
|
|
|
83
96
|
return false;
|
|
84
97
|
}
|
|
85
98
|
|
|
86
|
-
// Ignore state changes that are older
|
|
99
|
+
// Ignore state changes that are older
|
|
87
100
|
const originalState = this.current;
|
|
88
101
|
if (state.timestamp < originalState.timestamp) {
|
|
89
102
|
return false;
|
|
@@ -100,13 +113,13 @@ export class GroupTransportState extends EventEmitter {
|
|
|
100
113
|
// Trigger transport change
|
|
101
114
|
const playerState = this._getMediaPlayerState().playbackState;
|
|
102
115
|
if (originalState.playbackState == state.playbackState && playerState != 'ended') {
|
|
103
|
-
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'seekto', seekTime: state.startPosition });
|
|
116
|
+
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'seekto', seekTime: state.startPosition });
|
|
104
117
|
} else if (state.playbackState == 'playing') {
|
|
105
118
|
const now = EphemeralEvent.getTimestamp();
|
|
106
119
|
const projectedPosition = state.startPosition + ((now - state.timestamp) / 1000);
|
|
107
|
-
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'play', seekTime: projectedPosition});
|
|
120
|
+
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'play', seekTime: projectedPosition});
|
|
108
121
|
} else {
|
|
109
|
-
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'pause', seekTime: state.startPosition});
|
|
122
|
+
this.emit(GroupTransportStateEvents.transportStateChange, { type: GroupTransportStateEvents.transportStateChange, action: 'pause', seekTime: state.startPosition});
|
|
110
123
|
}
|
|
111
124
|
|
|
112
125
|
return true;
|
package/src/internals/consts.ts
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* @hidden
|
|
8
|
+
* List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
|
|
9
|
+
* the telemetry service.
|
|
9
10
|
*/
|
|
10
11
|
export const TelemetryEvents = {
|
|
11
12
|
MediaPlayerSynchronizer: {
|
|
@@ -71,6 +72,9 @@ export const TelemetryEvents = {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
|
|
75
|
+
/**
|
|
76
|
+
* @hidden
|
|
77
|
+
*/
|
|
74
78
|
function transmit(eventName: string): string {
|
|
75
79
|
return `${eventName}#transmit`;
|
|
76
80
|
}
|