@microsoft/live-share-media 1.0.0-preview.11 → 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.
- package/README.md +1 -1
- package/bin/EphemeralMediaSession.d.ts +102 -0
- package/bin/EphemeralMediaSession.d.ts.map +1 -0
- package/bin/EphemeralMediaSession.js +226 -0
- package/bin/EphemeralMediaSession.js.map +1 -0
- package/bin/EphemeralMediaSessionCoordinator.d.ts +228 -0
- package/bin/EphemeralMediaSessionCoordinator.d.ts.map +1 -0
- package/bin/EphemeralMediaSessionCoordinator.js +396 -0
- package/bin/EphemeralMediaSessionCoordinator.js.map +1 -0
- package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts +20 -0
- package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts.map +1 -0
- package/bin/EphemeralMediaSessionCoordinatorSuspension.js +28 -0
- package/bin/EphemeralMediaSessionCoordinatorSuspension.js.map +1 -0
- package/bin/IMediaPlayer.d.ts +21 -0
- package/bin/IMediaPlayer.d.ts.map +1 -0
- package/bin/IMediaPlayer.js +7 -0
- package/bin/IMediaPlayer.js.map +1 -0
- package/bin/LiveMediaSession.d.ts +96 -0
- package/bin/LiveMediaSession.d.ts.map +1 -0
- package/bin/LiveMediaSession.js +236 -0
- package/bin/LiveMediaSession.js.map +1 -0
- package/bin/LiveMediaSessionCoordinator.d.ts +239 -0
- package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -0
- package/bin/LiveMediaSessionCoordinator.js +477 -0
- package/bin/LiveMediaSessionCoordinator.js.map +1 -0
- package/bin/LiveMediaSessionCoordinatorSuspension.d.ts +20 -0
- package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
- package/bin/LiveMediaSessionCoordinatorSuspension.js +28 -0
- package/bin/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
- package/bin/MediaPlayerSynchronizer.d.ts +174 -0
- package/bin/MediaPlayerSynchronizer.d.ts.map +1 -0
- package/bin/MediaPlayerSynchronizer.js +492 -0
- package/bin/MediaPlayerSynchronizer.js.map +1 -0
- package/bin/MediaSessionActionThrottler.d.ts +12 -0
- package/bin/MediaSessionActionThrottler.d.ts.map +1 -0
- package/bin/MediaSessionActionThrottler.js +14 -0
- package/bin/MediaSessionActionThrottler.js.map +1 -0
- package/bin/MediaSessionExtensions.d.ts +35 -0
- package/bin/MediaSessionExtensions.d.ts.map +1 -0
- package/bin/MediaSessionExtensions.js +13 -0
- package/bin/MediaSessionExtensions.js.map +1 -0
- package/bin/RepeatedActionThrottler.d.ts +20 -0
- package/bin/RepeatedActionThrottler.d.ts.map +1 -0
- package/bin/RepeatedActionThrottler.js +63 -0
- package/bin/RepeatedActionThrottler.js.map +1 -0
- package/bin/VolumeLimiter.d.ts +70 -0
- package/bin/VolumeLimiter.d.ts.map +1 -0
- package/bin/VolumeLimiter.js +170 -0
- package/bin/VolumeLimiter.js.map +1 -0
- package/bin/VolumeManager.d.ts +84 -0
- package/bin/VolumeManager.d.ts.map +1 -0
- package/bin/VolumeManager.js +175 -0
- package/bin/VolumeManager.js.map +1 -0
- package/bin/index.d.ts +14 -0
- package/bin/index.d.ts.map +1 -0
- package/bin/index.js +30 -0
- package/bin/index.js.map +1 -0
- package/bin/internals/GroupCoordinatorState.d.ts +94 -0
- package/bin/internals/GroupCoordinatorState.d.ts.map +1 -0
- package/bin/internals/GroupCoordinatorState.js +408 -0
- package/bin/internals/GroupCoordinatorState.js.map +1 -0
- package/bin/internals/GroupPlaybackPosition.d.ts +68 -0
- package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -0
- package/bin/internals/GroupPlaybackPosition.js +167 -0
- package/bin/internals/GroupPlaybackPosition.js.map +1 -0
- package/bin/internals/GroupPlaybackTrack.d.ts +46 -0
- package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -0
- package/bin/internals/GroupPlaybackTrack.js +122 -0
- package/bin/internals/GroupPlaybackTrack.js.map +1 -0
- package/bin/internals/GroupPlaybackTrackData.d.ts +40 -0
- package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -0
- package/bin/internals/GroupPlaybackTrackData.js +70 -0
- package/bin/internals/GroupPlaybackTrackData.js.map +1 -0
- package/bin/internals/GroupTransportState.d.ts +50 -0
- package/bin/internals/GroupTransportState.d.ts.map +1 -0
- package/bin/internals/GroupTransportState.js +112 -0
- package/bin/internals/GroupTransportState.js.map +1 -0
- package/bin/internals/consts.d.ts +76 -0
- package/bin/internals/consts.d.ts.map +1 -0
- package/bin/internals/consts.js +85 -0
- package/bin/internals/consts.js.map +1 -0
- package/bin/internals/index.d.ts +11 -0
- package/bin/internals/index.d.ts.map +1 -0
- package/bin/internals/index.js +27 -0
- package/bin/internals/index.js.map +1 -0
- package/package.json +4 -4
- package/src/LiveMediaSession.ts +24 -12
- package/src/LiveMediaSessionCoordinator.ts +101 -29
- package/src/MediaPlayerSynchronizer.ts +30 -14
- package/src/internals/GroupCoordinatorState.ts +49 -35
- package/src/internals/GroupPlaybackPosition.ts +6 -2
- package/src/internals/GroupPlaybackTrack.ts +2 -2
- package/src/internals/GroupPlaybackTrackData.ts +2 -2
- package/src/internals/GroupTransportState.ts +11 -4
- package/src/internals/consts.ts +4 -0
- package/src/test/GroupPlaybackPosition.spec.ts +0 -600
- package/src/test/GroupPlaybackTrack.spec.ts +0 -122
- package/src/test/SharedMediaSession.spec.ts +0 -149
- package/src/test/SharedMediaSessionCoordinator.spec.ts +0 -271
- package/src/test/VolumeManager.spec.ts +0 -219
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,6DAAgE;AAmBhE;;GAEG;AACH,MAAa,qBAAqB;IAO9B,YACI,cAAmC,EACnC,OAAyB,EACzB,WAA6B,EAC7B,cAA4B;QAE5B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAE5B,0BAA0B;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACzB,6CAAwB,CAAC,WAAW,EACpC,CAAC,CAAC,EAAE,EAAE;YACF,uCAAuC;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACnC,CAAC,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAS,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,IAAW,UAAU;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE;YACzC,QAAQ,QAAQ,CAAC,aAAa,EAAE;gBAC5B,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,eAAe;oBACf,MAAM;gBACV;oBACI,OAAO,EAAE,CAAC;oBACV,MAAM;aACb;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,CAAC;QAChD,IACI,SAAS;YACT,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS;gBAC9B,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,UAAU,CAAC,EAChD;YACE,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE;gBACzC,IACI,QAAQ,CAAC,aAAa,IAAI,WAAW;oBACrC,QAAQ,CAAC,SAAS,EACpB;oBACE,GAAG,EAAE,CAAC;iBACT;qBAAM,IAAI,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE;oBAC/C,GAAG,EAAE,CAAC;iBACT;YACL,CAAC,CAAC,CAAC;SACN;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,IAAW,WAAW;QAClB,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,IAAI,SAAS,EAAE;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,SAAS,GACX,IAAI,CAAC,eAAe,CAAC,aAAa;gBAClC,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAClD,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;SACjD;aAAM;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;SAC7C;IACL,CAAC;IAOD,IAAW,cAAc;QACrB,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,IAAI,SAAS,EAAE;YACjD,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAC3C;aAAM;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;SAC7C;IACL,CAAC;IAED;;;OAGG;IACI,OAAO,CACV,UAGS;;QAET,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,0CAAE,UAAU,CAAA,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAE3C,yBAAyB;YACzB,IAAI,QAAQ,CAAC,SAAS,GAAG,YAAY,EAAE;gBACnC,sCAAsC;gBACtC,oEAAoE;gBACpE,MAAM,SAAS,GACX,QAAQ,CAAC,aAAa,IAAI,SAAS,IAAI,aAAa;oBAChD,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI;oBACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC5B,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;aAChE;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,sBAAsB,CAAC,QAAkC;QAC5D,kBAAkB;QAClB,IAAI,QAAQ,CAAC,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAC1C;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACxC,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACpD;SACJ;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACpD;IACL,CAAC;IAEO,yBAAyB;QAC7B,qEAAqE;QACrE,yFAAyF;QACzF,uFAAuF;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,uBAAuB;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE;YACzC,IACI,iBAAiB,IAAI,WAAW;gBAChC,iBAAiB,GAAG,QAAQ,EAC9B;gBACE,QAAQ,GAAG,iBAAiB,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,sBAAsB,CAAC,QAAgB;QAC3C,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;YACxC,CAAC,CAAC,QAAQ,CAAC;IACnB,CAAC;CACJ;AApMD,sDAoMC"}
|
|
@@ -0,0 +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 { 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
|
+
//# sourceMappingURL=GroupPlaybackTrack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,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,UAAU;IACzD,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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the Microsoft Live Share SDK License.
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.GroupPlaybackTrack = exports.GroupPlaybackTrackEvents = void 0;
|
|
11
|
+
const events_1 = __importDefault(require("events"));
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
var GroupPlaybackTrackEvents;
|
|
16
|
+
(function (GroupPlaybackTrackEvents) {
|
|
17
|
+
GroupPlaybackTrackEvents["trackChange"] = "trackChange";
|
|
18
|
+
})(GroupPlaybackTrackEvents = exports.GroupPlaybackTrackEvents || (exports.GroupPlaybackTrackEvents = {}));
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
class GroupPlaybackTrack extends events_1.default {
|
|
23
|
+
constructor(getMediaPlayerState) {
|
|
24
|
+
super();
|
|
25
|
+
this._current = {
|
|
26
|
+
metadata: null,
|
|
27
|
+
waitPoints: [],
|
|
28
|
+
timestamp: 0,
|
|
29
|
+
clientId: "",
|
|
30
|
+
};
|
|
31
|
+
this._getMediaPlayerState = getMediaPlayerState;
|
|
32
|
+
}
|
|
33
|
+
get current() {
|
|
34
|
+
// Populate with sessions current metadata if null
|
|
35
|
+
if (!this._current.metadata) {
|
|
36
|
+
this._current.metadata = this._getMediaPlayerState().metadata;
|
|
37
|
+
}
|
|
38
|
+
return this._current;
|
|
39
|
+
}
|
|
40
|
+
get metadata() {
|
|
41
|
+
return this.current.metadata;
|
|
42
|
+
}
|
|
43
|
+
addWaitPoint(waitPoint) {
|
|
44
|
+
for (let i = 0; i < this._current.waitPoints.length; i++) {
|
|
45
|
+
const current = this._current.waitPoints[i];
|
|
46
|
+
if (current.position == waitPoint.position) {
|
|
47
|
+
// Already exists
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
else if (current.position > waitPoint.position) {
|
|
51
|
+
// Insert before current position
|
|
52
|
+
this._current.waitPoints.splice(i, 0, waitPoint);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Append to list
|
|
57
|
+
this._current.waitPoints.push(waitPoint);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
findNextWaitPoint(lastWaitPoint) {
|
|
61
|
+
const waitPoints = this._current.waitPoints || [];
|
|
62
|
+
for (const waitPoint of waitPoints) {
|
|
63
|
+
if (lastWaitPoint && waitPoint.position <= lastWaitPoint.position) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
return waitPoint;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
updateTrack(track) {
|
|
71
|
+
// Guard against missing waitPoints collection
|
|
72
|
+
if (!Array.isArray(track.waitPoints)) {
|
|
73
|
+
track.waitPoints = [];
|
|
74
|
+
}
|
|
75
|
+
// Is this the same track?
|
|
76
|
+
const current = this.current;
|
|
77
|
+
if (GroupPlaybackTrack.compareMetadata(this.current.metadata, track.metadata)) {
|
|
78
|
+
// Add any dynamic wait points.
|
|
79
|
+
track.waitPoints.forEach((waitPoint) => {
|
|
80
|
+
this.addWaitPoint(waitPoint);
|
|
81
|
+
});
|
|
82
|
+
// Ignore if same playback state
|
|
83
|
+
if (track.timestamp == current.timestamp &&
|
|
84
|
+
track.clientId == current.clientId) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Ignore state changes that are older
|
|
89
|
+
if (track.timestamp < current.timestamp) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
// Ignore state changes that are from a clientId that sorts higher then the current one.
|
|
93
|
+
// - current.clientId should not be empty if current.timestamp != 0
|
|
94
|
+
if (track.timestamp == current.timestamp &&
|
|
95
|
+
track.clientId.localeCompare(current.clientId) > 0) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
// Update current track
|
|
99
|
+
this._current = track;
|
|
100
|
+
// Notify listeners
|
|
101
|
+
this.emit(GroupPlaybackTrackEvents.trackChange, {
|
|
102
|
+
name: GroupPlaybackTrackEvents.trackChange,
|
|
103
|
+
metadata: track.metadata,
|
|
104
|
+
});
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
compare(metadata) {
|
|
108
|
+
return GroupPlaybackTrack.compareMetadata(this.current.metadata, metadata);
|
|
109
|
+
}
|
|
110
|
+
static compareMetadata(current, metadata) {
|
|
111
|
+
// Only compare when we have two metadata instances
|
|
112
|
+
if (current && metadata) {
|
|
113
|
+
return JSON.stringify(current) == JSON.stringify(metadata);
|
|
114
|
+
}
|
|
115
|
+
else if (!current && metadata) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.GroupPlaybackTrack = GroupPlaybackTrack;
|
|
122
|
+
//# sourceMappingURL=GroupPlaybackTrack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 { GroupPlaybackTrack } from "./GroupPlaybackTrack";
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export interface IPlaybackTrackData {
|
|
13
|
+
data: object | null;
|
|
14
|
+
timestamp: number;
|
|
15
|
+
clientId: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
export declare enum PlaybackTrackDataEvents {
|
|
21
|
+
dataChange = "dataChange"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
export interface IPlaybackTrackDataChangeEvent extends ILiveEvent {
|
|
27
|
+
data: object | null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @hidden
|
|
31
|
+
*/
|
|
32
|
+
export declare class GroupPlaybackTrackData extends EventEmitter {
|
|
33
|
+
private _track;
|
|
34
|
+
private _current;
|
|
35
|
+
constructor(track: GroupPlaybackTrack);
|
|
36
|
+
get current(): Readonly<IPlaybackTrackData>;
|
|
37
|
+
get data(): object | null;
|
|
38
|
+
updateData(event: IPlaybackTrackData): boolean;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=GroupPlaybackTrackData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,UAAU;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACpD,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,GAAG,IAAI,CAE/B;IAEM,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CA+BxD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the Microsoft Live Share SDK License.
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.GroupPlaybackTrackData = exports.PlaybackTrackDataEvents = void 0;
|
|
11
|
+
const events_1 = __importDefault(require("events"));
|
|
12
|
+
const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
var PlaybackTrackDataEvents;
|
|
17
|
+
(function (PlaybackTrackDataEvents) {
|
|
18
|
+
PlaybackTrackDataEvents["dataChange"] = "dataChange";
|
|
19
|
+
})(PlaybackTrackDataEvents = exports.PlaybackTrackDataEvents || (exports.PlaybackTrackDataEvents = {}));
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
class GroupPlaybackTrackData extends events_1.default {
|
|
24
|
+
constructor(track) {
|
|
25
|
+
super();
|
|
26
|
+
this._track = track;
|
|
27
|
+
this._current = { data: null, timestamp: 0, clientId: "" };
|
|
28
|
+
// Listen for track changes
|
|
29
|
+
this._track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, () => {
|
|
30
|
+
// Track changed so reset state to empty object
|
|
31
|
+
this._current = {
|
|
32
|
+
data: null,
|
|
33
|
+
timestamp: this._track.current.timestamp,
|
|
34
|
+
clientId: this._track.current.clientId,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
get current() {
|
|
39
|
+
return this._current;
|
|
40
|
+
}
|
|
41
|
+
get data() {
|
|
42
|
+
return this.current.data;
|
|
43
|
+
}
|
|
44
|
+
updateData(event) {
|
|
45
|
+
// Ignore state changes that are older
|
|
46
|
+
const current = this.current;
|
|
47
|
+
if (event.timestamp < current.timestamp) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// Ignore state changes that have the same timestamp and the clientId sorts higher.
|
|
51
|
+
if (event.timestamp == current.timestamp &&
|
|
52
|
+
event.clientId.localeCompare(current.clientId) > 0) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
// Ignore state changes for same data object
|
|
56
|
+
if (JSON.stringify(current.data) == JSON.stringify(event.data)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
// Update current data
|
|
60
|
+
this._current = event;
|
|
61
|
+
// Notify listeners
|
|
62
|
+
this.emit(PlaybackTrackDataEvents.dataChange, {
|
|
63
|
+
type: PlaybackTrackDataEvents.dataChange,
|
|
64
|
+
data: event.data,
|
|
65
|
+
});
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.GroupPlaybackTrackData = GroupPlaybackTrackData;
|
|
70
|
+
//# sourceMappingURL=GroupPlaybackTrackData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;AAClC,6DAG8B;AAW9B;;GAEG;AACH,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;AAC7B,CAAC,EAFW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAElC;AASD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,gBAAY;IAIpD,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,CAAC;QACN,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,IACI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACpC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpD;YACE,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;YAC1C,IAAI,EAAE,uBAAuB,CAAC,UAAU;YACxC,IAAI,EAAE,KAAK,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA3DD,wDA2DC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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, LiveShareRuntime } from "@microsoft/live-share";
|
|
7
|
+
import EventEmitter from "events";
|
|
8
|
+
import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
|
|
9
|
+
import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction } from "../MediaSessionExtensions";
|
|
10
|
+
import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
export interface ITransportState {
|
|
15
|
+
playbackState: ExtendedMediaSessionPlaybackState;
|
|
16
|
+
startPosition: number;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
clientId: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
export declare enum GroupTransportStateEvents {
|
|
24
|
+
transportStateChange = "transportStateChange"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @hidden
|
|
28
|
+
*/
|
|
29
|
+
export interface ITransportStateChangeEvent extends ILiveEvent {
|
|
30
|
+
action: ExtendedMediaSessionAction;
|
|
31
|
+
seekTime?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
*/
|
|
36
|
+
export declare class GroupTransportState extends EventEmitter {
|
|
37
|
+
private readonly _getMediaPlayerState;
|
|
38
|
+
private _track;
|
|
39
|
+
private readonly _liveRuntime;
|
|
40
|
+
private _current;
|
|
41
|
+
constructor(track: GroupPlaybackTrack, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
|
|
42
|
+
get current(): Readonly<ITransportState>;
|
|
43
|
+
get playbackState(): ExtendedMediaSessionPlaybackState;
|
|
44
|
+
get startPosition(): number;
|
|
45
|
+
get timestamp(): number;
|
|
46
|
+
get track(): GroupPlaybackTrack;
|
|
47
|
+
compare(state: ITransportState): boolean;
|
|
48
|
+
updateState(state: ITransportState): boolean;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=GroupTransportState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EACH,UAAU,EACV,gBAAgB,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,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,UAAU;IAC1D,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAkB;gBAG9B,KAAK,EAAE,kBAAkB,EACzB,mBAAmB,EAAE,MAAM,iBAAiB,EAC5C,WAAW,EAAE,gBAAgB;IAyBjC,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;IAOxC,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;CAqDtD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the Microsoft Live Share SDK License.
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.GroupTransportState = exports.GroupTransportStateEvents = void 0;
|
|
11
|
+
const events_1 = __importDefault(require("events"));
|
|
12
|
+
const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
var GroupTransportStateEvents;
|
|
17
|
+
(function (GroupTransportStateEvents) {
|
|
18
|
+
GroupTransportStateEvents["transportStateChange"] = "transportStateChange";
|
|
19
|
+
})(GroupTransportStateEvents = exports.GroupTransportStateEvents || (exports.GroupTransportStateEvents = {}));
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
class GroupTransportState extends events_1.default {
|
|
24
|
+
constructor(track, getMediaPlayerState, liveRuntime) {
|
|
25
|
+
super();
|
|
26
|
+
this._liveRuntime = liveRuntime;
|
|
27
|
+
this._getMediaPlayerState = getMediaPlayerState;
|
|
28
|
+
this._track = track;
|
|
29
|
+
this._current = {
|
|
30
|
+
playbackState: "none",
|
|
31
|
+
startPosition: 0.0,
|
|
32
|
+
timestamp: 0,
|
|
33
|
+
clientId: "",
|
|
34
|
+
};
|
|
35
|
+
// Listen for track changes
|
|
36
|
+
this._track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, () => {
|
|
37
|
+
// Track changed so reset state to stopped ad position 0.0
|
|
38
|
+
this._current = {
|
|
39
|
+
playbackState: "none",
|
|
40
|
+
startPosition: 0.0,
|
|
41
|
+
timestamp: this._track.current.timestamp,
|
|
42
|
+
clientId: this._track.current.clientId,
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
get current() {
|
|
47
|
+
return this._current;
|
|
48
|
+
}
|
|
49
|
+
get playbackState() {
|
|
50
|
+
return this.current.playbackState;
|
|
51
|
+
}
|
|
52
|
+
get startPosition() {
|
|
53
|
+
return this.current.startPosition;
|
|
54
|
+
}
|
|
55
|
+
get timestamp() {
|
|
56
|
+
return this.current.timestamp;
|
|
57
|
+
}
|
|
58
|
+
get track() {
|
|
59
|
+
return this._track;
|
|
60
|
+
}
|
|
61
|
+
compare(state) {
|
|
62
|
+
return (this.current.playbackState == state.playbackState &&
|
|
63
|
+
this.current.startPosition == state.startPosition);
|
|
64
|
+
}
|
|
65
|
+
updateState(state) {
|
|
66
|
+
// Ignore if same playback state and start position
|
|
67
|
+
if (this.compare(state)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
// Ignore state changes that are older
|
|
71
|
+
const originalState = this.current;
|
|
72
|
+
if (state.timestamp < originalState.timestamp) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
// Ignore state changes that have the same timestamp and the clientId sorts higher.
|
|
76
|
+
if (state.timestamp == originalState.timestamp &&
|
|
77
|
+
state.clientId.localeCompare(originalState.clientId) > 0) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
// Update playback state
|
|
81
|
+
this._current = state;
|
|
82
|
+
// Trigger transport change
|
|
83
|
+
const playerState = this._getMediaPlayerState().playbackState;
|
|
84
|
+
if (originalState.playbackState == state.playbackState &&
|
|
85
|
+
playerState != "ended") {
|
|
86
|
+
this.emit(GroupTransportStateEvents.transportStateChange, {
|
|
87
|
+
type: GroupTransportStateEvents.transportStateChange,
|
|
88
|
+
action: "seekto",
|
|
89
|
+
seekTime: state.startPosition,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
else if (state.playbackState == "playing") {
|
|
93
|
+
const now = this._liveRuntime.getTimestamp();
|
|
94
|
+
const projectedPosition = state.startPosition + (now - state.timestamp) / 1000;
|
|
95
|
+
this.emit(GroupTransportStateEvents.transportStateChange, {
|
|
96
|
+
type: GroupTransportStateEvents.transportStateChange,
|
|
97
|
+
action: "play",
|
|
98
|
+
seekTime: projectedPosition,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.emit(GroupTransportStateEvents.transportStateChange, {
|
|
103
|
+
type: GroupTransportStateEvents.transportStateChange,
|
|
104
|
+
action: "pause",
|
|
105
|
+
seekTime: state.startPosition,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.GroupTransportState = GroupTransportState;
|
|
112
|
+
//# sourceMappingURL=GroupTransportState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the Microsoft Live Share SDK License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
* List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
|
|
8
|
+
* the telemetry service.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TelemetryEvents: {
|
|
11
|
+
MediaPlayerSynchronizer: {
|
|
12
|
+
SynchronizationStarted: string;
|
|
13
|
+
PlayerEvent: string;
|
|
14
|
+
PlayAction: string;
|
|
15
|
+
PauseAction: string;
|
|
16
|
+
SeekToAction: string;
|
|
17
|
+
CatchupAction: string;
|
|
18
|
+
SetTrackAction: string;
|
|
19
|
+
DataChangeAction: string;
|
|
20
|
+
UserTappedVideoToPlay: string;
|
|
21
|
+
UserTappedVideoToPlayError: string;
|
|
22
|
+
PlaybackRateChangeBlocked: string;
|
|
23
|
+
PlayerBlockedOperation: string;
|
|
24
|
+
SeekingPlayerToStartPosition: string;
|
|
25
|
+
BeginSeekCalled: string;
|
|
26
|
+
EndSeekCalled: string;
|
|
27
|
+
PlayCalled: string;
|
|
28
|
+
PauseCalled: string;
|
|
29
|
+
SeekToCalled: string;
|
|
30
|
+
SetTrackCalled: string;
|
|
31
|
+
SetTrackDataCalled: string;
|
|
32
|
+
};
|
|
33
|
+
MediaSession: {
|
|
34
|
+
PlayAction: string;
|
|
35
|
+
PauseAction: string;
|
|
36
|
+
SeekToAction: string;
|
|
37
|
+
CatchUpAction: string;
|
|
38
|
+
SetTrackAction: string;
|
|
39
|
+
DataChangeAction: string;
|
|
40
|
+
BeginPositionUpdateTimer: string;
|
|
41
|
+
};
|
|
42
|
+
SessionCoordinator: {
|
|
43
|
+
PlayCalled: string;
|
|
44
|
+
PauseCalled: string;
|
|
45
|
+
SeekToCalled: string;
|
|
46
|
+
SetTrackCalled: string;
|
|
47
|
+
SetTrackDataCalled: string;
|
|
48
|
+
BeginSuspension: string;
|
|
49
|
+
BeginSuspensionAndWait: string;
|
|
50
|
+
EndSuspension: string;
|
|
51
|
+
EndSuspensionAndWait: string;
|
|
52
|
+
RemoteJoinReceived: string;
|
|
53
|
+
RemoteSetTrackReceived: string;
|
|
54
|
+
RemoteSetTrackDataReceived: string;
|
|
55
|
+
RemotePlayReceived: string;
|
|
56
|
+
RemotePauseReceived: string;
|
|
57
|
+
RemoteSeekToReceived: string;
|
|
58
|
+
PositionUpdateEventError: string;
|
|
59
|
+
SendJoinedEventError: string;
|
|
60
|
+
};
|
|
61
|
+
GroupCoordinator: {
|
|
62
|
+
TrackChanged: string;
|
|
63
|
+
TrackChangeDelayed: string;
|
|
64
|
+
TrackDataChanged: string;
|
|
65
|
+
TrackDataChangeDelayed: string;
|
|
66
|
+
TransportStateChanged: string;
|
|
67
|
+
TransportStateChangeDelayed: string;
|
|
68
|
+
BeginSoftSuspension: string;
|
|
69
|
+
CheckingForSyncIssues: string;
|
|
70
|
+
TrackOutOfSync: string;
|
|
71
|
+
TrackDataOutOfSync: string;
|
|
72
|
+
TransportOutOfSync: string;
|
|
73
|
+
PositionOutOfSync: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoF3B,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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.TelemetryEvents = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
* List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
|
|
11
|
+
* the telemetry service.
|
|
12
|
+
*/
|
|
13
|
+
exports.TelemetryEvents = {
|
|
14
|
+
MediaPlayerSynchronizer: {
|
|
15
|
+
SynchronizationStarted: "MediaPlayerSynchronizer:SynchronizationStarted",
|
|
16
|
+
PlayerEvent: "MediaPlayerSynchronizer:PlayerEvent",
|
|
17
|
+
PlayAction: "MediaPlayerSynchronizer:PlayAction",
|
|
18
|
+
PauseAction: "MediaPlayerSynchronizer:PauseAction",
|
|
19
|
+
SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
|
|
20
|
+
CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
|
|
21
|
+
SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
|
|
22
|
+
DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
|
|
23
|
+
UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
|
|
24
|
+
UserTappedVideoToPlayError: "MediaPlayerSynchronizer:UserTappedVideoToPlayError",
|
|
25
|
+
PlaybackRateChangeBlocked: "MediaPlayerSynchronizer:PlaybackRateChangeBlocked",
|
|
26
|
+
PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
|
|
27
|
+
SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
|
|
28
|
+
BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
|
|
29
|
+
EndSeekCalled: "MediaPlayerSynchronizer:EndSeekCalled",
|
|
30
|
+
PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
|
|
31
|
+
PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
|
|
32
|
+
SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
|
|
33
|
+
SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
|
|
34
|
+
SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
|
|
35
|
+
},
|
|
36
|
+
MediaSession: {
|
|
37
|
+
PlayAction: transmit("MediaSession:PlayAction"),
|
|
38
|
+
PauseAction: transmit("MediaSession:PauseAction"),
|
|
39
|
+
SeekToAction: transmit("MediaSession:SeekToAction"),
|
|
40
|
+
CatchUpAction: transmit("MediaSession:CatchUpAction"),
|
|
41
|
+
SetTrackAction: transmit("MediaSession:SetTrackAction"),
|
|
42
|
+
DataChangeAction: "MediaSession:DataChangeAction",
|
|
43
|
+
BeginPositionUpdateTimer: "MediaSession:BeginPositionUpdateTimer",
|
|
44
|
+
},
|
|
45
|
+
SessionCoordinator: {
|
|
46
|
+
PlayCalled: transmit("SessionCoordinator:PlayCalled"),
|
|
47
|
+
PauseCalled: transmit("SessionCoordinator:PauseCalled"),
|
|
48
|
+
SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
|
|
49
|
+
SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
|
|
50
|
+
SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
|
|
51
|
+
BeginSuspension: "SessionCoordinator:BeginSuspension",
|
|
52
|
+
BeginSuspensionAndWait: transmit("SessionCoordinator:BeginSuspensionAndWait"),
|
|
53
|
+
EndSuspension: "SessionCoordinator:EndSuspension",
|
|
54
|
+
EndSuspensionAndWait: transmit("SessionCoordinator:EndSuspensionAndWait"),
|
|
55
|
+
RemoteJoinReceived: "SessionCoordinator:RemoteJoinReceived",
|
|
56
|
+
RemoteSetTrackReceived: transmit("SessionCoordinator:RemoteSetTrackReceived"),
|
|
57
|
+
RemoteSetTrackDataReceived: transmit("SessionCoordinator:RemoteSetTrackDataReceived"),
|
|
58
|
+
RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
|
|
59
|
+
RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
|
|
60
|
+
RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
|
|
61
|
+
PositionUpdateEventError: "SessionCoordinator:PositionUpdateEventError",
|
|
62
|
+
SendJoinedEventError: "SessionCoordinator:SendJoinedEventError",
|
|
63
|
+
},
|
|
64
|
+
GroupCoordinator: {
|
|
65
|
+
TrackChanged: "GroupCoordinator:TrackChanged",
|
|
66
|
+
TrackChangeDelayed: "GroupCoordinator:TrackChangeDelayed",
|
|
67
|
+
TrackDataChanged: "GroupCoordinator:TrackDataChanged",
|
|
68
|
+
TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
|
|
69
|
+
TransportStateChanged: "GroupCoordinator:TransportStateChanged",
|
|
70
|
+
TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
|
|
71
|
+
BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
|
|
72
|
+
CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
|
|
73
|
+
TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
|
|
74
|
+
TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
|
|
75
|
+
TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
|
|
76
|
+
PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @hidden
|
|
81
|
+
*/
|
|
82
|
+
function transmit(eventName) {
|
|
83
|
+
return `${eventName}#transmit`;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,EAClB,gDAAgD;QACpD,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,CAC3B,+CAA+C,CAClD;QACD,0BAA0B,EACtB,oDAAoD;QACxD,yBAAyB,EACrB,mDAAmD;QACvD,sBAAsB,EAAE,QAAQ,CAC5B,gDAAgD,CACnD;QACD,4BAA4B,EACxB,sDAAsD;QAC1D,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,CAC5B,2CAA2C,CAC9C;QACD,aAAa,EAAE,kCAAkC;QACjD,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,kBAAkB,EAAE,uCAAuC;QAC3D,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,0BAA0B,EAAE,QAAQ,CAChC,+CAA+C,CAClD;QACD,kBAAkB,EAAE,QAAQ,CAAC,uCAAuC,CAAC;QACrE,mBAAmB,EAAE,QAAQ,CAAC,wCAAwC,CAAC;QACvE,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,wBAAwB,EAAE,6CAA6C;QACvE,oBAAoB,EAAE,yCAAyC;KAClE;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,EACvB,8CAA8C;QAClD,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,CAAC;AAEF;;GAEG;AACH,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,GAAG,SAAS,WAAW,CAAC;AACnC,CAAC"}
|