@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.
Files changed (69) hide show
  1. package/bin/LiveMediaSession.d.ts.map +1 -1
  2. package/bin/LiveMediaSession.js +9 -1
  3. package/bin/LiveMediaSession.js.map +1 -1
  4. package/bin/LiveMediaSessionCoordinator.d.ts +15 -0
  5. package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
  6. package/bin/LiveMediaSessionCoordinator.js +25 -0
  7. package/bin/LiveMediaSessionCoordinator.js.map +1 -1
  8. package/bin/MediaPlayerSynchronizer.d.ts +6 -4
  9. package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
  10. package/bin/MediaPlayerSynchronizer.js +43 -14
  11. package/bin/MediaPlayerSynchronizer.js.map +1 -1
  12. package/bin/MediaSessionExtensions.d.ts +17 -4
  13. package/bin/MediaSessionExtensions.d.ts.map +1 -1
  14. package/bin/MediaSessionExtensions.js +5 -1
  15. package/bin/MediaSessionExtensions.js.map +1 -1
  16. package/bin/RepeatedActionThrottler.js +1 -1
  17. package/bin/RepeatedActionThrottler.js.map +1 -1
  18. package/bin/VolumeManager.js +1 -1
  19. package/bin/VolumeManager.js.map +1 -1
  20. package/bin/internals/GroupCoordinatorState.d.ts +15 -1
  21. package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
  22. package/bin/internals/GroupCoordinatorState.js +124 -58
  23. package/bin/internals/GroupCoordinatorState.js.map +1 -1
  24. package/bin/internals/GroupPlaybackPosition.d.ts +3 -1
  25. package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
  26. package/bin/internals/GroupPlaybackPosition.js +7 -3
  27. package/bin/internals/GroupPlaybackPosition.js.map +1 -1
  28. package/bin/internals/GroupPlaybackRate.d.ts +39 -0
  29. package/bin/internals/GroupPlaybackRate.d.ts.map +1 -0
  30. package/bin/internals/GroupPlaybackRate.js +62 -0
  31. package/bin/internals/GroupPlaybackRate.js.map +1 -0
  32. package/bin/internals/GroupPlaybackTrack.d.ts +2 -2
  33. package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
  34. package/bin/internals/GroupPlaybackTrack.js +4 -3
  35. package/bin/internals/GroupPlaybackTrack.js.map +1 -1
  36. package/bin/internals/GroupPlaybackTrackData.d.ts +3 -3
  37. package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
  38. package/bin/internals/GroupPlaybackTrackData.js +13 -12
  39. package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
  40. package/bin/internals/GroupTransportState.d.ts +6 -3
  41. package/bin/internals/GroupTransportState.d.ts.map +1 -1
  42. package/bin/internals/GroupTransportState.js +17 -12
  43. package/bin/internals/GroupTransportState.js.map +1 -1
  44. package/bin/internals/consts.d.ts +8 -1
  45. package/bin/internals/consts.d.ts.map +1 -1
  46. package/bin/internals/consts.js +8 -1
  47. package/bin/internals/consts.js.map +1 -1
  48. package/bin/internals/index.d.ts +1 -0
  49. package/bin/internals/index.d.ts.map +1 -1
  50. package/bin/internals/index.js +1 -0
  51. package/bin/internals/index.js.map +1 -1
  52. package/bin/internals/interfaces.d.ts +10 -0
  53. package/bin/internals/interfaces.d.ts.map +1 -0
  54. package/bin/internals/interfaces.js +3 -0
  55. package/bin/internals/interfaces.js.map +1 -0
  56. package/package.json +6 -9
  57. package/src/LiveMediaSession.ts +12 -0
  58. package/src/LiveMediaSessionCoordinator.ts +49 -0
  59. package/src/MediaPlayerSynchronizer.ts +55 -15
  60. package/src/MediaSessionExtensions.ts +18 -2
  61. package/src/internals/GroupCoordinatorState.ts +196 -79
  62. package/src/internals/GroupPlaybackPosition.ts +9 -2
  63. package/src/internals/GroupPlaybackRate.ts +90 -0
  64. package/src/internals/GroupPlaybackTrack.ts +5 -4
  65. package/src/internals/GroupPlaybackTrackData.ts +14 -13
  66. package/src/internals/GroupTransportState.ts +21 -12
  67. package/src/internals/consts.ts +14 -2
  68. package/src/internals/index.ts +1 -0
  69. 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 ILiveEvent {
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,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,EACrB,gCAAgC,EACnC,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,CACd,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,gCAAgC,GACzC,OAAO;IAwDH,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"}
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 = exports.GroupPlaybackTrackEvents || (exports.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
- this.emit(GroupPlaybackTrackEvents.trackChange, {
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":"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"}
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 ILiveEvent {
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(event: IPlaybackTrackData, source: ExtendedMediaSessionActionSource): boolean;
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,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACH,kBAAkB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;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,CACb,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CAiCb"}
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 = exports.PlaybackTrackDataEvents || (exports.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(event, source) {
44
+ updateData(trackData, source) {
45
45
  // Ignore state changes that are older
46
46
  const current = this.current;
47
- if (event.timestamp < current.timestamp) {
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 (event.timestamp == current.timestamp &&
52
- event.clientId.localeCompare(current.clientId) > 0) {
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(event.data)) {
56
+ if (JSON.stringify(current.data) == JSON.stringify(trackData.data)) {
57
57
  return false;
58
58
  }
59
59
  // Update current data
60
- this._current = event;
60
+ this._current = trackData;
61
61
  // Notify listeners
62
- this.emit(PlaybackTrackDataEvents.dataChange, {
63
- type: PlaybackTrackDataEvents.dataChange,
64
- clientId: event.clientId,
65
- data: event.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;;;;;;AAGH,oDAAkC;AAClC,6DAG8B;AAY9B;;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,CACb,KAAyB,EACzB,MAAwC;QAExC,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,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhED,wDAgEC"}
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 { ILiveEvent, LiveShareRuntime } from "@microsoft/live-share";
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 ILiveEvent {
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,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,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;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,CACd,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CA2Db"}
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 = exports.GroupTransportStateEvents || (exports.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
- this.emit(GroupTransportStateEvents.transportStateChange, {
87
- type: GroupTransportStateEvents.transportStateChange,
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 + (now - state.timestamp) / 1000;
97
- this.emit(GroupTransportStateEvents.transportStateChange, {
98
- type: GroupTransportStateEvents.transportStateChange,
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
- this.emit(GroupTransportStateEvents.transportStateChange, {
107
- type: GroupTransportStateEvents.transportStateChange,
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF3B,CAAC"}
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"}
@@ -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,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,qBAAqB,EAAE,0CAA0C;QACjE,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,gCAAgC,EAC5B,qDAAqD;KAC5D;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"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -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": "1.3.1",
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": "1.3.1",
19
- "@fluidframework/test-client-utils": "^1.3.6",
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": "^1.3.6",
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": "1.3.1",
34
- "fluid-framework": "^1.2.3"
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",
@@ -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,