@microsoft/live-share-media 0.5.1 → 1.0.0-preview.3

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 (100) hide show
  1. package/.nycrc.json +10 -10
  2. package/.vscode/launch.json +29 -0
  3. package/.vscode/settings.json +2 -0
  4. package/LICENSE +86 -86
  5. package/README.md +138 -137
  6. package/bin/IMediaPlayer.d.ts.map +1 -1
  7. package/bin/{EphemeralMediaSession.d.ts → LiveMediaSession.d.ts} +14 -21
  8. package/bin/LiveMediaSession.d.ts.map +1 -0
  9. package/bin/{EphemeralMediaSession.js → LiveMediaSession.js} +39 -37
  10. package/bin/LiveMediaSession.js.map +1 -0
  11. package/bin/{EphemeralMediaSessionCoordinator.d.ts → LiveMediaSessionCoordinator.d.ts} +5 -5
  12. package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -0
  13. package/bin/{EphemeralMediaSessionCoordinator.js → LiveMediaSessionCoordinator.js} +60 -48
  14. package/bin/LiveMediaSessionCoordinator.js.map +1 -0
  15. package/bin/{EphemeralMediaSessionCoordinatorSuspension.d.ts → LiveMediaSessionCoordinatorSuspension.d.ts} +3 -3
  16. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts.map +1 -0
  17. package/bin/{EphemeralMediaSessionCoordinatorSuspension.js → LiveMediaSessionCoordinatorSuspension.js} +4 -4
  18. package/bin/LiveMediaSessionCoordinatorSuspension.js.map +1 -0
  19. package/bin/MediaPlayerSynchronizer.d.ts +11 -11
  20. package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
  21. package/bin/MediaPlayerSynchronizer.js +132 -75
  22. package/bin/MediaPlayerSynchronizer.js.map +1 -1
  23. package/bin/MediaSessionActionThrottler.d.ts +1 -1
  24. package/bin/MediaSessionActionThrottler.d.ts.map +1 -1
  25. package/bin/MediaSessionActionThrottler.js.map +1 -1
  26. package/bin/MediaSessionExtensions.d.ts.map +1 -1
  27. package/bin/RepeatedActionThrottler.d.ts +2 -2
  28. package/bin/RepeatedActionThrottler.d.ts.map +1 -1
  29. package/bin/RepeatedActionThrottler.js +9 -3
  30. package/bin/RepeatedActionThrottler.js.map +1 -1
  31. package/bin/VolumeManager.d.ts +84 -0
  32. package/bin/VolumeManager.d.ts.map +1 -0
  33. package/bin/VolumeManager.js +175 -0
  34. package/bin/VolumeManager.js.map +1 -0
  35. package/bin/index.d.ts +9 -9
  36. package/bin/index.d.ts.map +1 -1
  37. package/bin/index.js +4 -4
  38. package/bin/index.js.map +1 -1
  39. package/bin/internals/GroupCoordinatorState.d.ts +12 -12
  40. package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
  41. package/bin/internals/GroupCoordinatorState.js +94 -56
  42. package/bin/internals/GroupCoordinatorState.js.map +1 -1
  43. package/bin/internals/GroupPlaybackPosition.d.ts +3 -3
  44. package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
  45. package/bin/internals/GroupPlaybackPosition.js +24 -15
  46. package/bin/internals/GroupPlaybackPosition.js.map +1 -1
  47. package/bin/internals/GroupPlaybackTrack.d.ts +4 -4
  48. package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
  49. package/bin/internals/GroupPlaybackTrack.js +14 -4
  50. package/bin/internals/GroupPlaybackTrack.js.map +1 -1
  51. package/bin/internals/GroupPlaybackTrackData.d.ts +3 -3
  52. package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
  53. package/bin/internals/GroupPlaybackTrackData.js +8 -4
  54. package/bin/internals/GroupPlaybackTrackData.js.map +1 -1
  55. package/bin/internals/GroupTransportState.d.ts +5 -5
  56. package/bin/internals/GroupTransportState.d.ts.map +1 -1
  57. package/bin/internals/GroupTransportState.js +28 -13
  58. package/bin/internals/GroupTransportState.js.map +1 -1
  59. package/bin/internals/consts.d.ts.map +1 -1
  60. package/bin/internals/consts.js +54 -54
  61. package/bin/internals/consts.js.map +1 -1
  62. package/bin/internals/index.d.ts +6 -6
  63. package/package.json +38 -38
  64. package/src/IMediaPlayer.ts +29 -21
  65. package/src/LiveMediaSession.ts +300 -0
  66. package/src/LiveMediaSessionCoordinator.ts +621 -0
  67. package/src/{EphemeralMediaSessionCoordinatorSuspension.ts → LiveMediaSessionCoordinatorSuspension.ts} +39 -31
  68. package/src/MediaPlayerSynchronizer.ts +627 -450
  69. package/src/MediaSessionActionThrottler.ts +16 -14
  70. package/src/MediaSessionExtensions.ts +52 -42
  71. package/src/RepeatedActionThrottler.ts +74 -56
  72. package/src/VolumeManager.ts +197 -0
  73. package/src/index.ts +14 -15
  74. package/src/internals/GroupCoordinatorState.ts +606 -446
  75. package/src/internals/GroupPlaybackPosition.ts +227 -193
  76. package/src/internals/GroupPlaybackTrack.ts +176 -147
  77. package/src/internals/GroupPlaybackTrackData.ts +98 -90
  78. package/src/internals/GroupTransportState.ts +157 -127
  79. package/src/internals/consts.ts +98 -80
  80. package/src/internals/index.ts +11 -11
  81. package/src/test/GroupPlaybackPosition.spec.ts +600 -340
  82. package/src/test/GroupPlaybackTrack.spec.ts +122 -66
  83. package/src/test/SharedMediaSession.spec.ts +149 -113
  84. package/src/test/SharedMediaSessionCoordinator.spec.ts +271 -231
  85. package/src/test/VolumeManager.spec.ts +219 -0
  86. package/tsconfig.build.json +8 -8
  87. package/tsconfig.json +76 -75
  88. package/bin/EphemeralMediaSession.d.ts.map +0 -1
  89. package/bin/EphemeralMediaSession.js.map +0 -1
  90. package/bin/EphemeralMediaSessionCoordinator.d.ts.map +0 -1
  91. package/bin/EphemeralMediaSessionCoordinator.js.map +0 -1
  92. package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  93. package/bin/EphemeralMediaSessionCoordinatorSuspension.js.map +0 -1
  94. package/bin/VolumeLimiter.d.ts +0 -70
  95. package/bin/VolumeLimiter.d.ts.map +0 -1
  96. package/bin/VolumeLimiter.js +0 -170
  97. package/bin/VolumeLimiter.js.map +0 -1
  98. package/src/EphemeralMediaSession.ts +0 -248
  99. package/src/EphemeralMediaSessionCoordinator.ts +0 -461
  100. package/src/VolumeLimiter.ts +0 -182
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSession.d.ts","sourceRoot":"","sources":["../src/LiveMediaSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAEH,0BAA0B,EAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,2BAA2B,EAC3B,iBAAiB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC5C,OAAO,CAAC,gBAAgB,CACU;IAClC,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,0BAA0B,CAAC,CAA0B;IAC7D,OAAO,CAAC,YAAY,CAAC,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAClB;IACd,OAAO,CAAC,cAAc,CAAC,CAA0B;IAGjD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAa;IAEpC;;OAEG;IACH,gBAAuB,QAAQ,+CAA+C;IAE9E;;OAEG;IACH,gBAAuB,OAAO,0FAK5B;IAEF;;;;;;;;;;;;OAYG;IACH,IAAW,eAAe,IAAI,2BAA2B,CAExD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,2BAA2B,EAE5D;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;;OAGG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,2BAA2B,CAEpD;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,mBAAmB,CAEvC;IAED;;;;OAIG;IACI,UAAU,CACb,0BAA0B,CAAC,EAAE,eAAe,EAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;OAIG;IACI,gBAAgB,CACnB,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,yBAAyB,GAAG,IAAI,GAC1C,IAAI;IAUP;;;OAGG;IACI,4BAA4B,CAAC,OAAO,EAAE,MAAM,iBAAiB;IAIpE;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB;cAoCjD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyE/C,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,cAAc;CAQzB"}
@@ -13,18 +13,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
13
  });
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.EphemeralMediaSession = void 0;
16
+ exports.LiveMediaSession = void 0;
17
17
  const aqueduct_1 = require("@fluidframework/aqueduct");
18
18
  const live_share_1 = require("@microsoft/live-share");
19
19
  const MediaPlayerSynchronizer_1 = require("./MediaPlayerSynchronizer");
20
20
  const internals_1 = require("./internals");
21
21
  const MediaSessionExtensions_1 = require("./MediaSessionExtensions");
22
- const EphemeralMediaSessionCoordinator_1 = require("./EphemeralMediaSessionCoordinator");
22
+ const LiveMediaSessionCoordinator_1 = require("./LiveMediaSessionCoordinator");
23
23
  const RepeatedActionThrottler_1 = require("./RepeatedActionThrottler");
24
24
  /**
25
- * Ephemeral fluid object that synchronizes media playback across multiple clients.
25
+ * Live fluid object that synchronizes media playback across multiple clients.
26
26
  */
27
- class EphemeralMediaSession extends aqueduct_1.DataObject {
27
+ class LiveMediaSession extends aqueduct_1.DataObject {
28
28
  constructor() {
29
29
  super(...arguments);
30
30
  this._actionThrottler = new RepeatedActionThrottler_1.RepeatedActionThrottler();
@@ -36,7 +36,7 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
36
36
  * local sync behavior.
37
37
  *
38
38
  * @remarks
39
- * The `EphemeralMediaCoordinator` is fairly aggressive at wanting to keep the local media player
39
+ * The `LiveMediaCoordinator` is fairly aggressive at wanting to keep the local media player
40
40
  * in sync with the rest of the group. This aggressiveness can result in the coordinator sending
41
41
  * new sync actions before the local player has finished responding to the previous sync action.
42
42
  * The `ActionThrottler` gives apps fine grain control over how aggressive they want sync to be.
@@ -86,15 +86,6 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
86
86
  initialize(acceptTransportChangesFrom) {
87
87
  return this.coordinator.initialize(acceptTransportChangesFrom);
88
88
  }
89
- /**
90
- * @deprecated initialize should be used instead
91
- * initialize the object.
92
- * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
93
- * operations like play/pause/seek/setTrack.
94
- */
95
- start(acceptTransportChangesFrom) {
96
- return this.initialize(acceptTransportChangesFrom);
97
- }
98
89
  /**
99
90
  * Registers an action handler with the session.
100
91
  * @param action Name of the action to register a handler for.
@@ -138,7 +129,8 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
138
129
  // Send position update if interval hit
139
130
  const now = new Date().getTime();
140
131
  const delta = (now - this._lastUpdateTime) / 1000;
141
- if (this.coordinator.isInitialized && delta >= this.coordinator.positionUpdateInterval) {
132
+ if (this.coordinator.isInitialized &&
133
+ delta >= this.coordinator.positionUpdateInterval) {
142
134
  this._lastUpdateTime = now;
143
135
  this.coordinator.sendPositionUpdate(state);
144
136
  }
@@ -150,34 +142,42 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
150
142
  }
151
143
  hasInitialized() {
152
144
  return __awaiter(this, void 0, void 0, function* () {
153
- this._logger = new live_share_1.EphemeralTelemetryLogger(this.runtime);
145
+ this._logger = new live_share_1.LiveTelemetryLogger(this.runtime);
154
146
  // Create coordinator and listen for triggered actions
155
- this._coordinator = new EphemeralMediaSessionCoordinator_1.EphemeralMediaSessionCoordinator(this.runtime, () => this.getCurrentPlayerState());
147
+ this._coordinator = new LiveMediaSessionCoordinator_1.LiveMediaSessionCoordinator(this.runtime, () => this.getCurrentPlayerState());
156
148
  this._coordinator.on(MediaSessionExtensions_1.MediaSessionCoordinatorEvents.triggeraction, (event) => {
157
149
  // Pre-process actions
158
150
  const details = event.details;
159
- const seekTime = typeof details.seekTime == 'number' ? details.seekTime : -1;
151
+ const seekTime = typeof details.seekTime == "number" ? details.seekTime : -1;
160
152
  switch (details.action) {
161
- case 'play':
162
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PlayAction, null, { position: seekTime });
153
+ case "play":
154
+ this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PlayAction, null, {
155
+ position: seekTime,
156
+ });
163
157
  break;
164
- case 'pause':
165
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PauseAction, null, { position: seekTime });
158
+ case "pause":
159
+ this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.PauseAction, null, {
160
+ position: seekTime,
161
+ });
166
162
  break;
167
- case 'seekto':
168
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.SeekToAction, null, { position: seekTime });
163
+ case "seekto":
164
+ this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.SeekToAction, null, {
165
+ position: seekTime,
166
+ });
169
167
  break;
170
- case 'settrack':
168
+ case "settrack":
171
169
  this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.SetTrackAction);
172
170
  break;
173
- case 'datachange':
171
+ case "datachange":
174
172
  this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.DataChangeAction);
175
173
  break;
176
- case 'catchup':
174
+ case "catchup":
177
175
  // Default to seekto if catchup not implemented
178
- this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.CatchUpAction, null, { position: seekTime });
179
- if (!this._actionHandlers.has('catchup')) {
180
- details.action = 'seekto';
176
+ this.logger.sendTelemetryEvent(internals_1.TelemetryEvents.MediaSession.CatchUpAction, null, {
177
+ position: seekTime,
178
+ });
179
+ if (!this._actionHandlers.has("catchup")) {
180
+ details.action = "seekto";
181
181
  }
182
182
  break;
183
183
  }
@@ -190,14 +190,16 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
190
190
  // Was a wait point hit?
191
191
  if (state.positionState && this.coordinator.isInitialized) {
192
192
  const waitPoint = this.coordinator.findNextWaitPoint();
193
- if (waitPoint && state.positionState.position != undefined && state.positionState.position >= waitPoint.position) {
193
+ if (waitPoint &&
194
+ state.positionState.position != undefined &&
195
+ state.positionState.position >= waitPoint.position) {
194
196
  // Ensure handler registered
195
- if (!this._actionHandlers.has('wait')) {
197
+ if (!this._actionHandlers.has("wait")) {
196
198
  throw new Error(`SharedMediaSession: wait point hit but no 'wait' action registered.`);
197
199
  }
198
200
  // Begin suspension for wait point
199
201
  const suspension = this.coordinator.beginSuspension(waitPoint);
200
- this.dispatchAction({ action: 'wait', suspension: suspension });
202
+ this.dispatchAction({ action: "wait", suspension: suspension });
201
203
  }
202
204
  }
203
205
  }
@@ -214,13 +216,13 @@ class EphemeralMediaSession extends aqueduct_1.DataObject {
214
216
  }
215
217
  }
216
218
  }
217
- exports.EphemeralMediaSession = EphemeralMediaSession;
219
+ exports.LiveMediaSession = LiveMediaSession;
218
220
  /**
219
221
  * The objects fluid type name.
220
222
  */
221
- EphemeralMediaSession.TypeName = `@microsoft/fluid-media:SharedMediaSession`;
223
+ LiveMediaSession.TypeName = `@microsoft/fluid-media:SharedMediaSession`;
222
224
  /**
223
225
  * The objects fluid type factory.
224
226
  */
225
- EphemeralMediaSession.factory = new aqueduct_1.DataObjectFactory(EphemeralMediaSession.TypeName, EphemeralMediaSession, [], {});
226
- //# sourceMappingURL=EphemeralMediaSession.js.map
227
+ LiveMediaSession.factory = new aqueduct_1.DataObjectFactory(LiveMediaSession.TypeName, LiveMediaSession, [], {});
228
+ //# sourceMappingURL=LiveMediaSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSession.js","sourceRoot":"","sources":["../src/LiveMediaSession.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
5
  /// <reference types="node" />
6
- import { IRuntimeSignaler, UserMeetingRole } from '@microsoft/live-share';
7
- import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionPlaybackState, MediaSessionCoordinatorSuspension } from './MediaSessionExtensions';
6
+ import { IRuntimeSignaler, UserMeetingRole } from "@microsoft/live-share";
7
+ import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionPlaybackState, MediaSessionCoordinatorSuspension } from "./MediaSessionExtensions";
8
8
  import EventEmitter from "events";
9
9
  /**
10
10
  * Most recent state of the media session.
@@ -31,11 +31,11 @@ export interface IMediaPlayerState {
31
31
  positionState?: MediaPositionState;
32
32
  }
33
33
  /**
34
- * The `EphemeralMediaSessionCoordinator` tracks the playback & position state of all other
34
+ * The `LiveMediaSessionCoordinator` tracks the playback & position state of all other
35
35
  * clients being synchronized with. It is responsible for keeping the local media player
36
36
  * in sync with the group.
37
37
  */
38
- export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
38
+ export declare class LiveMediaSessionCoordinator extends EventEmitter {
39
39
  private readonly _runtime;
40
40
  private readonly _logger;
41
41
  private readonly _getPlayerState;
@@ -225,4 +225,4 @@ export declare class EphemeralMediaSessionCoordinator extends EventEmitter {
225
225
  protected createChildren(acceptTransportChangesFrom?: UserMeetingRole[]): Promise<void>;
226
226
  private getPlayerPosition;
227
227
  }
228
- //# sourceMappingURL=EphemeralMediaSessionCoordinator.d.ts.map
228
+ //# sourceMappingURL=LiveMediaSessionCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSessionCoordinator.d.ts","sourceRoot":"","sources":["../src/LiveMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
@@ -16,17 +16,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  return (mod && mod.__esModule) ? mod : { "default": mod };
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.EphemeralMediaSessionCoordinator = void 0;
19
+ exports.LiveMediaSessionCoordinator = void 0;
20
20
  const live_share_1 = require("@microsoft/live-share");
21
21
  const internals_1 = require("./internals");
22
- const EphemeralMediaSessionCoordinatorSuspension_1 = require("./EphemeralMediaSessionCoordinatorSuspension");
22
+ const LiveMediaSessionCoordinatorSuspension_1 = require("./LiveMediaSessionCoordinatorSuspension");
23
23
  const events_1 = __importDefault(require("events"));
24
24
  /**
25
- * The `EphemeralMediaSessionCoordinator` tracks the playback & position state of all other
25
+ * The `LiveMediaSessionCoordinator` tracks the playback & position state of all other
26
26
  * clients being synchronized with. It is responsible for keeping the local media player
27
27
  * in sync with the group.
28
28
  */
29
- class EphemeralMediaSessionCoordinator extends events_1.default {
29
+ class LiveMediaSessionCoordinator extends events_1.default {
30
30
  /**
31
31
  * @hidden
32
32
  * Applications shouldn't directly create new coordinator instances.
@@ -87,7 +87,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
87
87
  */
88
88
  this.canSetTrackData = true;
89
89
  this._runtime = runtime;
90
- this._logger = new live_share_1.EphemeralTelemetryLogger(runtime);
90
+ this._logger = new live_share_1.LiveTelemetryLogger(runtime);
91
91
  this._getPlayerState = getPlayerState;
92
92
  }
93
93
  /**
@@ -134,13 +134,13 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
134
134
  play() {
135
135
  var _a;
136
136
  if (!this._hasInitialized) {
137
- throw new Error(`EphemeralMediaSessionCoordinator.play() called before initialize() called.`);
137
+ throw new Error(`LiveMediaSessionCoordinator.play() called before initialize() called.`);
138
138
  }
139
139
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
140
- throw new Error(`EphemeralMediaSessionCoordinator.play() called before MediaSession.metadata assigned.`);
140
+ throw new Error(`LiveMediaSessionCoordinator.play() called before MediaSession.metadata assigned.`);
141
141
  }
142
142
  if (!this.canPlayPause) {
143
- throw new Error(`EphemeralMediaSessionCoordinator.play() operation blocked.`);
143
+ throw new Error(`LiveMediaSessionCoordinator.play() operation blocked.`);
144
144
  }
145
145
  // Get projected position
146
146
  const position = this.getPlayerPosition();
@@ -148,7 +148,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
148
148
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.PlayCalled, null, { position: position });
149
149
  this._playEvent.sendEvent({
150
150
  track: this._groupState.playbackTrack.current,
151
- position: position
151
+ position: position,
152
152
  });
153
153
  }
154
154
  /**
@@ -161,13 +161,13 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
161
161
  pause() {
162
162
  var _a;
163
163
  if (!this._hasInitialized) {
164
- throw new Error(`EphemeralMediaSessionCoordinator.pause() called before initialize() called.`);
164
+ throw new Error(`LiveMediaSessionCoordinator.pause() called before initialize() called.`);
165
165
  }
166
166
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
167
- throw new Error(`EphemeralMediaSessionCoordinator.pause() called before MediaSession.metadata assigned.`);
167
+ throw new Error(`LiveMediaSessionCoordinator.pause() called before MediaSession.metadata assigned.`);
168
168
  }
169
169
  if (!this.canPlayPause) {
170
- throw new Error(`EphemeralMediaSessionCoordinator.pause() operation blocked.`);
170
+ throw new Error(`LiveMediaSessionCoordinator.pause() operation blocked.`);
171
171
  }
172
172
  // Get projected position
173
173
  const position = this.getPlayerPosition();
@@ -175,7 +175,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
175
175
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.PauseCalled, null, { position: position });
176
176
  this._pauseEvent.sendEvent({
177
177
  track: this._groupState.playbackTrack.current,
178
- position: position
178
+ position: position,
179
179
  });
180
180
  }
181
181
  /**
@@ -189,19 +189,19 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
189
189
  seekTo(time) {
190
190
  var _a;
191
191
  if (!this._hasInitialized) {
192
- throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before initialize() called.`);
192
+ throw new Error(`LiveMediaSessionCoordinator.seekTo() called before initialize() called.`);
193
193
  }
194
194
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
195
- throw new Error(`EphemeralMediaSessionCoordinator.seekTo() called before MediaSession.metadata assigned.`);
195
+ throw new Error(`LiveMediaSessionCoordinator.seekTo() called before MediaSession.metadata assigned.`);
196
196
  }
197
197
  if (!this.canSeek) {
198
- throw new Error(`EphemeralMediaSessionCoordinator.seekTo() operation blocked.`);
198
+ throw new Error(`LiveMediaSessionCoordinator.seekTo() operation blocked.`);
199
199
  }
200
200
  // Send transport command
201
201
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.SeekToCalled, null, { position: time });
202
202
  this._seekToEvent.sendEvent({
203
203
  track: this._groupState.playbackTrack.current,
204
- position: time
204
+ position: time,
205
205
  });
206
206
  }
207
207
  /**
@@ -215,16 +215,16 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
215
215
  */
216
216
  setTrack(metadata, waitPoints) {
217
217
  if (!this._hasInitialized) {
218
- throw new Error(`EphemeralMediaSessionCoordinator.setTrack() called before initialize() called.`);
218
+ throw new Error(`LiveMediaSessionCoordinator.setTrack() called before initialize() called.`);
219
219
  }
220
220
  if (!this.canSetTrack) {
221
- throw new Error(`EphemeralMediaSessionCoordinator.setTrack() operation blocked.`);
221
+ throw new Error(`LiveMediaSessionCoordinator.setTrack() operation blocked.`);
222
222
  }
223
223
  // Send transport command
224
224
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.SetTrackCalled);
225
225
  this._setTrackEvent.sendEvent({
226
226
  metadata: metadata,
227
- waitPoints: waitPoints || []
227
+ waitPoints: waitPoints || [],
228
228
  });
229
229
  }
230
230
  /**
@@ -240,15 +240,15 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
240
240
  */
241
241
  setTrackData(data) {
242
242
  if (!this._hasInitialized) {
243
- throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() called before initialize() called.`);
243
+ throw new Error(`LiveMediaSessionCoordinator.setTrackData() called before initialize() called.`);
244
244
  }
245
245
  if (!this.canSetTrackData) {
246
- throw new Error(`EphemeralMediaSessionCoordinator.setTrackData() operation blocked.`);
246
+ throw new Error(`LiveMediaSessionCoordinator.setTrackData() operation blocked.`);
247
247
  }
248
248
  // Send transport command
249
249
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.SetTrackDataCalled);
250
250
  this._setTrackDataEvent.sendEvent({
251
- data: data
251
+ data: data,
252
252
  });
253
253
  }
254
254
  /**
@@ -278,14 +278,17 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
278
278
  beginSuspension(waitPoint) {
279
279
  var _a;
280
280
  if (!this._hasInitialized) {
281
- throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before initialize() called.`);
281
+ throw new Error(`LiveMediaSessionCoordinator.beginSuspension() called before initialize() called.`);
282
282
  }
283
283
  if (!((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.current.metadata)) {
284
- throw new Error(`EphemeralMediaSessionCoordinator.beginSuspension() called before MediaSession.metadata assigned.`);
284
+ throw new Error(`LiveMediaSessionCoordinator.beginSuspension() called before MediaSession.metadata assigned.`);
285
285
  }
286
286
  // Tell group state that suspension is started
287
287
  if (waitPoint) {
288
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.BeginSuspensionAndWait, null, { position: waitPoint.position, maxClients: waitPoint.maxClients });
288
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.BeginSuspensionAndWait, null, {
289
+ position: waitPoint.position,
290
+ maxClients: waitPoint.maxClients,
291
+ });
289
292
  this._lastWaitPoint = waitPoint;
290
293
  this._groupState.beginSuspension(waitPoint);
291
294
  }
@@ -294,16 +297,21 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
294
297
  this._groupState.beginSuspension();
295
298
  }
296
299
  // Return new suspension object
297
- return new EphemeralMediaSessionCoordinatorSuspension_1.EphemeralMediaSessionCoordinatorSuspension(waitPoint, time => {
300
+ return new LiveMediaSessionCoordinatorSuspension_1.LiveMediaSessionCoordinatorSuspension(waitPoint, (time) => {
298
301
  var _a, _b;
299
302
  if (waitPoint) {
300
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.EndSuspensionAndWait, null, { position: waitPoint.position, maxClients: waitPoint.maxClients });
303
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.EndSuspensionAndWait, null, {
304
+ position: waitPoint.position,
305
+ maxClients: waitPoint.maxClients,
306
+ });
301
307
  }
302
308
  else {
303
309
  this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.EndSuspension);
304
310
  }
305
311
  this._groupState.endSuspension(time == undefined);
306
- if (time != undefined && !((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.isSuspended) && !((_b = this._groupState) === null || _b === void 0 ? void 0 : _b.isWaiting)) {
312
+ if (time != undefined &&
313
+ !((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.isSuspended) &&
314
+ !((_b = this._groupState) === null || _b === void 0 ? void 0 : _b.isWaiting)) {
307
315
  // Seek to new position
308
316
  this.seekTo(Math.max(time, 0.0));
309
317
  }
@@ -323,7 +331,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
323
331
  initialize(acceptTransportChangesFrom) {
324
332
  return __awaiter(this, void 0, void 0, function* () {
325
333
  if (this._hasInitialized) {
326
- throw new Error(`EphemeralMediaSessionCoordinator.initialize() already initialized.`);
334
+ throw new Error(`LiveMediaSessionCoordinator.initialize() already initialized.`);
327
335
  }
328
336
  // Create children
329
337
  yield this.createChildren(acceptTransportChangesFrom);
@@ -336,7 +344,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
336
344
  */
337
345
  findNextWaitPoint() {
338
346
  var _a;
339
- return ((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.findNextWaitPoint(this._lastWaitPoint)) || null;
347
+ return (((_a = this._groupState) === null || _a === void 0 ? void 0 : _a.playbackTrack.findNextWaitPoint(this._lastWaitPoint)) || null);
340
348
  }
341
349
  /**
342
350
  * @hidden
@@ -345,7 +353,7 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
345
353
  sendPositionUpdate(state) {
346
354
  var _a;
347
355
  if (!this._hasInitialized) {
348
- throw new Error(`EphemeralMediaSessionCoordinator.sendPositionUpdate() called before initialize() called.`);
356
+ throw new Error(`LiveMediaSessionCoordinator.sendPositionUpdate() called before initialize() called.`);
349
357
  }
350
358
  // Send position update event
351
359
  const evt = this._groupState.createPositionUpdateEvent(state);
@@ -354,25 +362,27 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
354
362
  createChildren(acceptTransportChangesFrom) {
355
363
  return __awaiter(this, void 0, void 0, function* () {
356
364
  // Create event scopes
357
- const scope = new live_share_1.EphemeralEventScope(this._runtime, acceptTransportChangesFrom);
358
- const unrestrictedScope = new live_share_1.EphemeralEventScope(this._runtime);
365
+ const scope = new live_share_1.LiveEventScope(this._runtime, acceptTransportChangesFrom);
366
+ const unrestrictedScope = new live_share_1.LiveEventScope(this._runtime);
359
367
  // Initialize internal coordinator state
360
368
  this._groupState = new internals_1.GroupCoordinatorState(this._runtime, this._maxPlaybackDrift, this._positionUpdateInterval, this._getPlayerState);
361
- this._groupState.on(internals_1.GroupCoordinatorStateEvents.triggeraction, evt => this.emit(evt.name, evt));
369
+ this._groupState.on(internals_1.GroupCoordinatorStateEvents.triggeraction, (evt) => this.emit(evt.name, evt));
362
370
  // Listen for track changes
363
- this._setTrackEvent = new live_share_1.EphemeralEventTarget(scope, 'setTrack', (event, local) => this._groupState.handleSetTrack(event, local));
364
- this._setTrackDataEvent = new live_share_1.EphemeralEventTarget(scope, 'setTrackData', (event, local) => this._groupState.handleSetTrackData(event, local));
371
+ this._setTrackEvent = new live_share_1.LiveEventTarget(scope, "setTrack", (event, local) => this._groupState.handleSetTrack(event, local));
372
+ this._setTrackDataEvent = new live_share_1.LiveEventTarget(scope, "setTrackData", (event, local) => this._groupState.handleSetTrackData(event, local));
365
373
  // Listen for transport commands
366
- this._playEvent = new live_share_1.EphemeralEventTarget(scope, 'play', (event, local) => this._groupState.handleTransportCommand(event, local));
367
- this._pauseEvent = new live_share_1.EphemeralEventTarget(scope, 'pause', (event, local) => this._groupState.handleTransportCommand(event, local));
368
- this._seekToEvent = new live_share_1.EphemeralEventTarget(scope, 'seekTo', (event, local) => this._groupState.handleTransportCommand(event, local));
374
+ this._playEvent = new live_share_1.LiveEventTarget(scope, "play", (event, local) => this._groupState.handleTransportCommand(event, local));
375
+ this._pauseEvent = new live_share_1.LiveEventTarget(scope, "pause", (event, local) => this._groupState.handleTransportCommand(event, local));
376
+ this._seekToEvent = new live_share_1.LiveEventTarget(scope, "seekTo", (event, local) => this._groupState.handleTransportCommand(event, local));
369
377
  // Listen for position updates
370
- this._positionUpdateEvent = new live_share_1.EphemeralEventTarget(unrestrictedScope, 'positionUpdate', (event, local) => this._groupState.handlePositionUpdate(event, local));
378
+ this._positionUpdateEvent = new live_share_1.LiveEventTarget(unrestrictedScope, "positionUpdate", (event, local) => this._groupState.handlePositionUpdate(event, local));
371
379
  // Listen for joined event
372
- this._joinedEvent = new live_share_1.EphemeralEventTarget(unrestrictedScope, 'joined', (evt, local) => {
380
+ this._joinedEvent = new live_share_1.LiveEventTarget(unrestrictedScope, "joined", (evt, local) => {
373
381
  var _a;
374
382
  // Immediately send a position update
375
- this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.RemoteJoinReceived, null, { correlationId: live_share_1.EphemeralTelemetryLogger.formatCorrelationId(evt.clientId, evt.timestamp) });
383
+ this._logger.sendTelemetryEvent(internals_1.TelemetryEvents.SessionCoordinator.RemoteJoinReceived, null, {
384
+ correlationId: live_share_1.LiveTelemetryLogger.formatCorrelationId(evt.clientId, evt.timestamp),
385
+ });
376
386
  const state = this._getPlayerState();
377
387
  const update = this._groupState.createPositionUpdateEvent(state);
378
388
  (_a = this._positionUpdateEvent) === null || _a === void 0 ? void 0 : _a.sendEvent(update);
@@ -384,13 +394,15 @@ class EphemeralMediaSessionCoordinator extends events_1.default {
384
394
  getPlayerPosition() {
385
395
  const { positionState, playbackState } = this._getPlayerState();
386
396
  switch (playbackState) {
387
- case 'none':
388
- case 'ended':
397
+ case "none":
398
+ case "ended":
389
399
  return 0.0;
390
400
  default:
391
- return positionState && positionState.position != undefined ? positionState.position : 0.0;
401
+ return positionState && positionState.position != undefined
402
+ ? positionState.position
403
+ : 0.0;
392
404
  }
393
405
  }
394
406
  }
395
- exports.EphemeralMediaSessionCoordinator = EphemeralMediaSessionCoordinator;
396
- //# sourceMappingURL=EphemeralMediaSessionCoordinator.js.map
407
+ exports.LiveMediaSessionCoordinator = LiveMediaSessionCoordinator;
408
+ //# sourceMappingURL=LiveMediaSessionCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSessionCoordinator.js","sourceRoot":"","sources":["../src/LiveMediaSessionCoordinator.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
- import { MediaSessionCoordinatorSuspension, CoordinationWaitPoint } from './MediaSessionExtensions';
6
- export declare class EphemeralMediaSessionCoordinatorSuspension implements MediaSessionCoordinatorSuspension {
5
+ import { MediaSessionCoordinatorSuspension, CoordinationWaitPoint } from "./MediaSessionExtensions";
6
+ export declare class LiveMediaSessionCoordinatorSuspension implements MediaSessionCoordinatorSuspension {
7
7
  private _waitPoint?;
8
8
  private _onEnd;
9
9
  constructor(waitPoint: CoordinationWaitPoint | undefined, onEnd: (seekTo?: number) => void);
@@ -17,4 +17,4 @@ export declare class EphemeralMediaSessionCoordinatorSuspension implements Media
17
17
  */
18
18
  end(seekTo?: number): void;
19
19
  }
20
- //# sourceMappingURL=EphemeralMediaSessionCoordinatorSuspension.d.ts.map
20
+ //# sourceMappingURL=LiveMediaSessionCoordinatorSuspension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSessionCoordinatorSuspension.d.ts","sourceRoot":"","sources":["../src/LiveMediaSessionCoordinatorSuspension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,iCAAiC,EACjC,qBAAqB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qBAAa,qCACT,YAAW,iCAAiC;IAE5C,OAAO,CAAC,UAAU,CAAC,CAAwB;IAC3C,OAAO,CAAC,MAAM,CAA4B;gBAGtC,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI;IAMpC;;OAEG;IACH,IAAW,SAAS,IAAI,qBAAqB,GAAG,SAAS,CAExD;IAED;;;OAGG;IACI,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAGpC"}
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Microsoft Live Share SDK License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.EphemeralMediaSessionCoordinatorSuspension = void 0;
8
- class EphemeralMediaSessionCoordinatorSuspension {
7
+ exports.LiveMediaSessionCoordinatorSuspension = void 0;
8
+ class LiveMediaSessionCoordinatorSuspension {
9
9
  constructor(waitPoint, onEnd) {
10
10
  this._waitPoint = waitPoint;
11
11
  this._onEnd = onEnd;
@@ -24,5 +24,5 @@ class EphemeralMediaSessionCoordinatorSuspension {
24
24
  this._onEnd(seekTo);
25
25
  }
26
26
  }
27
- exports.EphemeralMediaSessionCoordinatorSuspension = EphemeralMediaSessionCoordinatorSuspension;
28
- //# sourceMappingURL=EphemeralMediaSessionCoordinatorSuspension.js.map
27
+ exports.LiveMediaSessionCoordinatorSuspension = LiveMediaSessionCoordinatorSuspension;
28
+ //# sourceMappingURL=LiveMediaSessionCoordinatorSuspension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveMediaSessionCoordinatorSuspension.js","sourceRoot":"","sources":["../src/LiveMediaSessionCoordinatorSuspension.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAOH,MAAa,qCAAqC;IAM9C,YACI,SAA4C,EAC5C,KAAgC;QAEhC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,MAAe;QACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACJ;AA5BD,sFA4BC"}
@@ -1,14 +1,14 @@
1
+ /// <reference types="node" />
1
2
  /**
2
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
4
  * Licensed under the Microsoft Live Share SDK License.
4
5
  */
5
- /// <reference types="node" />
6
- import { IEvent } from '@microsoft/live-share';
7
- import EventEmitter from 'events';
8
- import { ExtendedMediaMetadata, CoordinationWaitPoint, ExtendedMediaSessionActionDetails } from './MediaSessionExtensions';
9
- import { EphemeralMediaSession } from './EphemeralMediaSession';
10
- import { VolumeLimiter } from './VolumeLimiter';
11
- import { IMediaPlayer } from './IMediaPlayer';
6
+ import { IEvent } from "@microsoft/live-share";
7
+ import EventEmitter from "events";
8
+ import { ExtendedMediaMetadata, CoordinationWaitPoint, ExtendedMediaSessionActionDetails } from "./MediaSessionExtensions";
9
+ import { VolumeManager } from "./VolumeManager";
10
+ import { LiveMediaSession } from "./LiveMediaSession";
11
+ import { IMediaPlayer } from "./IMediaPlayer";
12
12
  /**
13
13
  * Event data returned by `MediaPlayerSynchronizer` object.
14
14
  */
@@ -48,7 +48,7 @@ export declare class MediaPlayerSynchronizer extends EventEmitter {
48
48
  private _logger;
49
49
  private _player;
50
50
  private _mediaSession;
51
- private _volumeLimiter;
51
+ private _volumeManager;
52
52
  private _onEnd?;
53
53
  private _onPlayerEvent;
54
54
  private _seekSuspension?;
@@ -61,7 +61,7 @@ export declare class MediaPlayerSynchronizer extends EventEmitter {
61
61
  * @param mediaSession Group MediaSession object being used.
62
62
  * @param onEnd Optional. Function to call when synchronizers `end()` method is called.
63
63
  */
64
- constructor(player: IMediaPlayer, mediaSession: EphemeralMediaSession, onEnd: () => void);
64
+ constructor(player: IMediaPlayer, mediaSession: LiveMediaSession, onEnd: () => void);
65
65
  /**
66
66
  * Media player being synchronized.
67
67
  */
@@ -69,7 +69,7 @@ export declare class MediaPlayerSynchronizer extends EventEmitter {
69
69
  /**
70
70
  * Synchronizers media session.
71
71
  */
72
- get mediaSession(): EphemeralMediaSession;
72
+ get mediaSession(): LiveMediaSession;
73
73
  /**
74
74
  * If true the client is in a view only mode.
75
75
  *
@@ -85,7 +85,7 @@ export declare class MediaPlayerSynchronizer extends EventEmitter {
85
85
  /**
86
86
  * Volume limiter used to temporarily reduce the videos volume when someone speaks in a meeting.
87
87
  */
88
- get volumeLimiter(): VolumeLimiter;
88
+ get volumeManager(): VolumeManager;
89
89
  /**
90
90
  * Registers a new event listener.
91
91
  * @param event Name of the event to add.
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAA4B,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAiE,qBAAqB,EAAE,qBAAqB,EAAE,iCAAiC,EAAoE,MAAM,0BAA0B,CAAC;AAC5P,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM;IACzD;;OAEG;IACH,OAAO,EAAE,iCAAiC,CAAC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0G;IACxI,OAAO,CAAC,MAAM,CAAC,aAAa,CAAoG;IAEhI,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAoC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAA6C;IAC3E,OAAO,CAAC,UAAU,CAAqB;IAEvC;;;;;OAKG;gBACS,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,IAAI;IA2JxF;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,qBAAqB,CAE/C;IAED;;;;;;;;;OASG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAMjC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK3H;;;;OAIG;IACI,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI;IAK9H;;OAEG;IACI,GAAG,IAAI,IAAI;IAqBlB;;;;;;;;OAQG;IACI,SAAS,IAAI,IAAI;IASxB;;;OAGG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBpC;;;;;;OAMG;IACI,IAAI,IAAI,IAAI;IAQnB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAQpB;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYjC;;;;;;OAMG;IACI,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAOzF;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAQ5C,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;YAQZ,aAAa;CAG9B"}
1
+ {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAuB,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGH,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EAGpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM;IACzD;;OAEG;IACH,OAAO,EAAE,iCAAiC,CAAC;IAC3C;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,sBAAsB,2BAA2B;IACjD,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,eAAe,CAQ5B;IACF,OAAO,CAAC,MAAM,CAAC,aAAa,CAQ1B;IAEF,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAoC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAA6C;IAC3E,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;gBAEC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,MAAM,IAAI;IAiPrB;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,gBAAgB,CAE1C;IAED;;;;;;;;;OASG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAMjC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;;;OAIG;IACI,gBAAgB,CACnB,KAAK,EAAE,6BAA6B,EACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GACvD,IAAI;IAKP;;;;OAIG;IACI,mBAAmB,CACtB,KAAK,EAAE,6BAA6B,EACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,GACvD,IAAI;IAKP;;OAEG;IACI,GAAG,IAAI,IAAI;IAwBlB;;;;;;;;OAQG;IACI,SAAS,IAAI,IAAI;IAaxB;;;OAGG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA2BpC;;;;;;OAMG;IACI,IAAI,IAAI,IAAI;IAUnB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAUpB;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBjC;;;;;;OAMG;IACI,QAAQ,CACX,KAAK,EAAE,qBAAqB,EAC5B,UAAU,CAAC,EAAE,qBAAqB,EAAE,GACrC,IAAI;IASP;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;YAqBZ,aAAa;CAG9B"}