@microsoft/live-share-media 1.3.1 → 2.0.0-internal.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/bin/LiveMediaSession.d.ts.map +1 -1
- package/bin/LiveMediaSession.js +9 -1
- package/bin/LiveMediaSession.js.map +1 -1
- package/bin/LiveMediaSessionCoordinator.d.ts +15 -0
- package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
- package/bin/LiveMediaSessionCoordinator.js +25 -0
- package/bin/LiveMediaSessionCoordinator.js.map +1 -1
- package/bin/MediaPlayerSynchronizer.d.ts +6 -4
- package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
- package/bin/MediaPlayerSynchronizer.js +43 -14
- package/bin/MediaPlayerSynchronizer.js.map +1 -1
- package/bin/MediaSessionExtensions.d.ts +17 -4
- package/bin/MediaSessionExtensions.d.ts.map +1 -1
- package/bin/MediaSessionExtensions.js +5 -1
- package/bin/MediaSessionExtensions.js.map +1 -1
- package/bin/RepeatedActionThrottler.js +1 -1
- package/bin/RepeatedActionThrottler.js.map +1 -1
- package/bin/VolumeManager.js +1 -1
- package/bin/VolumeManager.js.map +1 -1
- package/bin/internals/GroupCoordinatorState.d.ts +15 -1
- package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
- package/bin/internals/GroupCoordinatorState.js +124 -58
- package/bin/internals/GroupCoordinatorState.js.map +1 -1
- package/bin/internals/GroupPlaybackPosition.d.ts +3 -1
- package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackPosition.js +7 -3
- package/bin/internals/GroupPlaybackPosition.js.map +1 -1
- package/bin/internals/GroupPlaybackRate.d.ts +39 -0
- package/bin/internals/GroupPlaybackRate.d.ts.map +1 -0
- package/bin/internals/GroupPlaybackRate.js +62 -0
- package/bin/internals/GroupPlaybackRate.js.map +1 -0
- package/bin/internals/GroupPlaybackTrack.d.ts +2 -2
- package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrack.js +4 -3
- package/bin/internals/GroupPlaybackTrack.js.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.d.ts +3 -3
- package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
- package/bin/internals/GroupPlaybackTrackData.js +13 -12
- package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
- package/bin/internals/GroupTransportState.d.ts +6 -3
- package/bin/internals/GroupTransportState.d.ts.map +1 -1
- package/bin/internals/GroupTransportState.js +17 -12
- package/bin/internals/GroupTransportState.js.map +1 -1
- package/bin/internals/consts.d.ts +8 -1
- package/bin/internals/consts.d.ts.map +1 -1
- package/bin/internals/consts.js +8 -1
- package/bin/internals/consts.js.map +1 -1
- package/bin/internals/index.d.ts +1 -0
- package/bin/internals/index.d.ts.map +1 -1
- package/bin/internals/index.js +1 -0
- package/bin/internals/index.js.map +1 -1
- package/bin/internals/interfaces.d.ts +10 -0
- package/bin/internals/interfaces.d.ts.map +1 -0
- package/bin/internals/interfaces.js +3 -0
- package/bin/internals/interfaces.js.map +1 -0
- package/package.json +6 -9
- package/src/LiveMediaSession.ts +12 -0
- package/src/LiveMediaSessionCoordinator.ts +49 -0
- package/src/MediaPlayerSynchronizer.ts +55 -15
- package/src/MediaSessionExtensions.ts +18 -2
- package/src/internals/GroupCoordinatorState.ts +196 -79
- package/src/internals/GroupPlaybackPosition.ts +9 -2
- package/src/internals/GroupPlaybackRate.ts +90 -0
- package/src/internals/GroupPlaybackTrack.ts +5 -4
- package/src/internals/GroupPlaybackTrackData.ts +14 -13
- package/src/internals/GroupTransportState.ts +21 -12
- package/src/internals/consts.ts +14 -2
- package/src/internals/index.ts +1 -0
- package/src/internals/interfaces.ts +10 -0
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="node" />
|
|
6
|
-
import { ILiveEvent } from "@microsoft/live-share";
|
|
7
6
|
import EventEmitter from "events";
|
|
8
7
|
import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
|
|
9
8
|
import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
|
|
9
|
+
import { IGroupStateEvent } from "./interfaces";
|
|
10
10
|
/**
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
@@ -25,7 +25,7 @@ export declare enum GroupPlaybackTrackEvents {
|
|
|
25
25
|
/**
|
|
26
26
|
* @hidden
|
|
27
27
|
*/
|
|
28
|
-
export interface IPlaybackTrackChangeEvent extends
|
|
28
|
+
export interface IPlaybackTrackChangeEvent extends IGroupStateEvent {
|
|
29
29
|
metadata: ExtendedMediaMetadata | null;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;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,gBAAgB;IAC/D,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,CACd,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,gCAAgC,GACzC,OAAO;IAyDH,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"}
|
|
@@ -15,7 +15,7 @@ const events_1 = __importDefault(require("events"));
|
|
|
15
15
|
var GroupPlaybackTrackEvents;
|
|
16
16
|
(function (GroupPlaybackTrackEvents) {
|
|
17
17
|
GroupPlaybackTrackEvents["trackChange"] = "trackChange";
|
|
18
|
-
})(GroupPlaybackTrackEvents
|
|
18
|
+
})(GroupPlaybackTrackEvents || (exports.GroupPlaybackTrackEvents = GroupPlaybackTrackEvents = {}));
|
|
19
19
|
/**
|
|
20
20
|
* @hidden
|
|
21
21
|
*/
|
|
@@ -98,12 +98,13 @@ class GroupPlaybackTrack extends events_1.default {
|
|
|
98
98
|
// Update current track
|
|
99
99
|
this._current = track;
|
|
100
100
|
// Notify listeners
|
|
101
|
-
|
|
101
|
+
const event = {
|
|
102
102
|
name: GroupPlaybackTrackEvents.trackChange,
|
|
103
103
|
clientId: track.clientId,
|
|
104
104
|
metadata: track.metadata,
|
|
105
105
|
source,
|
|
106
|
-
}
|
|
106
|
+
};
|
|
107
|
+
this.emit(GroupPlaybackTrackEvents.trackChange, event);
|
|
107
108
|
return true;
|
|
108
109
|
}
|
|
109
110
|
compare(metadata) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="node" />
|
|
6
|
-
import { ILiveEvent } from "@microsoft/live-share";
|
|
7
6
|
import EventEmitter from "events";
|
|
8
7
|
import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
|
|
9
8
|
import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
|
|
9
|
+
import { IGroupStateEvent } from "./interfaces";
|
|
10
10
|
/**
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
@@ -24,7 +24,7 @@ export declare enum PlaybackTrackDataEvents {
|
|
|
24
24
|
/**
|
|
25
25
|
* @hidden
|
|
26
26
|
*/
|
|
27
|
-
export interface IPlaybackTrackDataChangeEvent extends
|
|
27
|
+
export interface IPlaybackTrackDataChangeEvent extends IGroupStateEvent {
|
|
28
28
|
data: object | null;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -36,6 +36,6 @@ export declare class GroupPlaybackTrackData extends EventEmitter {
|
|
|
36
36
|
constructor(track: GroupPlaybackTrack);
|
|
37
37
|
get current(): Readonly<IPlaybackTrackData>;
|
|
38
38
|
get data(): object | null;
|
|
39
|
-
updateData(
|
|
39
|
+
updateData(trackData: IPlaybackTrackData, source: ExtendedMediaSessionActionSource): boolean;
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=GroupPlaybackTrackData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;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,gBAAgB;IACnE,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,CACb,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,gCAAgC,GACzC,OAAO;CAkCb"}
|
|
@@ -16,7 +16,7 @@ const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
|
16
16
|
var PlaybackTrackDataEvents;
|
|
17
17
|
(function (PlaybackTrackDataEvents) {
|
|
18
18
|
PlaybackTrackDataEvents["dataChange"] = "dataChange";
|
|
19
|
-
})(PlaybackTrackDataEvents
|
|
19
|
+
})(PlaybackTrackDataEvents || (exports.PlaybackTrackDataEvents = PlaybackTrackDataEvents = {}));
|
|
20
20
|
/**
|
|
21
21
|
* @hidden
|
|
22
22
|
*/
|
|
@@ -41,30 +41,31 @@ class GroupPlaybackTrackData extends events_1.default {
|
|
|
41
41
|
get data() {
|
|
42
42
|
return this.current.data;
|
|
43
43
|
}
|
|
44
|
-
updateData(
|
|
44
|
+
updateData(trackData, source) {
|
|
45
45
|
// Ignore state changes that are older
|
|
46
46
|
const current = this.current;
|
|
47
|
-
if (
|
|
47
|
+
if (trackData.timestamp < current.timestamp) {
|
|
48
48
|
return false;
|
|
49
49
|
}
|
|
50
50
|
// Ignore state changes that have the same timestamp and the clientId sorts higher.
|
|
51
|
-
if (
|
|
52
|
-
|
|
51
|
+
if (trackData.timestamp == current.timestamp &&
|
|
52
|
+
trackData.clientId.localeCompare(current.clientId) > 0) {
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
55
|
// Ignore state changes for same data object
|
|
56
|
-
if (JSON.stringify(current.data) == JSON.stringify(
|
|
56
|
+
if (JSON.stringify(current.data) == JSON.stringify(trackData.data)) {
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
// Update current data
|
|
60
|
-
this._current =
|
|
60
|
+
this._current = trackData;
|
|
61
61
|
// Notify listeners
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
clientId:
|
|
65
|
-
data:
|
|
62
|
+
const event = {
|
|
63
|
+
name: PlaybackTrackDataEvents.dataChange,
|
|
64
|
+
clientId: trackData.clientId,
|
|
65
|
+
data: trackData.data,
|
|
66
66
|
source,
|
|
67
|
-
}
|
|
67
|
+
};
|
|
68
|
+
this.emit(PlaybackTrackDataEvents.dataChange, event);
|
|
68
69
|
return true;
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;
|
|
1
|
+
{"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,oDAAkC;AAClC,6DAG8B;AAa9B;;GAEG;AACH,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;AAC7B,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,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,CACb,SAA6B,EAC7B,MAAwC;QAExC,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE;YACzC,OAAO,KAAK,CAAC;SAChB;QAED,mFAAmF;QACnF,IACI,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxD;YACE,OAAO,KAAK,CAAC;SAChB;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,KAAK,CAAC;SAChB;QAED,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE1B,mBAAmB;QACnB,MAAM,KAAK,GAAkC;YACzC,IAAI,EAAE,uBAAuB,CAAC,UAAU;YACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM;SACT,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAjED,wDAiEC"}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
* Licensed under the Microsoft Live Share SDK License.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="node" />
|
|
6
|
-
import {
|
|
6
|
+
import { LiveShareRuntime } from "@microsoft/live-share";
|
|
7
7
|
import EventEmitter from "events";
|
|
8
8
|
import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
|
|
9
9
|
import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
|
|
10
10
|
import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
|
|
11
|
+
import { IGroupStateEvent } from "./interfaces";
|
|
12
|
+
import { GroupPlaybackRate } from "./GroupPlaybackRate";
|
|
11
13
|
/**
|
|
12
14
|
* @hidden
|
|
13
15
|
*/
|
|
@@ -26,7 +28,7 @@ export declare enum GroupTransportStateEvents {
|
|
|
26
28
|
/**
|
|
27
29
|
* @hidden
|
|
28
30
|
*/
|
|
29
|
-
export interface ITransportStateChangeEvent extends
|
|
31
|
+
export interface ITransportStateChangeEvent extends IGroupStateEvent {
|
|
30
32
|
action: ExtendedMediaSessionAction;
|
|
31
33
|
seekTime?: number;
|
|
32
34
|
}
|
|
@@ -36,9 +38,10 @@ export interface ITransportStateChangeEvent extends ILiveEvent {
|
|
|
36
38
|
export declare class GroupTransportState extends EventEmitter {
|
|
37
39
|
private readonly _getMediaPlayerState;
|
|
38
40
|
private _track;
|
|
41
|
+
private _playbackRate;
|
|
39
42
|
private readonly _liveRuntime;
|
|
40
43
|
private _current;
|
|
41
|
-
constructor(track: GroupPlaybackTrack, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
|
|
44
|
+
constructor(track: GroupPlaybackTrack, playbackRate: GroupPlaybackRate, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime);
|
|
42
45
|
get current(): Readonly<ITransportState>;
|
|
43
46
|
get playbackState(): ExtendedMediaSessionPlaybackState;
|
|
44
47
|
get startPosition(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;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,gBAAgB;IAChE,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,aAAa,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAkB;gBAG9B,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,iBAAiB,EAC/B,mBAAmB,EAAE,MAAM,iBAAiB,EAC5C,WAAW,EAAE,gBAAgB;IA0BjC,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,CACd,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CA+Db"}
|
|
@@ -16,16 +16,17 @@ const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
|
|
|
16
16
|
var GroupTransportStateEvents;
|
|
17
17
|
(function (GroupTransportStateEvents) {
|
|
18
18
|
GroupTransportStateEvents["transportStateChange"] = "transportStateChange";
|
|
19
|
-
})(GroupTransportStateEvents
|
|
19
|
+
})(GroupTransportStateEvents || (exports.GroupTransportStateEvents = GroupTransportStateEvents = {}));
|
|
20
20
|
/**
|
|
21
21
|
* @hidden
|
|
22
22
|
*/
|
|
23
23
|
class GroupTransportState extends events_1.default {
|
|
24
|
-
constructor(track, getMediaPlayerState, liveRuntime) {
|
|
24
|
+
constructor(track, playbackRate, getMediaPlayerState, liveRuntime) {
|
|
25
25
|
super();
|
|
26
26
|
this._liveRuntime = liveRuntime;
|
|
27
27
|
this._getMediaPlayerState = getMediaPlayerState;
|
|
28
28
|
this._track = track;
|
|
29
|
+
this._playbackRate = playbackRate;
|
|
29
30
|
this._current = {
|
|
30
31
|
playbackState: "none",
|
|
31
32
|
startPosition: 0.0,
|
|
@@ -83,33 +84,37 @@ class GroupTransportState extends events_1.default {
|
|
|
83
84
|
const playerState = this._getMediaPlayerState().playbackState;
|
|
84
85
|
if (originalState.playbackState == state.playbackState &&
|
|
85
86
|
playerState != "ended") {
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
const event = {
|
|
88
|
+
name: GroupTransportStateEvents.transportStateChange,
|
|
88
89
|
action: "seekto",
|
|
89
90
|
clientId: state.clientId,
|
|
90
91
|
seekTime: state.startPosition,
|
|
91
92
|
source,
|
|
92
|
-
}
|
|
93
|
+
};
|
|
94
|
+
this.emit(GroupTransportStateEvents.transportStateChange, event);
|
|
93
95
|
}
|
|
94
96
|
else if (state.playbackState == "playing") {
|
|
95
97
|
const now = this._liveRuntime.getTimestamp();
|
|
96
|
-
const projectedPosition = state.startPosition +
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
const projectedPosition = state.startPosition +
|
|
99
|
+
((now - state.timestamp) / 1000) * this._playbackRate.rate;
|
|
100
|
+
const event = {
|
|
101
|
+
name: GroupTransportStateEvents.transportStateChange,
|
|
99
102
|
action: "play",
|
|
100
103
|
clientId: state.clientId,
|
|
101
104
|
seekTime: projectedPosition,
|
|
102
105
|
source,
|
|
103
|
-
}
|
|
106
|
+
};
|
|
107
|
+
this.emit(GroupTransportStateEvents.transportStateChange, event);
|
|
104
108
|
}
|
|
105
109
|
else {
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
const event = {
|
|
111
|
+
name: GroupTransportStateEvents.transportStateChange,
|
|
108
112
|
action: "pause",
|
|
109
113
|
clientId: state.clientId,
|
|
110
114
|
seekTime: state.startPosition,
|
|
111
115
|
source,
|
|
112
|
-
}
|
|
116
|
+
};
|
|
117
|
+
this.emit(GroupTransportStateEvents.transportStateChange, event);
|
|
113
118
|
}
|
|
114
119
|
return true;
|
|
115
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAGH,oDAAkC;AAOlC,6DAG8B;
|
|
1
|
+
{"version":3,"file":"GroupTransportState.js","sourceRoot":"","sources":["../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,12 +14,12 @@ export declare const TelemetryEvents: {
|
|
|
14
14
|
PlayAction: string;
|
|
15
15
|
PauseAction: string;
|
|
16
16
|
SeekToAction: string;
|
|
17
|
+
RateChangeAction: string;
|
|
17
18
|
CatchupAction: string;
|
|
18
19
|
SetTrackAction: string;
|
|
19
20
|
DataChangeAction: string;
|
|
20
21
|
UserTappedVideoToPlay: string;
|
|
21
22
|
UserTappedVideoToPlayError: string;
|
|
22
|
-
PlaybackRateChangeBlocked: string;
|
|
23
23
|
PlayerBlockedOperation: string;
|
|
24
24
|
SeekingPlayerToStartPosition: string;
|
|
25
25
|
BeginSeekCalled: string;
|
|
@@ -27,6 +27,7 @@ export declare const TelemetryEvents: {
|
|
|
27
27
|
PlayCalled: string;
|
|
28
28
|
PauseCalled: string;
|
|
29
29
|
SeekToCalled: string;
|
|
30
|
+
RateChangeCalled: string;
|
|
30
31
|
SetTrackCalled: string;
|
|
31
32
|
SetTrackDataCalled: string;
|
|
32
33
|
};
|
|
@@ -34,6 +35,7 @@ export declare const TelemetryEvents: {
|
|
|
34
35
|
PlayAction: string;
|
|
35
36
|
PauseAction: string;
|
|
36
37
|
SeekToAction: string;
|
|
38
|
+
RateChangeAction: string;
|
|
37
39
|
CatchUpAction: string;
|
|
38
40
|
SetTrackAction: string;
|
|
39
41
|
DataChangeAction: string;
|
|
@@ -43,6 +45,7 @@ export declare const TelemetryEvents: {
|
|
|
43
45
|
PlayCalled: string;
|
|
44
46
|
PauseCalled: string;
|
|
45
47
|
SeekToCalled: string;
|
|
48
|
+
SetPlaybackRateCalled: string;
|
|
46
49
|
SetTrackCalled: string;
|
|
47
50
|
SetTrackDataCalled: string;
|
|
48
51
|
BeginSuspension: string;
|
|
@@ -55,6 +58,7 @@ export declare const TelemetryEvents: {
|
|
|
55
58
|
RemotePlayReceived: string;
|
|
56
59
|
RemotePauseReceived: string;
|
|
57
60
|
RemoteSeekToReceived: string;
|
|
61
|
+
RemoteRateChangeReceived: string;
|
|
58
62
|
PositionUpdateEventError: string;
|
|
59
63
|
LiveObjectSynchronizerStartError: string;
|
|
60
64
|
};
|
|
@@ -65,12 +69,15 @@ export declare const TelemetryEvents: {
|
|
|
65
69
|
TrackDataChangeDelayed: string;
|
|
66
70
|
TransportStateChanged: string;
|
|
67
71
|
TransportStateChangeDelayed: string;
|
|
72
|
+
PlaybackRateChanged: string;
|
|
73
|
+
PlaybackRateChangedDelayed: string;
|
|
68
74
|
BeginSoftSuspension: string;
|
|
69
75
|
CheckingForSyncIssues: string;
|
|
70
76
|
TrackOutOfSync: string;
|
|
71
77
|
TrackDataOutOfSync: string;
|
|
72
78
|
TransportOutOfSync: string;
|
|
73
79
|
PositionOutOfSync: string;
|
|
80
|
+
PlaybackRateOutOfSync: string;
|
|
74
81
|
};
|
|
75
82
|
};
|
|
76
83
|
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG3B,CAAC"}
|
package/bin/internals/consts.js
CHANGED
|
@@ -17,12 +17,12 @@ exports.TelemetryEvents = {
|
|
|
17
17
|
PlayAction: "MediaPlayerSynchronizer:PlayAction",
|
|
18
18
|
PauseAction: "MediaPlayerSynchronizer:PauseAction",
|
|
19
19
|
SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
|
|
20
|
+
RateChangeAction: "MediaPlayerSynchronizer:RateChangeAction",
|
|
20
21
|
CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
|
|
21
22
|
SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
|
|
22
23
|
DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
|
|
23
24
|
UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
|
|
24
25
|
UserTappedVideoToPlayError: "MediaPlayerSynchronizer:UserTappedVideoToPlayError",
|
|
25
|
-
PlaybackRateChangeBlocked: "MediaPlayerSynchronizer:PlaybackRateChangeBlocked",
|
|
26
26
|
PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
|
|
27
27
|
SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
|
|
28
28
|
BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
|
|
@@ -30,6 +30,7 @@ exports.TelemetryEvents = {
|
|
|
30
30
|
PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
|
|
31
31
|
PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
|
|
32
32
|
SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
|
|
33
|
+
RateChangeCalled: "MediaSession:RateChangeCalled",
|
|
33
34
|
SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
|
|
34
35
|
SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
|
|
35
36
|
},
|
|
@@ -37,6 +38,7 @@ exports.TelemetryEvents = {
|
|
|
37
38
|
PlayAction: transmit("MediaSession:PlayAction"),
|
|
38
39
|
PauseAction: transmit("MediaSession:PauseAction"),
|
|
39
40
|
SeekToAction: transmit("MediaSession:SeekToAction"),
|
|
41
|
+
RateChangeAction: transmit("MediaSession:RateChangeAction"),
|
|
40
42
|
CatchUpAction: transmit("MediaSession:CatchUpAction"),
|
|
41
43
|
SetTrackAction: transmit("MediaSession:SetTrackAction"),
|
|
42
44
|
DataChangeAction: "MediaSession:DataChangeAction",
|
|
@@ -46,6 +48,7 @@ exports.TelemetryEvents = {
|
|
|
46
48
|
PlayCalled: transmit("SessionCoordinator:PlayCalled"),
|
|
47
49
|
PauseCalled: transmit("SessionCoordinator:PauseCalled"),
|
|
48
50
|
SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
|
|
51
|
+
SetPlaybackRateCalled: transmit("SessionCoordinator:SetPlaybackRateCalled"),
|
|
49
52
|
SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
|
|
50
53
|
SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
|
|
51
54
|
BeginSuspension: "SessionCoordinator:BeginSuspension",
|
|
@@ -58,6 +61,7 @@ exports.TelemetryEvents = {
|
|
|
58
61
|
RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
|
|
59
62
|
RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
|
|
60
63
|
RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
|
|
64
|
+
RemoteRateChangeReceived: transmit("SessionCoordinator:RemoteRateChangeReceived"),
|
|
61
65
|
PositionUpdateEventError: "SessionCoordinator:PositionUpdateEventError",
|
|
62
66
|
LiveObjectSynchronizerStartError: "SessionCoordinator:LiveObjectSynchronizerStartError",
|
|
63
67
|
},
|
|
@@ -68,12 +72,15 @@ exports.TelemetryEvents = {
|
|
|
68
72
|
TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
|
|
69
73
|
TransportStateChanged: "GroupCoordinator:TransportStateChanged",
|
|
70
74
|
TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
|
|
75
|
+
PlaybackRateChanged: "GroupCoordinator:PlaybackRateChanged",
|
|
76
|
+
PlaybackRateChangedDelayed: "GroupCoordinator:PlaybackRateChanged",
|
|
71
77
|
BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
|
|
72
78
|
CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
|
|
73
79
|
TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
|
|
74
80
|
TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
|
|
75
81
|
TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
|
|
76
82
|
PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
|
|
83
|
+
PlaybackRateOutOfSync: transmit("GroupCoordinator:PlaybackRateOutOfSync"),
|
|
77
84
|
},
|
|
78
85
|
};
|
|
79
86
|
/**
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"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"}
|
package/bin/internals/index.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export * from "./GroupPlaybackPosition";
|
|
|
8
8
|
export * from "./GroupPlaybackTrack";
|
|
9
9
|
export * from "./GroupPlaybackTrackData";
|
|
10
10
|
export * from "./GroupTransportState";
|
|
11
|
+
export * from "./GroupPlaybackRate";
|
|
11
12
|
export * from "./errors";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC"}
|
package/bin/internals/index.js
CHANGED
|
@@ -24,5 +24,6 @@ __exportStar(require("./GroupPlaybackPosition"), exports);
|
|
|
24
24
|
__exportStar(require("./GroupPlaybackTrack"), exports);
|
|
25
25
|
__exportStar(require("./GroupPlaybackTrackData"), exports);
|
|
26
26
|
__exportStar(require("./GroupTransportState"), exports);
|
|
27
|
+
__exportStar(require("./GroupPlaybackRate"), exports);
|
|
27
28
|
__exportStar(require("./errors"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AACtC,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,2DAAyC;AACzC,wDAAsC;AACtC,sDAAoC;AACpC,2CAAyB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IEvent } from "@microsoft/live-share";
|
|
2
|
+
import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
|
|
3
|
+
/**
|
|
4
|
+
* @hidden
|
|
5
|
+
*/
|
|
6
|
+
export interface IGroupStateEvent extends IEvent {
|
|
7
|
+
clientId: string;
|
|
8
|
+
source: ExtendedMediaSessionActionSource;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/internals/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gCAAgC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/internals/interfaces.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/live-share-media",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-internal.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,23 +15,20 @@
|
|
|
15
15
|
"test:race": "node ./../live-share/test-for-race-conditions.js"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@microsoft/live-share": "
|
|
19
|
-
"@fluidframework/test-
|
|
20
|
-
"@fluidframework/test-runtime-utils": "^1.3.6",
|
|
21
|
-
"@fluidframework/test-utils": "^1.3.6",
|
|
22
|
-
"@fluidframework/test-version-utils": "^1.3.6",
|
|
18
|
+
"@microsoft/live-share": "2.0.0-internal.1",
|
|
19
|
+
"@fluidframework/test-runtime-utils": "^2.0.0-rc.1",
|
|
23
20
|
"@types/assert": "^1.5.6",
|
|
24
21
|
"@types/mocha": "^10.0.1",
|
|
25
22
|
"@types/node": "^20.2.3",
|
|
26
|
-
"fluid-framework": "^
|
|
23
|
+
"fluid-framework": "^2.0.0-rc.1",
|
|
27
24
|
"mocha": "^10.2.0",
|
|
28
25
|
"nyc": "^15.1.0",
|
|
29
26
|
"ts-mocha": "^10.0.0",
|
|
30
27
|
"typescript": "^5.0.4"
|
|
31
28
|
},
|
|
32
29
|
"peerDependencies": {
|
|
33
|
-
"@microsoft/live-share": "
|
|
34
|
-
"fluid-framework": "^
|
|
30
|
+
"@microsoft/live-share": "2.0.0-internal.1",
|
|
31
|
+
"fluid-framework": "^2.0.0-rc || ^2.0.0-internal"
|
|
35
32
|
},
|
|
36
33
|
"repository": {
|
|
37
34
|
"directory": "packages/live-share-media",
|
package/src/LiveMediaSession.ts
CHANGED
|
@@ -236,6 +236,18 @@ export class LiveMediaSession extends LiveDataObject {
|
|
|
236
236
|
}
|
|
237
237
|
);
|
|
238
238
|
break;
|
|
239
|
+
case "ratechange":
|
|
240
|
+
if (!details.playbackRate) {
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
this.logger.sendTelemetryEvent(
|
|
244
|
+
TelemetryEvents.MediaSession.RateChangeAction,
|
|
245
|
+
null,
|
|
246
|
+
{
|
|
247
|
+
playbackRate: details.playbackRate,
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
break;
|
|
239
251
|
case "seekto":
|
|
240
252
|
this.logger.sendTelemetryEvent(
|
|
241
253
|
TelemetryEvents.MediaSession.SeekToAction,
|