@microsoft/live-share-media 2.0.0-internal.2 → 2.0.0-internal.20

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 (151) hide show
  1. package/README.md +26 -27
  2. package/bin/esm/IMediaPlayer.d.ts.map +1 -0
  3. package/bin/{IMediaPlayer.js → esm/IMediaPlayer.js} +1 -2
  4. package/bin/esm/IMediaPlayer.js.map +1 -0
  5. package/bin/{LiveMediaSession.d.ts → esm/LiveMediaSession.d.ts} +16 -9
  6. package/bin/esm/LiveMediaSession.d.ts.map +1 -0
  7. package/bin/esm/LiveMediaSession.js +247 -0
  8. package/bin/esm/LiveMediaSession.js.map +1 -0
  9. package/bin/{LiveMediaSessionCoordinator.d.ts → esm/LiveMediaSessionCoordinator.d.ts} +57 -13
  10. package/bin/esm/LiveMediaSessionCoordinator.d.ts.map +1 -0
  11. package/bin/esm/LiveMediaSessionCoordinator.js +544 -0
  12. package/bin/esm/LiveMediaSessionCoordinator.js.map +1 -0
  13. package/bin/{LiveMediaSessionCoordinatorSuspension.d.ts → esm/LiveMediaSessionCoordinatorSuspension.d.ts} +1 -1
  14. package/bin/esm/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  15. package/bin/{LiveMediaSessionCoordinatorSuspension.js → esm/LiveMediaSessionCoordinatorSuspension.js} +3 -5
  16. package/bin/esm/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  17. package/bin/{MediaPlayerSynchronizer.d.ts → esm/MediaPlayerSynchronizer.d.ts} +22 -8
  18. package/bin/esm/MediaPlayerSynchronizer.d.ts.map +1 -0
  19. package/bin/{MediaPlayerSynchronizer.js → esm/MediaPlayerSynchronizer.js} +130 -153
  20. package/bin/esm/MediaPlayerSynchronizer.js.map +1 -0
  21. package/bin/{MediaSessionActionThrottler.d.ts → esm/MediaSessionActionThrottler.d.ts} +1 -1
  22. package/bin/esm/MediaSessionActionThrottler.d.ts.map +1 -0
  23. package/bin/esm/MediaSessionActionThrottler.js +10 -0
  24. package/bin/esm/MediaSessionActionThrottler.js.map +1 -0
  25. package/bin/esm/MediaSessionExtensions.d.ts.map +1 -0
  26. package/bin/{MediaSessionExtensions.js → esm/MediaSessionExtensions.js} +2 -5
  27. package/bin/esm/MediaSessionExtensions.js.map +1 -0
  28. package/bin/{RepeatedActionThrottler.d.ts → esm/RepeatedActionThrottler.d.ts} +2 -2
  29. package/bin/esm/RepeatedActionThrottler.d.ts.map +1 -0
  30. package/bin/{RepeatedActionThrottler.js → esm/RepeatedActionThrottler.js} +12 -17
  31. package/bin/esm/RepeatedActionThrottler.js.map +1 -0
  32. package/bin/{VolumeManager.d.ts → esm/VolumeManager.d.ts} +6 -6
  33. package/bin/esm/VolumeManager.d.ts.map +1 -0
  34. package/bin/{VolumeManager.js → esm/VolumeManager.js} +19 -22
  35. package/bin/esm/VolumeManager.js.map +1 -0
  36. package/bin/esm/index.d.ts +14 -0
  37. package/bin/esm/index.d.ts.map +1 -0
  38. package/bin/esm/index.js +14 -0
  39. package/bin/esm/index.js.map +1 -0
  40. package/bin/{internals → esm/internals}/GroupCoordinatorState.d.ts +14 -12
  41. package/bin/esm/internals/GroupCoordinatorState.d.ts.map +1 -0
  42. package/bin/{internals → esm/internals}/GroupCoordinatorState.js +177 -185
  43. package/bin/esm/internals/GroupCoordinatorState.js.map +1 -0
  44. package/bin/{internals → esm/internals}/GroupPlaybackPosition.d.ts +6 -5
  45. package/bin/esm/internals/GroupPlaybackPosition.d.ts.map +1 -0
  46. package/bin/{internals → esm/internals}/GroupPlaybackPosition.js +16 -12
  47. package/bin/esm/internals/GroupPlaybackPosition.js.map +1 -0
  48. package/bin/{internals → esm/internals}/GroupPlaybackRate.d.ts +4 -5
  49. package/bin/esm/internals/GroupPlaybackRate.d.ts.map +1 -0
  50. package/bin/{internals → esm/internals}/GroupPlaybackRate.js +5 -11
  51. package/bin/esm/internals/GroupPlaybackRate.js.map +1 -0
  52. package/bin/{internals → esm/internals}/GroupPlaybackTrack.d.ts +5 -6
  53. package/bin/esm/internals/GroupPlaybackTrack.d.ts.map +1 -0
  54. package/bin/{internals → esm/internals}/GroupPlaybackTrack.js +6 -11
  55. package/bin/esm/internals/GroupPlaybackTrack.js.map +1 -0
  56. package/bin/{internals → esm/internals}/GroupPlaybackTrackData.d.ts +5 -6
  57. package/bin/esm/internals/GroupPlaybackTrackData.d.ts.map +1 -0
  58. package/bin/{internals → esm/internals}/GroupPlaybackTrackData.js +8 -13
  59. package/bin/esm/internals/GroupPlaybackTrackData.js.map +1 -0
  60. package/bin/{internals → esm/internals}/GroupTransportState.d.ts +8 -9
  61. package/bin/esm/internals/GroupTransportState.d.ts.map +1 -0
  62. package/bin/{internals → esm/internals}/GroupTransportState.js +11 -13
  63. package/bin/esm/internals/GroupTransportState.js.map +1 -0
  64. package/bin/esm/internals/PriorityTimeInterval.d.ts +33 -0
  65. package/bin/esm/internals/PriorityTimeInterval.d.ts.map +1 -0
  66. package/bin/esm/internals/PriorityTimeInterval.js +53 -0
  67. package/bin/esm/internals/PriorityTimeInterval.js.map +1 -0
  68. package/bin/esm/internals/consts.d.ts.map +1 -0
  69. package/bin/{internals → esm/internals}/consts.js +1 -4
  70. package/bin/esm/internals/consts.js.map +1 -0
  71. package/bin/esm/internals/errors.d.ts.map +1 -0
  72. package/bin/{internals → esm/internals}/errors.js +2 -7
  73. package/bin/esm/internals/errors.js.map +1 -0
  74. package/bin/esm/internals/interfaces.d.ts +23 -0
  75. package/bin/esm/internals/interfaces.d.ts.map +1 -0
  76. package/bin/esm/internals/interfaces.js +2 -0
  77. package/bin/{internals → esm/internals}/interfaces.js.map +1 -1
  78. package/package.json +21 -12
  79. package/src/LiveMediaSession.ts +29 -14
  80. package/src/LiveMediaSessionCoordinator.ts +149 -37
  81. package/src/LiveMediaSessionCoordinatorSuspension.ts +2 -4
  82. package/src/MediaPlayerSynchronizer.ts +26 -11
  83. package/src/MediaSessionActionThrottler.ts +1 -1
  84. package/src/RepeatedActionThrottler.ts +2 -2
  85. package/src/VolumeManager.ts +6 -6
  86. package/src/index.ts +9 -9
  87. package/src/internals/GroupCoordinatorState.ts +19 -15
  88. package/src/internals/GroupPlaybackPosition.ts +9 -9
  89. package/src/internals/GroupPlaybackRate.ts +4 -4
  90. package/src/internals/GroupPlaybackTrack.ts +5 -5
  91. package/src/internals/GroupPlaybackTrackData.ts +5 -5
  92. package/src/internals/GroupTransportState.ts +8 -8
  93. package/src/internals/PriorityTimeInterval.ts +76 -0
  94. package/src/internals/interfaces.ts +15 -1
  95. package/tsconfig.json +64 -74
  96. package/.nycrc.json +0 -11
  97. package/bin/IMediaPlayer.d.ts.map +0 -1
  98. package/bin/IMediaPlayer.js.map +0 -1
  99. package/bin/LiveMediaSession.d.ts.map +0 -1
  100. package/bin/LiveMediaSession.js +0 -255
  101. package/bin/LiveMediaSession.js.map +0 -1
  102. package/bin/LiveMediaSessionCoordinator.d.ts.map +0 -1
  103. package/bin/LiveMediaSessionCoordinator.js +0 -472
  104. package/bin/LiveMediaSessionCoordinator.js.map +0 -1
  105. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  106. package/bin/LiveMediaSessionCoordinatorSuspension.js.map +0 -1
  107. package/bin/MediaPlayerSynchronizer.d.ts.map +0 -1
  108. package/bin/MediaPlayerSynchronizer.js.map +0 -1
  109. package/bin/MediaSessionActionThrottler.d.ts.map +0 -1
  110. package/bin/MediaSessionActionThrottler.js +0 -14
  111. package/bin/MediaSessionActionThrottler.js.map +0 -1
  112. package/bin/MediaSessionExtensions.d.ts.map +0 -1
  113. package/bin/MediaSessionExtensions.js.map +0 -1
  114. package/bin/RepeatedActionThrottler.d.ts.map +0 -1
  115. package/bin/RepeatedActionThrottler.js.map +0 -1
  116. package/bin/VolumeManager.d.ts.map +0 -1
  117. package/bin/VolumeManager.js.map +0 -1
  118. package/bin/index.d.ts +0 -14
  119. package/bin/index.d.ts.map +0 -1
  120. package/bin/index.js +0 -30
  121. package/bin/index.js.map +0 -1
  122. package/bin/internals/GroupCoordinatorState.d.ts.map +0 -1
  123. package/bin/internals/GroupCoordinatorState.js.map +0 -1
  124. package/bin/internals/GroupPlaybackPosition.d.ts.map +0 -1
  125. package/bin/internals/GroupPlaybackPosition.js.map +0 -1
  126. package/bin/internals/GroupPlaybackRate.d.ts.map +0 -1
  127. package/bin/internals/GroupPlaybackRate.js.map +0 -1
  128. package/bin/internals/GroupPlaybackTrack.d.ts.map +0 -1
  129. package/bin/internals/GroupPlaybackTrack.js.map +0 -1
  130. package/bin/internals/GroupPlaybackTrackData.d.ts.map +0 -1
  131. package/bin/internals/GroupPlaybackTrackData.js.map +0 -1
  132. package/bin/internals/GroupTransportState.d.ts.map +0 -1
  133. package/bin/internals/GroupTransportState.js.map +0 -1
  134. package/bin/internals/consts.d.ts.map +0 -1
  135. package/bin/internals/consts.js.map +0 -1
  136. package/bin/internals/errors.d.ts.map +0 -1
  137. package/bin/internals/errors.js.map +0 -1
  138. package/bin/internals/index.d.ts +0 -13
  139. package/bin/internals/index.d.ts.map +0 -1
  140. package/bin/internals/index.js +0 -29
  141. package/bin/internals/index.js.map +0 -1
  142. package/bin/internals/interfaces.d.ts +0 -10
  143. package/bin/internals/interfaces.d.ts.map +0 -1
  144. package/bin/internals/interfaces.js +0 -3
  145. package/src/internals/index.ts +0 -13
  146. package/tsconfig.build.json +0 -9
  147. package/typedoc.json +0 -10
  148. /package/bin/{IMediaPlayer.d.ts → esm/IMediaPlayer.d.ts} +0 -0
  149. /package/bin/{MediaSessionExtensions.d.ts → esm/MediaSessionExtensions.d.ts} +0 -0
  150. /package/bin/{internals → esm/internals}/consts.d.ts +0 -0
  151. /package/bin/{internals → esm/internals}/errors.d.ts +0 -0
@@ -1,15 +1,18 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.GroupPlaybackPosition = void 0;
8
- const GroupPlaybackTrack_1 = require("./GroupPlaybackTrack");
5
+ import { GroupPlaybackTrackEvents } from "./GroupPlaybackTrack.js";
9
6
  /**
10
7
  * @hidden
11
8
  */
12
- class GroupPlaybackPosition {
9
+ export class GroupPlaybackPosition {
10
+ _transportState;
11
+ _playbackRate;
12
+ _runtime;
13
+ _liveRuntime;
14
+ _updateInterval;
15
+ _positions;
13
16
  constructor(transportState, playbackRate, runtime, liveRuntime, updateInterval) {
14
17
  this._transportState = transportState;
15
18
  this._playbackRate = playbackRate;
@@ -18,7 +21,7 @@ class GroupPlaybackPosition {
18
21
  this._updateInterval = updateInterval;
19
22
  this._positions = new Map();
20
23
  // Listen for track change
21
- this._transportState.track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, (_) => {
24
+ this._transportState.track.on(GroupPlaybackTrackEvents.trackChange, (_) => {
22
25
  // Reset position tracking and duration
23
26
  this._positions = new Map();
24
27
  this.mediaDuration = undefined;
@@ -61,9 +64,8 @@ class GroupPlaybackPosition {
61
64
  * Returns the number of clients we're waiting for before we can stop waiting.
62
65
  */
63
66
  get clientsWaiting() {
64
- var _a;
65
67
  let cnt = 0;
66
- const waitPoint = (_a = this.localPosition) === null || _a === void 0 ? void 0 : _a.waitPoint;
68
+ const waitPoint = this.localPosition?.waitPoint;
67
69
  if (waitPoint &&
68
70
  (waitPoint.maxClients == undefined ||
69
71
  this.totalClients <= waitPoint.maxClients)) {
@@ -97,6 +99,10 @@ class GroupPlaybackPosition {
97
99
  return this._transportState.startPosition;
98
100
  }
99
101
  }
102
+ /**
103
+ * Optional media duration if known.
104
+ */
105
+ mediaDuration;
100
106
  get targetPosition() {
101
107
  if (this._transportState.playbackState == "playing") {
102
108
  return this.getMostProgressedPosition();
@@ -110,10 +116,9 @@ class GroupPlaybackPosition {
110
116
  * @param callbackFn Function applied to each position,
111
117
  */
112
118
  forEach(callbackFn) {
113
- var _a;
114
119
  const now = this._liveRuntime.getTimestamp();
115
- const ignoreBefore = now - this._updateInterval.milliseconds * 2;
116
- const shouldProject = !((_a = this._transportState.track.metadata) === null || _a === void 0 ? void 0 : _a.liveStream);
120
+ const ignoreBefore = now - this._updateInterval.maxMilliseconds * 2;
121
+ const shouldProject = !this._transportState.track.metadata?.liveStream;
117
122
  this._positions.forEach((position, _) => {
118
123
  // Ignore any old updates
119
124
  if (position.timestamp > ignoreBefore) {
@@ -166,5 +171,4 @@ class GroupPlaybackPosition {
166
171
  : position;
167
172
  }
168
173
  }
169
- exports.GroupPlaybackPosition = GroupPlaybackPosition;
170
174
  //# sourceMappingURL=GroupPlaybackPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackPosition.js","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackPosition.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,9 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- /// <reference types="node" />
6
- import EventEmitter from "events";
7
- import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
8
- import { IGroupStateEvent } from "./interfaces";
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
+ import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
7
+ import { IGroupStateEvent, IGenericTypedEvents } from "./interfaces.js";
9
8
  /**
10
9
  * @hidden
11
10
  */
@@ -29,7 +28,7 @@ export interface IPlaybackRateChangeEvent extends IGroupStateEvent {
29
28
  /**
30
29
  * @hidden
31
30
  */
32
- export declare class GroupPlaybackRate extends EventEmitter {
31
+ export declare class GroupPlaybackRate extends TypedEventEmitter<IGenericTypedEvents> {
33
32
  private _current;
34
33
  constructor();
35
34
  get current(): Readonly<IPlaybackRate>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackRate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC1B,UAAU,eAAe;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAC9D,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAgB;;IAOhC,IAAW,OAAO,IAAI,QAAQ,CAAC,aAAa,CAAC,CAE5C;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,kBAAkB,CACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,gCAAgC,GACzC,OAAO;CAmCb"}
@@ -1,25 +1,20 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
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.GroupPlaybackRate = exports.PlaybackRateEvents = void 0;
11
- const events_1 = __importDefault(require("events"));
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
12
6
  /**
13
7
  * @hidden
14
8
  */
15
- var PlaybackRateEvents;
9
+ export var PlaybackRateEvents;
16
10
  (function (PlaybackRateEvents) {
17
11
  PlaybackRateEvents["rateChange"] = "rateChange";
18
- })(PlaybackRateEvents || (exports.PlaybackRateEvents = PlaybackRateEvents = {}));
12
+ })(PlaybackRateEvents || (PlaybackRateEvents = {}));
19
13
  /**
20
14
  * @hidden
21
15
  */
22
- class GroupPlaybackRate extends events_1.default {
16
+ export class GroupPlaybackRate extends TypedEventEmitter {
17
+ _current;
23
18
  constructor() {
24
19
  super();
25
20
  this._current = { playbackRate: 1.0, timestamp: 0, clientId: "" };
@@ -58,5 +53,4 @@ class GroupPlaybackRate extends events_1.default {
58
53
  return true;
59
54
  }
60
55
  }
61
- exports.GroupPlaybackRate = GroupPlaybackRate;
62
56
  //# sourceMappingURL=GroupPlaybackRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackRate.js","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackRate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAajE;;GAEG;AACH,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,+CAAyB,CAAA;AAC7B,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B;AASD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,iBAAsC;IACjE,QAAQ,CAAgB;IAEhC;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IACrC,CAAC;IAEM,kBAAkB,CACrB,OAAsB,EACtB,MAAwC;QAExC,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,mFAAmF;QACnF,IACI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACtD,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,MAAM,KAAK,GAA6B;YACpC,IAAI,EAAE,kBAAkB,CAAC,UAAU;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM;SACT,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -2,11 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- /// <reference types="node" />
6
- import EventEmitter from "events";
7
- import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
8
- import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
9
- import { IGroupStateEvent } from "./interfaces";
5
+ import { IMediaPlayerState } from "../LiveMediaSessionCoordinator.js";
6
+ import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
7
+ import { IGenericTypedEvents, IGroupStateEvent } from "./interfaces.js";
8
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
10
9
  /**
11
10
  * @hidden
12
11
  */
@@ -31,7 +30,7 @@ export interface IPlaybackTrackChangeEvent extends IGroupStateEvent {
31
30
  /**
32
31
  * @hidden
33
32
  */
34
- export declare class GroupPlaybackTrack extends EventEmitter {
33
+ export declare class GroupPlaybackTrack extends TypedEventEmitter<IGenericTypedEvents> {
35
34
  private readonly _getMediaPlayerState;
36
35
  private _current;
37
36
  constructor(getMediaPlayerState: () => IMediaPlayerState);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackTrack.d.ts","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;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,iBAAiB,CAAC,mBAAmB,CAAC;IAC1E,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"}
@@ -1,25 +1,21 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
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"));
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
12
6
  /**
13
7
  * @hidden
14
8
  */
15
- var GroupPlaybackTrackEvents;
9
+ export var GroupPlaybackTrackEvents;
16
10
  (function (GroupPlaybackTrackEvents) {
17
11
  GroupPlaybackTrackEvents["trackChange"] = "trackChange";
18
- })(GroupPlaybackTrackEvents || (exports.GroupPlaybackTrackEvents = GroupPlaybackTrackEvents = {}));
12
+ })(GroupPlaybackTrackEvents || (GroupPlaybackTrackEvents = {}));
19
13
  /**
20
14
  * @hidden
21
15
  */
22
- class GroupPlaybackTrack extends events_1.default {
16
+ export class GroupPlaybackTrack extends TypedEventEmitter {
17
+ _getMediaPlayerState;
18
+ _current;
23
19
  constructor(getMediaPlayerState) {
24
20
  super();
25
21
  this._current = {
@@ -121,5 +117,4 @@ class GroupPlaybackTrack extends events_1.default {
121
117
  return true;
122
118
  }
123
119
  }
124
- exports.GroupPlaybackTrack = GroupPlaybackTrack;
125
120
  //# sourceMappingURL=GroupPlaybackTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackTrack.js","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackTrack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAYjE;;GAEG;AACH,MAAM,CAAN,IAAY,wBAEX;AAFD,WAAY,wBAAwB;IAChC,uDAA2B,CAAA;AAC/B,CAAC,EAFW,wBAAwB,KAAxB,wBAAwB,QAEnC;AASD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,iBAAsC;IACzD,oBAAoB,CAA0B;IACvD,QAAQ,CAAiB;IAEjC,YAAY,mBAA4C;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,EAAE;SACf,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IACpD,CAAC;IAED,IAAW,OAAO;QACd,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAEM,YAAY,CAAC,SAAgC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACzC,iBAAiB;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC/C,iCAAiC;gBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB,CACpB,aAAgD;QAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,aAAa,IAAI,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAChE,SAAS;YACb,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,WAAW,CACd,KAAqB,EACrB,MAAwC;QAExC,8CAA8C;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IACI,kBAAkB,CAAC,eAAe,CAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,KAAK,CAAC,QAAQ,CACjB,EACH,CAAC;YACC,+BAA+B;YAC/B,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAChC,IACI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;gBACpC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EACpC,CAAC;gBACC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,IAAI,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,wFAAwF;QACxF,mEAAmE;QACnE,IACI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACpC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpD,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,mBAAmB;QACnB,MAAM,KAAK,GAA8B;YACrC,IAAI,EAAE,wBAAwB,CAAC,WAAW;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM;SACT,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO,CAAC,QAAsC;QACjD,OAAO,kBAAkB,CAAC,eAAe,CACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,QAAQ,CACX,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,eAAe,CACzB,OAAqC,EACrC,QAAsC;QAEtC,mDAAmD;QACnD,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -2,11 +2,10 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- /// <reference types="node" />
6
- import EventEmitter from "events";
7
- import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
8
- import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
9
- import { IGroupStateEvent } from "./interfaces";
5
+ import { GroupPlaybackTrack } from "./GroupPlaybackTrack.js";
6
+ import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
7
+ import { IGenericTypedEvents, IGroupStateEvent } from "./interfaces.js";
8
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
10
9
  /**
11
10
  * @hidden
12
11
  */
@@ -30,7 +29,7 @@ export interface IPlaybackTrackDataChangeEvent extends IGroupStateEvent {
30
29
  /**
31
30
  * @hidden
32
31
  */
33
- export declare class GroupPlaybackTrackData extends EventEmitter {
32
+ export declare class GroupPlaybackTrackData extends TypedEventEmitter<IGenericTypedEvents> {
34
33
  private _track;
35
34
  private _current;
36
35
  constructor(track: GroupPlaybackTrack);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackTrackData.d.ts","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,kBAAkB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;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,iBAAiB,CAAC,mBAAmB,CAAC;IAC9E,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"}
@@ -1,32 +1,28 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
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");
5
+ import { GroupPlaybackTrackEvents, } from "./GroupPlaybackTrack.js";
6
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
13
7
  /**
14
8
  * @hidden
15
9
  */
16
- var PlaybackTrackDataEvents;
10
+ export var PlaybackTrackDataEvents;
17
11
  (function (PlaybackTrackDataEvents) {
18
12
  PlaybackTrackDataEvents["dataChange"] = "dataChange";
19
- })(PlaybackTrackDataEvents || (exports.PlaybackTrackDataEvents = PlaybackTrackDataEvents = {}));
13
+ })(PlaybackTrackDataEvents || (PlaybackTrackDataEvents = {}));
20
14
  /**
21
15
  * @hidden
22
16
  */
23
- class GroupPlaybackTrackData extends events_1.default {
17
+ export class GroupPlaybackTrackData extends TypedEventEmitter {
18
+ _track;
19
+ _current;
24
20
  constructor(track) {
25
21
  super();
26
22
  this._track = track;
27
23
  this._current = { data: null, timestamp: 0, clientId: "" };
28
24
  // Listen for track changes
29
- this._track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, () => {
25
+ this._track.on(GroupPlaybackTrackEvents.trackChange, () => {
30
26
  // Track changed so reset state to empty object
31
27
  this._current = {
32
28
  data: null,
@@ -69,5 +65,4 @@ class GroupPlaybackTrackData extends events_1.default {
69
65
  return true;
70
66
  }
71
67
  }
72
- exports.GroupPlaybackTrackData = GroupPlaybackTrackData;
73
68
  //# sourceMappingURL=GroupPlaybackTrackData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPlaybackTrackData.js","sourceRoot":"","sources":["../../../src/internals/GroupPlaybackTrackData.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,wBAAwB,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE;;GAEG;AACH,MAAM,CAAN,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;AAC7B,CAAC,EAFW,uBAAuB,KAAvB,uBAAuB,QAElC;AASD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,iBAAsC;IACtE,MAAM,CAAqB;IAC3B,QAAQ,CAAqB;IAErC,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,wBAAwB,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,CAAC;YAC1C,OAAO,KAAK,CAAC;QACjB,CAAC;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,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACjB,CAAC;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"}
@@ -2,14 +2,13 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- /// <reference types="node" />
6
- import { LiveShareRuntime } from "@microsoft/live-share";
7
- import EventEmitter from "events";
8
- import { IMediaPlayerState } from "../LiveMediaSessionCoordinator";
9
- import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions";
10
- import { GroupPlaybackTrack } from "./GroupPlaybackTrack";
11
- import { IGroupStateEvent } from "./interfaces";
12
- import { GroupPlaybackRate } from "./GroupPlaybackRate";
5
+ import { LiveShareRuntime } from "@microsoft/live-share/internal";
6
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
7
+ import { IMediaPlayerState } from "../LiveMediaSessionCoordinator.js";
8
+ import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
9
+ import { GroupPlaybackTrack } from "./GroupPlaybackTrack.js";
10
+ import { IGenericTypedEvents, IGroupStateEvent } from "./interfaces.js";
11
+ import { GroupPlaybackRate } from "./GroupPlaybackRate.js";
13
12
  /**
14
13
  * @hidden
15
14
  */
@@ -35,7 +34,7 @@ export interface ITransportStateChangeEvent extends IGroupStateEvent {
35
34
  /**
36
35
  * @hidden
37
36
  */
38
- export declare class GroupTransportState extends EventEmitter {
37
+ export declare class GroupTransportState extends TypedEventEmitter<IGenericTypedEvents> {
39
38
  private readonly _getMediaPlayerState;
40
39
  private _track;
41
40
  private _playbackRate;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransportState.d.ts","sourceRoot":"","sources":["../../../src/internals/GroupTransportState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACH,iCAAiC,EACjC,0BAA0B,EAC1B,gCAAgC,EACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,kBAAkB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;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,iBAAiB,CAAC,mBAAmB,CAAC;IAC3E,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"}
@@ -1,26 +1,25 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
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");
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
+ import { GroupPlaybackTrackEvents, } from "./GroupPlaybackTrack.js";
13
7
  /**
14
8
  * @hidden
15
9
  */
16
- var GroupTransportStateEvents;
10
+ export var GroupTransportStateEvents;
17
11
  (function (GroupTransportStateEvents) {
18
12
  GroupTransportStateEvents["transportStateChange"] = "transportStateChange";
19
- })(GroupTransportStateEvents || (exports.GroupTransportStateEvents = GroupTransportStateEvents = {}));
13
+ })(GroupTransportStateEvents || (GroupTransportStateEvents = {}));
20
14
  /**
21
15
  * @hidden
22
16
  */
23
- class GroupTransportState extends events_1.default {
17
+ export class GroupTransportState extends TypedEventEmitter {
18
+ _getMediaPlayerState;
19
+ _track;
20
+ _playbackRate;
21
+ _liveRuntime;
22
+ _current;
24
23
  constructor(track, playbackRate, getMediaPlayerState, liveRuntime) {
25
24
  super();
26
25
  this._liveRuntime = liveRuntime;
@@ -34,7 +33,7 @@ class GroupTransportState extends events_1.default {
34
33
  clientId: "",
35
34
  };
36
35
  // Listen for track changes
37
- this._track.on(GroupPlaybackTrack_1.GroupPlaybackTrackEvents.trackChange, () => {
36
+ this._track.on(GroupPlaybackTrackEvents.trackChange, () => {
38
37
  // Track changed so reset state to stopped ad position 0.0
39
38
  this._current = {
40
39
  playbackState: "none",
@@ -119,5 +118,4 @@ class GroupTransportState extends events_1.default {
119
118
  return true;
120
119
  }
121
120
  }
122
- exports.GroupTransportState = GroupTransportState;
123
121
  //# 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,33 @@
1
+ import { TimeInterval } from "@microsoft/live-share";
2
+ /**
3
+ * @hidden
4
+ * Time interval that can scale based on a scaling function.
5
+ */
6
+ export declare class PriorityTimeInterval extends TimeInterval {
7
+ /**
8
+ * If true, local user has priority and will have the lowest possible millesecond value.
9
+ */
10
+ hasPriority: boolean;
11
+ /**
12
+ * If true, milliseconds will be scaled when {@link hasPriority} is false.
13
+ */
14
+ shouldPrioritize: boolean;
15
+ /**
16
+ * Function to get the scale ratio.
17
+ */
18
+ private getScaleBy;
19
+ /**
20
+ * Time interval that can scale based on a scaling function.
21
+ *
22
+ * @param defaultMilliseconds the default minimum milliseconds
23
+ * @param getScaleByFn a function to scale the milliseconds by when {@link hasPriority} is false and {@link shouldPrioritize} is true.
24
+ * @param defaultHasPriority the default {@link hasPriority} value
25
+ * @param defaultShouldPrioritize the default {@link shouldPrioritize} value
26
+ */
27
+ constructor(defaultMilliseconds: number, getScaleByFn: () => number, defaultHasPriority?: boolean, defaultShouldPrioritize?: boolean);
28
+ get milliseconds(): number;
29
+ set milliseconds(value: number);
30
+ get minMilliseconds(): number;
31
+ get maxMilliseconds(): number;
32
+ }
33
+ //# sourceMappingURL=PriorityTimeInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriorityTimeInterval.d.ts","sourceRoot":"","sources":["../../../src/internals/PriorityTimeInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAarD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IAClD;;OAEG;IACI,WAAW,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACI,gBAAgB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAe;IACjC;;;;;;;OAOG;gBAEC,mBAAmB,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,MAAM,EAC1B,kBAAkB,GAAE,OAAe,EACnC,uBAAuB,GAAE,OAAc;IAQ3C,IAAW,YAAY,IAAI,MAAM,CAOhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAEpC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,eAAe,IAAI,MAAM,CAOnC;CACJ"}
@@ -0,0 +1,53 @@
1
+ import { TimeInterval } from "@microsoft/live-share";
2
+ function getScaledPriorityTimeMs(minMilliseconds, hasPriority, shouldPrioritize, scaleBy) {
3
+ if (!shouldPrioritize)
4
+ return minMilliseconds;
5
+ if (hasPriority)
6
+ return minMilliseconds;
7
+ return minMilliseconds * scaleBy;
8
+ }
9
+ /**
10
+ * @hidden
11
+ * Time interval that can scale based on a scaling function.
12
+ */
13
+ export class PriorityTimeInterval extends TimeInterval {
14
+ /**
15
+ * If true, local user has priority and will have the lowest possible millesecond value.
16
+ */
17
+ hasPriority;
18
+ /**
19
+ * If true, milliseconds will be scaled when {@link hasPriority} is false.
20
+ */
21
+ shouldPrioritize;
22
+ /**
23
+ * Function to get the scale ratio.
24
+ */
25
+ getScaleBy;
26
+ /**
27
+ * Time interval that can scale based on a scaling function.
28
+ *
29
+ * @param defaultMilliseconds the default minimum milliseconds
30
+ * @param getScaleByFn a function to scale the milliseconds by when {@link hasPriority} is false and {@link shouldPrioritize} is true.
31
+ * @param defaultHasPriority the default {@link hasPriority} value
32
+ * @param defaultShouldPrioritize the default {@link shouldPrioritize} value
33
+ */
34
+ constructor(defaultMilliseconds, getScaleByFn, defaultHasPriority = false, defaultShouldPrioritize = true) {
35
+ super(defaultMilliseconds);
36
+ this.hasPriority = defaultHasPriority;
37
+ this.shouldPrioritize = defaultShouldPrioritize;
38
+ this.getScaleBy = getScaleByFn;
39
+ }
40
+ get milliseconds() {
41
+ return getScaledPriorityTimeMs(this._milliseconds, this.hasPriority, this.shouldPrioritize, this.getScaleBy());
42
+ }
43
+ set milliseconds(value) {
44
+ this._milliseconds = value;
45
+ }
46
+ get minMilliseconds() {
47
+ return this._milliseconds;
48
+ }
49
+ get maxMilliseconds() {
50
+ return getScaledPriorityTimeMs(this._milliseconds, false, this.shouldPrioritize, this.getScaleBy());
51
+ }
52
+ }
53
+ //# sourceMappingURL=PriorityTimeInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriorityTimeInterval.js","sourceRoot":"","sources":["../../../src/internals/PriorityTimeInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,SAAS,uBAAuB,CAC5B,eAAuB,EACvB,WAAoB,EACpB,gBAAyB,EACzB,OAAe;IAEf,IAAI,CAAC,gBAAgB;QAAE,OAAO,eAAe,CAAC;IAC9C,IAAI,WAAW;QAAE,OAAO,eAAe,CAAC;IACxC,OAAO,eAAe,GAAG,OAAO,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAClD;;OAEG;IACI,WAAW,CAAU;IAC5B;;OAEG;IACI,gBAAgB,CAAU;IACjC;;OAEG;IACK,UAAU,CAAe;IACjC;;;;;;;OAOG;IACH,YACI,mBAA2B,EAC3B,YAA0B,EAC1B,qBAA8B,KAAK,EACnC,0BAAmC,IAAI;QAEvC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,uBAAuB,CAC1B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,EAAE,CACpB,CAAC;IACN,CAAC;IAED,IAAW,YAAY,CAAC,KAAa;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,uBAAuB,CAC1B,IAAI,CAAC,aAAa,EAClB,KAAK,EACL,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,EAAE,CACpB,CAAC;IACN,CAAC;CACJ"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG3B,CAAC"}
@@ -1,16 +1,13 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
3
  * Licensed under the Microsoft Live Share SDK License.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TelemetryEvents = void 0;
8
5
  /**
9
6
  * @hidden
10
7
  * List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
11
8
  * the telemetry service.
12
9
  */
13
- exports.TelemetryEvents = {
10
+ export const TelemetryEvents = {
14
11
  MediaPlayerSynchronizer: {
15
12
  SynchronizationStarted: "MediaPlayerSynchronizer:SynchronizationStarted",
16
13
  PlayerEvent: "MediaPlayerSynchronizer:PlayerEvent",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/internals/consts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/internals/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACnC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAMnD,MAAM,CAAC,MAAM,CACT,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,SAAS;CAIvB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC7B,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAMxE,MAAM,CAAC,MAAM,CACT,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS;CAIvB"}
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionBlockedError = exports.TrackMetadataNotSetError = void 0;
4
1
  /**
5
2
  * @hidden
6
3
  * Use for operations that are blocked due to the metadata not being set.
7
4
  */
8
- class TrackMetadataNotSetError extends Error {
5
+ export class TrackMetadataNotSetError extends Error {
9
6
  constructor(prefix, callingFunction) {
10
7
  super(`${prefix} - called before playback track metadata has been assigned.\nTo fix this error, ensure \`setTrack()\` has been called with the track information before calling \`${callingFunction}()\``);
11
8
  }
@@ -15,12 +12,11 @@ class TrackMetadataNotSetError extends Error {
15
12
  throw new TrackMetadataNotSetError(prefix, callingFunction);
16
13
  }
17
14
  }
18
- exports.TrackMetadataNotSetError = TrackMetadataNotSetError;
19
15
  /**
20
16
  * @hidden
21
17
  * Use for operations that are blocked due to the metadata not being set.
22
18
  */
23
- class ActionBlockedError extends Error {
19
+ export class ActionBlockedError extends Error {
24
20
  constructor(prefix, callingFunction, settingName) {
25
21
  super(`${prefix} - operation blocked due to \`${settingName}\` being set to false.\nTo fix this error, ensure \`${settingName}\` is true before calling \`${callingFunction}()\`, or set \`${settingName}\` to true. If you are using \`MediaPlayerSynchronizer\`, you can instead use the \`viewOnly\`, which when set to false, it will set \`${settingName}\` value to true.`);
26
22
  }
@@ -30,5 +26,4 @@ class ActionBlockedError extends Error {
30
26
  throw new ActionBlockedError(prefix, callingFunction, settingName);
31
27
  }
32
28
  }
33
- exports.ActionBlockedError = ActionBlockedError;
34
29
  //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internals/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC/C,YAAY,MAAc,EAAE,eAAuB;QAC/C,KAAK,CACD,GAAG,MAAM,sKAAsK,eAAe,MAAM,CACvM,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CACT,SAAkB,EAClB,MAAc,EACd,eAAuB;QAEvB,IAAI,SAAS;YAAE,OAAO;QACtB,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzC,YAAY,MAAc,EAAE,eAAuB,EAAE,WAAmB;QACpE,KAAK,CACD,GAAG,MAAM,iCAAiC,WAAW,uDAAuD,WAAW,+BAA+B,eAAe,kBAAkB,WAAW,0IAA0I,WAAW,mBAAmB,CAC7W,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CACT,SAAkB,EAClB,MAAc,EACd,eAAuB,EACvB,WAAmB;QAEnB,IAAI,SAAS;YAAE,OAAO;QACtB,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -0,0 +1,23 @@
1
+ import { IEvent } from "@microsoft/live-share";
2
+ import { IEvent as IFluidEvent } from "@fluidframework/core-interfaces";
3
+ import { ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js";
4
+ /**
5
+ * @hidden
6
+ */
7
+ export interface IGroupStateEvent extends IEvent {
8
+ clientId: string;
9
+ source: ExtendedMediaSessionActionSource;
10
+ }
11
+ /**
12
+ * @hidden
13
+ */
14
+ export interface IGenericTypedEvents extends IFluidEvent {
15
+ /**
16
+ * Event listener for events emitted
17
+ * @param event update
18
+ * @param listener listener function
19
+ * @param listener.event the event instance
20
+ */
21
+ (event: string, listener: (event: any) => void): void;
22
+ }
23
+ //# 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,MAAM,IAAI,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gCAAgC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACpD;;;;;OAKG;IACH,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;CACzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/internals/interfaces.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/internals/interfaces.ts"],"names":[],"mappings":""}