@microsoft/live-share-media 2.0.0-internal.7 → 2.0.0-internal.8

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 (150) hide show
  1. package/bin/cjs/LiveMediaSessionCoordinator.d.ts +38 -7
  2. package/bin/cjs/LiveMediaSessionCoordinator.d.ts.map +1 -1
  3. package/bin/cjs/LiveMediaSessionCoordinator.js +90 -9
  4. package/bin/cjs/LiveMediaSessionCoordinator.js.map +1 -1
  5. package/bin/cjs/internals/GroupCoordinatorState.d.ts +2 -1
  6. package/bin/cjs/internals/GroupCoordinatorState.d.ts.map +1 -1
  7. package/bin/cjs/internals/GroupCoordinatorState.js.map +1 -1
  8. package/bin/cjs/internals/GroupPlaybackPosition.d.ts +2 -2
  9. package/bin/cjs/internals/GroupPlaybackPosition.d.ts.map +1 -1
  10. package/bin/cjs/internals/GroupPlaybackPosition.js +1 -1
  11. package/bin/cjs/internals/GroupPlaybackPosition.js.map +1 -1
  12. package/bin/esm/LiveMediaSessionCoordinator.d.ts +38 -7
  13. package/bin/esm/LiveMediaSessionCoordinator.d.ts.map +1 -1
  14. package/bin/esm/LiveMediaSessionCoordinator.js +91 -10
  15. package/bin/esm/LiveMediaSessionCoordinator.js.map +1 -1
  16. package/bin/esm/internals/GroupCoordinatorState.d.ts +2 -1
  17. package/bin/esm/internals/GroupCoordinatorState.d.ts.map +1 -1
  18. package/bin/esm/internals/GroupCoordinatorState.js.map +1 -1
  19. package/bin/esm/internals/GroupPlaybackPosition.d.ts +2 -2
  20. package/bin/esm/internals/GroupPlaybackPosition.d.ts.map +1 -1
  21. package/bin/esm/internals/GroupPlaybackPosition.js +1 -1
  22. package/bin/esm/internals/GroupPlaybackPosition.js.map +1 -1
  23. package/package.json +3 -3
  24. package/src/LiveMediaSessionCoordinator.ts +96 -10
  25. package/src/internals/GroupCoordinatorState.ts +2 -1
  26. package/src/internals/GroupPlaybackPosition.ts +4 -4
  27. package/src/internals/PriorityTimeInterval.ts +76 -0
  28. package/.mocharc.cjs +0 -12
  29. package/.nycrc.json +0 -11
  30. package/bin/test/IMediaPlayer.d.ts +0 -21
  31. package/bin/test/IMediaPlayer.d.ts.map +0 -1
  32. package/bin/test/IMediaPlayer.js +0 -7
  33. package/bin/test/IMediaPlayer.js.map +0 -1
  34. package/bin/test/LiveMediaSession.d.ts +0 -97
  35. package/bin/test/LiveMediaSession.d.ts.map +0 -1
  36. package/bin/test/LiveMediaSession.js +0 -261
  37. package/bin/test/LiveMediaSession.js.map +0 -1
  38. package/bin/test/LiveMediaSessionCoordinator.d.ts +0 -296
  39. package/bin/test/LiveMediaSessionCoordinator.d.ts.map +0 -1
  40. package/bin/test/LiveMediaSessionCoordinator.js +0 -552
  41. package/bin/test/LiveMediaSessionCoordinator.js.map +0 -1
  42. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts +0 -20
  43. package/bin/test/LiveMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  44. package/bin/test/LiveMediaSessionCoordinatorSuspension.js +0 -28
  45. package/bin/test/LiveMediaSessionCoordinatorSuspension.js.map +0 -1
  46. package/bin/test/MediaPlayerSynchronizer.d.ts +0 -204
  47. package/bin/test/MediaPlayerSynchronizer.d.ts.map +0 -1
  48. package/bin/test/MediaPlayerSynchronizer.js +0 -574
  49. package/bin/test/MediaPlayerSynchronizer.js.map +0 -1
  50. package/bin/test/MediaSessionActionThrottler.d.ts +0 -12
  51. package/bin/test/MediaSessionActionThrottler.d.ts.map +0 -1
  52. package/bin/test/MediaSessionActionThrottler.js +0 -14
  53. package/bin/test/MediaSessionActionThrottler.js.map +0 -1
  54. package/bin/test/MediaSessionExtensions.d.ts +0 -177
  55. package/bin/test/MediaSessionExtensions.d.ts.map +0 -1
  56. package/bin/test/MediaSessionExtensions.js +0 -26
  57. package/bin/test/MediaSessionExtensions.js.map +0 -1
  58. package/bin/test/RepeatedActionThrottler.d.ts +0 -20
  59. package/bin/test/RepeatedActionThrottler.d.ts.map +0 -1
  60. package/bin/test/RepeatedActionThrottler.js +0 -63
  61. package/bin/test/RepeatedActionThrottler.js.map +0 -1
  62. package/bin/test/VolumeManager.d.ts +0 -84
  63. package/bin/test/VolumeManager.d.ts.map +0 -1
  64. package/bin/test/VolumeManager.js +0 -175
  65. package/bin/test/VolumeManager.js.map +0 -1
  66. package/bin/test/index.d.ts +0 -14
  67. package/bin/test/index.d.ts.map +0 -1
  68. package/bin/test/index.js +0 -30
  69. package/bin/test/index.js.map +0 -1
  70. package/bin/test/internals/GroupCoordinatorState.d.ts +0 -110
  71. package/bin/test/internals/GroupCoordinatorState.d.ts.map +0 -1
  72. package/bin/test/internals/GroupCoordinatorState.js +0 -516
  73. package/bin/test/internals/GroupCoordinatorState.js.map +0 -1
  74. package/bin/test/internals/GroupPlaybackPosition.d.ts +0 -71
  75. package/bin/test/internals/GroupPlaybackPosition.d.ts.map +0 -1
  76. package/bin/test/internals/GroupPlaybackPosition.js +0 -170
  77. package/bin/test/internals/GroupPlaybackPosition.js.map +0 -1
  78. package/bin/test/internals/GroupPlaybackRate.d.ts +0 -38
  79. package/bin/test/internals/GroupPlaybackRate.d.ts.map +0 -1
  80. package/bin/test/internals/GroupPlaybackRate.js +0 -59
  81. package/bin/test/internals/GroupPlaybackRate.js.map +0 -1
  82. package/bin/test/internals/GroupPlaybackTrack.d.ts +0 -45
  83. package/bin/test/internals/GroupPlaybackTrack.d.ts.map +0 -1
  84. package/bin/test/internals/GroupPlaybackTrack.js +0 -122
  85. package/bin/test/internals/GroupPlaybackTrack.js.map +0 -1
  86. package/bin/test/internals/GroupPlaybackTrackData.d.ts +0 -40
  87. package/bin/test/internals/GroupPlaybackTrackData.d.ts.map +0 -1
  88. package/bin/test/internals/GroupPlaybackTrackData.js +0 -70
  89. package/bin/test/internals/GroupPlaybackTrackData.js.map +0 -1
  90. package/bin/test/internals/GroupTransportState.d.ts +0 -52
  91. package/bin/test/internals/GroupTransportState.d.ts.map +0 -1
  92. package/bin/test/internals/GroupTransportState.js +0 -120
  93. package/bin/test/internals/GroupTransportState.js.map +0 -1
  94. package/bin/test/internals/PriorityTimeInterval.d.ts +0 -33
  95. package/bin/test/internals/PriorityTimeInterval.d.ts.map +0 -1
  96. package/bin/test/internals/PriorityTimeInterval.js +0 -45
  97. package/bin/test/internals/PriorityTimeInterval.js.map +0 -1
  98. package/bin/test/internals/consts.d.ts +0 -83
  99. package/bin/test/internals/consts.d.ts.map +0 -1
  100. package/bin/test/internals/consts.js +0 -92
  101. package/bin/test/internals/consts.js.map +0 -1
  102. package/bin/test/internals/errors.d.ts +0 -17
  103. package/bin/test/internals/errors.d.ts.map +0 -1
  104. package/bin/test/internals/errors.js +0 -34
  105. package/bin/test/internals/errors.js.map +0 -1
  106. package/bin/test/internals/interfaces.d.ts +0 -23
  107. package/bin/test/internals/interfaces.d.ts.map +0 -1
  108. package/bin/test/internals/interfaces.js +0 -3
  109. package/bin/test/internals/interfaces.js.map +0 -1
  110. package/bin/test/package.json +0 -1
  111. package/bin/test/test/GroupPlaybackPosition.spec.d.ts +0 -6
  112. package/bin/test/test/GroupPlaybackPosition.spec.d.ts.map +0 -1
  113. package/bin/test/test/GroupPlaybackPosition.spec.js +0 -315
  114. package/bin/test/test/GroupPlaybackPosition.spec.js.map +0 -1
  115. package/bin/test/test/GroupPlaybackRate.spec.d.ts +0 -6
  116. package/bin/test/test/GroupPlaybackRate.spec.d.ts.map +0 -1
  117. package/bin/test/test/GroupPlaybackRate.spec.js +0 -47
  118. package/bin/test/test/GroupPlaybackRate.spec.js.map +0 -1
  119. package/bin/test/test/GroupPlaybackTrack.spec.d.ts +0 -6
  120. package/bin/test/test/GroupPlaybackTrack.spec.d.ts.map +0 -1
  121. package/bin/test/test/GroupPlaybackTrack.spec.js +0 -171
  122. package/bin/test/test/GroupPlaybackTrack.spec.js.map +0 -1
  123. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts +0 -6
  124. package/bin/test/test/GroupPlaybackTrackData.spec.d.ts.map +0 -1
  125. package/bin/test/test/GroupPlaybackTrackData.spec.js +0 -63
  126. package/bin/test/test/GroupPlaybackTrackData.spec.js.map +0 -1
  127. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts +0 -6
  128. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.d.ts.map +0 -1
  129. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js +0 -324
  130. package/bin/test/test/LiveMediaSession_ManualActionHandler.spec.js.map +0 -1
  131. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts +0 -6
  132. package/bin/test/test/LiveMediaSession_Synchronizer.spec.d.ts.map +0 -1
  133. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js +0 -669
  134. package/bin/test/test/LiveMediaSession_Synchronizer.spec.js.map +0 -1
  135. package/bin/test/test/PriorityTimeInterval.spec.d.ts +0 -6
  136. package/bin/test/test/PriorityTimeInterval.spec.d.ts.map +0 -1
  137. package/bin/test/test/PriorityTimeInterval.spec.js +0 -67
  138. package/bin/test/test/PriorityTimeInterval.spec.js.map +0 -1
  139. package/bin/test/test/TestUtils.d.ts +0 -44
  140. package/bin/test/test/TestUtils.d.ts.map +0 -1
  141. package/bin/test/test/TestUtils.js +0 -116
  142. package/bin/test/test/TestUtils.js.map +0 -1
  143. package/bin/test/test/VolumeManager.spec.d.ts +0 -2
  144. package/bin/test/test/VolumeManager.spec.d.ts.map +0 -1
  145. package/bin/test/test/VolumeManager.spec.js +0 -163
  146. package/bin/test/test/VolumeManager.spec.js.map +0 -1
  147. package/nyc/junit-report.json +0 -930
  148. package/nyc/junit-report.xml +0 -59
  149. package/tsconfig.test.json +0 -9
  150. package/typedoc.json +0 -10
@@ -1,204 +0,0 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the Microsoft Live Share SDK License.
4
- */
5
- import { ILiveEvent } from "@microsoft/live-share";
6
- import { IRuntimeSignaler } from "@microsoft/live-share/internal";
7
- import { ExtendedMediaMetadata, CoordinationWaitPoint, ExtendedMediaSessionActionDetails } from "./MediaSessionExtensions.js";
8
- import { VolumeManager } from "./VolumeManager.js";
9
- import { LiveMediaSession } from "./LiveMediaSession.js";
10
- import { IMediaPlayer } from "./IMediaPlayer.js";
11
- import { TypedEventEmitter } from "@fluid-internal/client-utils";
12
- import { IEvent } from "@fluidframework/core-interfaces";
13
- /**
14
- * Event data returned by `MediaPlayerSynchronizer` object.
15
- */
16
- export interface IMediaPlayerSynchronizerEvent extends ILiveEvent {
17
- /**
18
- * Event details.
19
- */
20
- details: ExtendedMediaSessionActionDetails;
21
- /**
22
- * Action errors, including DOMException errors thrown by HTMLMediaElement
23
- */
24
- error?: Error;
25
- }
26
- /**
27
- * Events supported by `MediaPlayerSynchronizer` object.
28
- */
29
- export declare enum MediaPlayerSynchronizerEvents {
30
- /**
31
- *
32
- */
33
- coordinatorstatechange = "coordinatorstatechange",
34
- groupaction = "groupaction",
35
- useraction = "useraction"
36
- }
37
- /**
38
- * @hidden
39
- * Emitted events from the `MediaPlayerSynchronizer` class.
40
- */
41
- export interface IMediaPlayerSynchronizerEvents extends IEvent {
42
- /**
43
- * Event listener for events emitted
44
- * @param event update
45
- * @param listener listener function
46
- * @param listener.event the event instance
47
- */
48
- (event: string, listener: (event: any) => void): void;
49
- }
50
- /**
51
- * Synchronizes a local HTML Media Element with a group of remote HTML Media Elements.
52
- *
53
- * @remarks
54
- * All of an apps transport control commands should be routed through the synchronizer. If the
55
- * app is not currently joined to the group media session, the commands will be applied directly
56
- * to the local player. When the group session is joined the commands will be broadcast to the
57
- * group in addition to being applied to the local player.
58
- */
59
- export declare class MediaPlayerSynchronizer extends TypedEventEmitter<IMediaPlayerSynchronizerEvents> {
60
- private static SESSION_ACTIONS;
61
- private static PLAYER_EVENTS;
62
- private _logger;
63
- private _player;
64
- private _mediaSession;
65
- private _runtime;
66
- private _volumeManager;
67
- private _onEnd?;
68
- private _onPlayerEvent;
69
- private _seekSuspension?;
70
- private _viewOnly;
71
- private _blockUnexpectedPlayerEvents;
72
- private _expectedPlaybackState;
73
- private _expectedPlaybackRate;
74
- private _metadata;
75
- private _trackData;
76
- /**
77
- * Creates a new `MediaElementSynchronizer` instance.
78
- * @param player Media player element. This can be an HTML Media Element or any player that looks like an HTML Media Element.
79
- * @param mediaSession Group MediaSession object being used.
80
- * @param onEnd Optional. Function to call when synchronizers `end()` method is called.
81
- */
82
- constructor(player: IMediaPlayer, mediaSession: LiveMediaSession, runtime: IRuntimeSignaler, onEnd: () => void);
83
- /**
84
- * Media player being synchronized.
85
- */
86
- get player(): IMediaPlayer;
87
- /**
88
- * Synchronizers media session.
89
- */
90
- get mediaSession(): LiveMediaSession;
91
- /**
92
- * If true the client is in a view only mode.
93
- *
94
- * @remarks
95
- * Toggling this value to true results in `mediaSession.coordinator.canPlayPause`,
96
- * `mediaSession.coordinator.canSeek`, `mediaSession.coordinator.canSetTrack`,
97
- * `mediaSession.coordinator.canSetTrackData`, and `mediaSession.coordinator.canSetPlaybackRate`
98
- * all being set to false. For more fine grained control over the local clients policies,
99
- * call the `mediaSession.coordinator` directly.
100
- */
101
- get viewOnly(): boolean;
102
- set viewOnly(value: boolean);
103
- /**
104
- * @beta
105
- * If true, pause and play actions will be ignored unless explicitly invoked from the corresponding play() and pause() functions.
106
- *
107
- * @remarks
108
- * True is considered non-beta. If you set to false, this is an experimental beta behavior.
109
- * Setting it to false may cause unintended side effects, such as local buffer events sending a pause event to remote clients.
110
- * While setting this to false may prevent the need to add custom media controls for frameworks like video.js, we encourage you to be mindful of this and test thoroughly before using this setting.
111
- */
112
- get blockUnexpectedPlayerEvents(): boolean;
113
- set blockUnexpectedPlayerEvents(value: boolean);
114
- /**
115
- * Volume limiter used to temporarily reduce the videos volume when someone speaks in a meeting.
116
- */
117
- get volumeManager(): VolumeManager;
118
- /**
119
- * Registers a new event listener.
120
- * @param event Name of the event to add.
121
- * @param listener Function to call when the event is triggered.
122
- */
123
- addEventListener(event: MediaPlayerSynchronizerEvents, listener: (evt: IMediaPlayerSynchronizerEvent) => void): this;
124
- /**
125
- * Un-registers an existing event listener.
126
- * @param event Name of the event to remove.
127
- * @param listener Function that was registered in call to `addEventListener()`.
128
- */
129
- removeEventListener(event: MediaPlayerSynchronizerEvents, listener: (evt: IMediaPlayerSynchronizerEvent) => void): this;
130
- /**
131
- * Ends synchronization of the current media player.
132
- */
133
- end(): void;
134
- /**
135
- * Begin a local seek operation.
136
- *
137
- * @remarks
138
- * UI can call this when a user grabs a timeline scrubber and starts scrubbing the video to a
139
- * new playback position. The synchronizer will being a new suspension which temporarily
140
- * disconnects the client for the rest of the group for synchronization purposes. Calling
141
- * `endSeek()` will end the suspension and seek the group to the users final seek position.
142
- */
143
- beginSeek(): void;
144
- /**
145
- * Ends a seek operation that was started by calling `beginSeek()`.
146
- * @param seekTo Playback position in seconds to seek the group to.
147
- */
148
- endSeek(seekTo: number): void;
149
- /**
150
- * Tells the group to begin playing the current video.
151
- *
152
- * @remarks
153
- * For proper operation apps should avoid calling `mediaSession.coordinator.play()` directly
154
- * and instead use the synchronizers `play()` method.
155
- *
156
- * @returns a void promise that resolves once complete, throws if user does not have proper roles
157
- */
158
- play(): Promise<void>;
159
- /**
160
- * Tells the group to pause the current video.
161
- *
162
- * @remarks
163
- * For proper operation apps should avoid calling `mediaSession.coordinator.pause()` directly
164
- * and instead use the synchronizers `pause()` method.
165
- *
166
- * @returns a void promise that resolves once complete, throws if user does not have proper roles
167
- */
168
- pause(): Promise<void>;
169
- /**
170
- * Tells the group to seek the current video to a new playback position.
171
- *
172
- * @remarks
173
- * For proper operation apps should avoid calling `mediaSession.coordinator.seekTo()` directly
174
- * and instead use the synchronizers `seekTo()` method.
175
- *
176
- * @returns a void promise that resolves once complete, throws if user does not have proper roles
177
- */
178
- seekTo(time: number): Promise<void>;
179
- setPlaybackRate(playbackRate: number): Promise<void>;
180
- /**
181
- * Tells the group to change to a new track.
182
- *
183
- * @remarks
184
- * For proper operation apps should avoid calling `mediaSession.coordinator.setTrack()` directly
185
- * and instead use the synchronizers `setTrack()` method.
186
- *
187
- * @returns a void promise that resolves once complete, throws if user does not have proper roles
188
- */
189
- setTrack(track: ExtendedMediaMetadata, waitPoints?: CoordinationWaitPoint[]): Promise<void>;
190
- /**
191
- * Updates the current tracks data object.
192
- *
193
- * @remarks
194
- * For proper operation apps should avoid calling `mediaSession.coordinator.setTrackData()` directly
195
- * and instead use the synchronizers `setTrackData()` method.
196
- *
197
- * @returns a void promise that resolves once complete, throws if user does not have proper roles
198
- */
199
- setTrackData(data: object | null): Promise<void>;
200
- private dispatchGroupAction;
201
- private dispatchUserAction;
202
- private catchupPlayer;
203
- }
204
- //# sourceMappingURL=MediaPlayerSynchronizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MediaPlayerSynchronizer.d.ts","sourceRoot":"","sources":["../../src/MediaPlayerSynchronizer.ts"],"names":[],"mappings":"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"}