@microsoft/live-share-media 1.0.0-preview.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/LICENSE +64 -61
  2. package/README.md +7 -13
  3. package/bin/IMediaPlayer.d.ts +20 -20
  4. package/bin/IMediaPlayer.js +6 -6
  5. package/bin/LiveMediaSession.d.ts +90 -94
  6. package/bin/LiveMediaSession.d.ts.map +1 -1
  7. package/bin/LiveMediaSession.js +228 -231
  8. package/bin/LiveMediaSession.js.map +1 -1
  9. package/bin/LiveMediaSessionCoordinator.d.ts +238 -227
  10. package/bin/LiveMediaSessionCoordinator.d.ts.map +1 -1
  11. package/bin/LiveMediaSessionCoordinator.js +476 -407
  12. package/bin/LiveMediaSessionCoordinator.js.map +1 -1
  13. package/bin/LiveMediaSessionCoordinatorSuspension.d.ts +19 -19
  14. package/bin/LiveMediaSessionCoordinatorSuspension.js +27 -27
  15. package/bin/MediaPlayerSynchronizer.d.ts +174 -163
  16. package/bin/MediaPlayerSynchronizer.d.ts.map +1 -1
  17. package/bin/MediaPlayerSynchronizer.js +503 -468
  18. package/bin/MediaPlayerSynchronizer.js.map +1 -1
  19. package/bin/MediaSessionActionThrottler.d.ts +11 -11
  20. package/bin/MediaSessionActionThrottler.js +13 -13
  21. package/bin/MediaSessionExtensions.d.ts +34 -34
  22. package/bin/MediaSessionExtensions.d.ts.map +1 -1
  23. package/bin/MediaSessionExtensions.js +12 -12
  24. package/bin/RepeatedActionThrottler.d.ts +19 -19
  25. package/bin/RepeatedActionThrottler.js +62 -62
  26. package/bin/RepeatedActionThrottler.js.map +1 -1
  27. package/bin/VolumeManager.d.ts +83 -83
  28. package/bin/VolumeManager.d.ts.map +1 -1
  29. package/bin/VolumeManager.js +174 -174
  30. package/bin/VolumeManager.js.map +1 -1
  31. package/bin/index.d.ts +13 -13
  32. package/bin/index.js +29 -29
  33. package/bin/internals/GroupCoordinatorState.d.ts +93 -92
  34. package/bin/internals/GroupCoordinatorState.d.ts.map +1 -1
  35. package/bin/internals/GroupCoordinatorState.js +407 -404
  36. package/bin/internals/GroupCoordinatorState.js.map +1 -1
  37. package/bin/internals/GroupPlaybackPosition.d.ts +67 -66
  38. package/bin/internals/GroupPlaybackPosition.d.ts.map +1 -1
  39. package/bin/internals/GroupPlaybackPosition.js +165 -166
  40. package/bin/internals/GroupPlaybackPosition.js.map +1 -1
  41. package/bin/internals/GroupPlaybackTrack.d.ts +45 -45
  42. package/bin/internals/GroupPlaybackTrack.d.ts.map +1 -1
  43. package/bin/internals/GroupPlaybackTrack.js +121 -121
  44. package/bin/internals/GroupPlaybackTrackData.d.ts +39 -39
  45. package/bin/internals/GroupPlaybackTrackData.d.ts.map +1 -1
  46. package/bin/internals/GroupPlaybackTrackData.js +69 -69
  47. package/bin/internals/GroupTransportState.d.ts +49 -48
  48. package/bin/internals/GroupTransportState.d.ts.map +1 -1
  49. package/bin/internals/GroupTransportState.js +111 -111
  50. package/bin/internals/GroupTransportState.js.map +1 -1
  51. package/bin/internals/consts.d.ts +75 -72
  52. package/bin/internals/consts.d.ts.map +1 -1
  53. package/bin/internals/consts.js +84 -81
  54. package/bin/internals/consts.js.map +1 -1
  55. package/bin/internals/index.d.ts +10 -10
  56. package/bin/internals/index.js +26 -26
  57. package/package.json +16 -9
  58. package/src/LiveMediaSession.ts +24 -20
  59. package/src/LiveMediaSessionCoordinator.ts +101 -29
  60. package/src/MediaPlayerSynchronizer.ts +47 -15
  61. package/src/VolumeManager.ts +4 -1
  62. package/src/internals/GroupCoordinatorState.ts +50 -35
  63. package/src/internals/GroupPlaybackPosition.ts +8 -7
  64. package/src/internals/GroupPlaybackTrack.ts +2 -2
  65. package/src/internals/GroupPlaybackTrackData.ts +2 -2
  66. package/src/internals/GroupTransportState.ts +11 -4
  67. package/src/internals/consts.ts +4 -0
  68. package/typedoc.json +10 -0
  69. package/bin/EphemeralMediaSession.d.ts +0 -102
  70. package/bin/EphemeralMediaSession.d.ts.map +0 -1
  71. package/bin/EphemeralMediaSession.js +0 -226
  72. package/bin/EphemeralMediaSession.js.map +0 -1
  73. package/bin/EphemeralMediaSessionCoordinator.d.ts +0 -228
  74. package/bin/EphemeralMediaSessionCoordinator.d.ts.map +0 -1
  75. package/bin/EphemeralMediaSessionCoordinator.js +0 -396
  76. package/bin/EphemeralMediaSessionCoordinator.js.map +0 -1
  77. package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts +0 -20
  78. package/bin/EphemeralMediaSessionCoordinatorSuspension.d.ts.map +0 -1
  79. package/bin/EphemeralMediaSessionCoordinatorSuspension.js +0 -28
  80. package/bin/EphemeralMediaSessionCoordinatorSuspension.js.map +0 -1
  81. package/bin/VolumeLimiter.d.ts +0 -70
  82. package/bin/VolumeLimiter.d.ts.map +0 -1
  83. package/bin/VolumeLimiter.js +0 -170
  84. package/bin/VolumeLimiter.js.map +0 -1
  85. package/src/test/GroupPlaybackPosition.spec.ts +0 -600
  86. package/src/test/GroupPlaybackTrack.spec.ts +0 -122
  87. package/src/test/SharedMediaSession.spec.ts +0 -149
  88. package/src/test/SharedMediaSessionCoordinator.spec.ts +0 -271
  89. package/src/test/VolumeManager.spec.ts +0 -219
@@ -1,82 +1,85 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the Microsoft Live Share SDK License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TelemetryEvents = void 0;
8
- /**
9
- * @hidden
10
- * List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
11
- * the telemetry service.
12
- */
13
- exports.TelemetryEvents = {
14
- MediaPlayerSynchronizer: {
15
- SynchronizationStarted: "MediaPlayerSynchronizer:SynchronizationStarted",
16
- PlayerEvent: "MediaPlayerSynchronizer:PlayerEvent",
17
- PlayAction: "MediaPlayerSynchronizer:PlayAction",
18
- PauseAction: "MediaPlayerSynchronizer:PauseAction",
19
- SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
20
- CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
21
- SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
22
- DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
23
- UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
24
- PlaybackRateChangeBlocked: "MediaPlayerSynchronizer:PlaybackRateChangeBlocked",
25
- PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
26
- SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
27
- BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
28
- EndSeekCalled: "MediaPlayerSynchronizer:EndSeekCalled",
29
- PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
30
- PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
31
- SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
32
- SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
33
- SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
34
- },
35
- MediaSession: {
36
- PlayAction: transmit("MediaSession:PlayAction"),
37
- PauseAction: transmit("MediaSession:PauseAction"),
38
- SeekToAction: transmit("MediaSession:SeekToAction"),
39
- CatchUpAction: transmit("MediaSession:CatchUpAction"),
40
- SetTrackAction: transmit("MediaSession:SetTrackAction"),
41
- DataChangeAction: "MediaSession:DataChangeAction",
42
- BeginPositionUpdateTimer: "MediaSession:BeginPositionUpdateTimer",
43
- },
44
- SessionCoordinator: {
45
- PlayCalled: transmit("SessionCoordinator:PlayCalled"),
46
- PauseCalled: transmit("SessionCoordinator:PauseCalled"),
47
- SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
48
- SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
49
- SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
50
- BeginSuspension: "SessionCoordinator:BeginSuspension",
51
- BeginSuspensionAndWait: transmit("SessionCoordinator:BeginSuspensionAndWait"),
52
- EndSuspension: "SessionCoordinator:EndSuspension",
53
- EndSuspensionAndWait: transmit("SessionCoordinator:EndSuspensionAndWait"),
54
- RemoteJoinReceived: "SessionCoordinator:RemoteJoinReceived",
55
- RemoteSetTrackReceived: transmit("SessionCoordinator:RemoteSetTrackReceived"),
56
- RemoteSetTrackDataReceived: transmit("SessionCoordinator:RemoteSetTrackDataReceived"),
57
- RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
58
- RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
59
- RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
60
- },
61
- GroupCoordinator: {
62
- TrackChanged: "GroupCoordinator:TrackChanged",
63
- TrackChangeDelayed: "GroupCoordinator:TrackChangeDelayed",
64
- TrackDataChanged: "GroupCoordinator:TrackDataChanged",
65
- TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
66
- TransportStateChanged: "GroupCoordinator:TransportStateChanged",
67
- TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
68
- BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
69
- CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
70
- TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
71
- TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
72
- TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
73
- PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
74
- },
75
- };
76
- /**
77
- * @hidden
78
- */
79
- function transmit(eventName) {
80
- return `${eventName}#transmit`;
81
- }
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TelemetryEvents = void 0;
8
+ /**
9
+ * @hidden
10
+ * List of telemetry events. Wrap with a call to transmit() if the event should be transmitted to
11
+ * the telemetry service.
12
+ */
13
+ exports.TelemetryEvents = {
14
+ MediaPlayerSynchronizer: {
15
+ SynchronizationStarted: "MediaPlayerSynchronizer:SynchronizationStarted",
16
+ PlayerEvent: "MediaPlayerSynchronizer:PlayerEvent",
17
+ PlayAction: "MediaPlayerSynchronizer:PlayAction",
18
+ PauseAction: "MediaPlayerSynchronizer:PauseAction",
19
+ SeekToAction: "MediaPlayerSynchronizer:SeekToAction",
20
+ CatchupAction: "MediaPlayerSynchronizer:CatchupAction",
21
+ SetTrackAction: "MediaPlayerSynchronizer:SetTrackAction",
22
+ DataChangeAction: "MediaPlayerSynchronizer:DataChangeAction",
23
+ UserTappedVideoToPlay: transmit("MediaPlayerSynchronizer:UserTappedVideoToPlay"),
24
+ UserTappedVideoToPlayError: "MediaPlayerSynchronizer:UserTappedVideoToPlayError",
25
+ PlaybackRateChangeBlocked: "MediaPlayerSynchronizer:PlaybackRateChangeBlocked",
26
+ PlayerBlockedOperation: transmit("MediaPlayerSynchronizer:PlayerBlockedOperation"),
27
+ SeekingPlayerToStartPosition: "MediaPlayerSynchronizer:SeekingPlayerToStartPosition",
28
+ BeginSeekCalled: "MediaPlayerSynchronizer:BeginSeekCalled",
29
+ EndSeekCalled: "MediaPlayerSynchronizer:EndSeekCalled",
30
+ PlayCalled: "MediaPlayerSynchronizer:PlayCalled",
31
+ PauseCalled: "MediaPlayerSynchronizer:PauseCalled",
32
+ SeekToCalled: "MediaPlayerSynchronizer:SeekToCalled",
33
+ SetTrackCalled: "MediaPlayerSynchronizer:SetTrackCalled",
34
+ SetTrackDataCalled: "MediaPlayerSynchronizer:SetTrackDataCalled",
35
+ },
36
+ MediaSession: {
37
+ PlayAction: transmit("MediaSession:PlayAction"),
38
+ PauseAction: transmit("MediaSession:PauseAction"),
39
+ SeekToAction: transmit("MediaSession:SeekToAction"),
40
+ CatchUpAction: transmit("MediaSession:CatchUpAction"),
41
+ SetTrackAction: transmit("MediaSession:SetTrackAction"),
42
+ DataChangeAction: "MediaSession:DataChangeAction",
43
+ BeginPositionUpdateTimer: "MediaSession:BeginPositionUpdateTimer",
44
+ },
45
+ SessionCoordinator: {
46
+ PlayCalled: transmit("SessionCoordinator:PlayCalled"),
47
+ PauseCalled: transmit("SessionCoordinator:PauseCalled"),
48
+ SeekToCalled: transmit("SessionCoordinator:SeekToCalled"),
49
+ SetTrackCalled: transmit("SessionCoordinator:SetTrackCalled"),
50
+ SetTrackDataCalled: "SessionCoordinator:SetTrackDataCalled",
51
+ BeginSuspension: "SessionCoordinator:BeginSuspension",
52
+ BeginSuspensionAndWait: transmit("SessionCoordinator:BeginSuspensionAndWait"),
53
+ EndSuspension: "SessionCoordinator:EndSuspension",
54
+ EndSuspensionAndWait: transmit("SessionCoordinator:EndSuspensionAndWait"),
55
+ RemoteJoinReceived: "SessionCoordinator:RemoteJoinReceived",
56
+ RemoteSetTrackReceived: transmit("SessionCoordinator:RemoteSetTrackReceived"),
57
+ RemoteSetTrackDataReceived: transmit("SessionCoordinator:RemoteSetTrackDataReceived"),
58
+ RemotePlayReceived: transmit("SessionCoordinator:RemotePlayReceived"),
59
+ RemotePauseReceived: transmit("SessionCoordinator:RemotePauseReceived"),
60
+ RemoteSeekToReceived: transmit("SessionCoordinator:RemoteSeekToReceived"),
61
+ PositionUpdateEventError: "SessionCoordinator:PositionUpdateEventError",
62
+ SendJoinedEventError: "SessionCoordinator:SendJoinedEventError",
63
+ },
64
+ GroupCoordinator: {
65
+ TrackChanged: "GroupCoordinator:TrackChanged",
66
+ TrackChangeDelayed: "GroupCoordinator:TrackChangeDelayed",
67
+ TrackDataChanged: "GroupCoordinator:TrackDataChanged",
68
+ TrackDataChangeDelayed: "GroupCoordinator:TrackDataChangeDelayed",
69
+ TransportStateChanged: "GroupCoordinator:TransportStateChanged",
70
+ TransportStateChangeDelayed: "GroupCoordinator:TransportStateChangeDelayed",
71
+ BeginSoftSuspension: "GroupCoordinator:BeginSoftSuspension",
72
+ CheckingForSyncIssues: "GroupCoordinator:CheckingForSyncIssues",
73
+ TrackOutOfSync: transmit("GroupCoordinator:TrackOutOfSync"),
74
+ TrackDataOutOfSync: transmit("GroupCoordinator:TrackDataOutOfSync"),
75
+ TransportOutOfSync: transmit("GroupCoordinator:TransportOutOfSync"),
76
+ PositionOutOfSync: transmit("GroupCoordinator:PositionOutOfSync"),
77
+ },
78
+ };
79
+ /**
80
+ * @hidden
81
+ */
82
+ function transmit(eventName) {
83
+ return `${eventName}#transmit`;
84
+ }
82
85
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC3B,uBAAuB,EAAE;QACrB,sBAAsB,EAClB,gDAAgD;QACpD,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,aAAa,EAAE,uCAAuC;QACtD,cAAc,EAAE,wCAAwC;QACxD,gBAAgB,EAAE,0CAA0C;QAC5D,qBAAqB,EAAE,QAAQ,CAC3B,+CAA+C,CAClD;QACD,yBAAyB,EACrB,mDAAmD;QACvD,sBAAsB,EAAE,QAAQ,CAC5B,gDAAgD,CACnD;QACD,4BAA4B,EACxB,sDAAsD;QAC1D,eAAe,EAAE,yCAAyC;QAC1D,aAAa,EAAE,uCAAuC;QACtD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,cAAc,EAAE,wCAAwC;QACxD,kBAAkB,EAAE,4CAA4C;KACnE;IACD,YAAY,EAAE;QACV,UAAU,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;QACjD,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,4BAA4B,CAAC;QACrD,cAAc,EAAE,QAAQ,CAAC,6BAA6B,CAAC;QACvD,gBAAgB,EAAE,+BAA+B;QACjD,wBAAwB,EAAE,uCAAuC;KACpE;IACD,kBAAkB,EAAE;QAChB,UAAU,EAAE,QAAQ,CAAC,+BAA+B,CAAC;QACrD,WAAW,EAAE,QAAQ,CAAC,gCAAgC,CAAC;QACvD,YAAY,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QACzD,cAAc,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QAC7D,kBAAkB,EAAE,uCAAuC;QAC3D,eAAe,EAAE,oCAAoC;QACrD,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,aAAa,EAAE,kCAAkC;QACjD,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,kBAAkB,EAAE,uCAAuC;QAC3D,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,0BAA0B,EAAE,QAAQ,CAChC,+CAA+C,CAClD;QACD,kBAAkB,EAAE,QAAQ,CAAC,uCAAuC,CAAC;QACrE,mBAAmB,EAAE,QAAQ,CAAC,wCAAwC,CAAC;QACvE,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;KACJ;IACD,gBAAgB,EAAE;QACd,YAAY,EAAE,+BAA+B;QAC7C,kBAAkB,EAAE,qCAAqC;QACzD,gBAAgB,EAAE,mCAAmC;QACrD,sBAAsB,EAAE,yCAAyC;QACjE,qBAAqB,EAAE,wCAAwC;QAC/D,2BAA2B,EACvB,8CAA8C;QAClD,mBAAmB,EAAE,sCAAsC;QAC3D,qBAAqB,EAAE,wCAAwC;QAC/D,cAAc,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QAC3D,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,iBAAiB,EAAE,QAAQ,CAAC,oCAAoC,CAAC;KACpE;CACJ,CAAC;AAEF;;GAEG;AACH,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,GAAG,SAAS,WAAW,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/internals/consts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC3B,uBAAuB,EAAE;QACrB,sBAAsB,EAClB,gDAAgD;QACpD,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,aAAa,EAAE,uCAAuC;QACtD,cAAc,EAAE,wCAAwC;QACxD,gBAAgB,EAAE,0CAA0C;QAC5D,qBAAqB,EAAE,QAAQ,CAC3B,+CAA+C,CAClD;QACD,0BAA0B,EACtB,oDAAoD;QACxD,yBAAyB,EACrB,mDAAmD;QACvD,sBAAsB,EAAE,QAAQ,CAC5B,gDAAgD,CACnD;QACD,4BAA4B,EACxB,sDAAsD;QAC1D,eAAe,EAAE,yCAAyC;QAC1D,aAAa,EAAE,uCAAuC;QACtD,UAAU,EAAE,oCAAoC;QAChD,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE,sCAAsC;QACpD,cAAc,EAAE,wCAAwC;QACxD,kBAAkB,EAAE,4CAA4C;KACnE;IACD,YAAY,EAAE;QACV,UAAU,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,0BAA0B,CAAC;QACjD,YAAY,EAAE,QAAQ,CAAC,2BAA2B,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,4BAA4B,CAAC;QACrD,cAAc,EAAE,QAAQ,CAAC,6BAA6B,CAAC;QACvD,gBAAgB,EAAE,+BAA+B;QACjD,wBAAwB,EAAE,uCAAuC;KACpE;IACD,kBAAkB,EAAE;QAChB,UAAU,EAAE,QAAQ,CAAC,+BAA+B,CAAC;QACrD,WAAW,EAAE,QAAQ,CAAC,gCAAgC,CAAC;QACvD,YAAY,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QACzD,cAAc,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QAC7D,kBAAkB,EAAE,uCAAuC;QAC3D,eAAe,EAAE,oCAAoC;QACrD,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,aAAa,EAAE,kCAAkC;QACjD,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,kBAAkB,EAAE,uCAAuC;QAC3D,sBAAsB,EAAE,QAAQ,CAC5B,2CAA2C,CAC9C;QACD,0BAA0B,EAAE,QAAQ,CAChC,+CAA+C,CAClD;QACD,kBAAkB,EAAE,QAAQ,CAAC,uCAAuC,CAAC;QACrE,mBAAmB,EAAE,QAAQ,CAAC,wCAAwC,CAAC;QACvE,oBAAoB,EAAE,QAAQ,CAC1B,yCAAyC,CAC5C;QACD,wBAAwB,EAAE,6CAA6C;QACvE,oBAAoB,EAAE,yCAAyC;KAClE;IACD,gBAAgB,EAAE;QACd,YAAY,EAAE,+BAA+B;QAC7C,kBAAkB,EAAE,qCAAqC;QACzD,gBAAgB,EAAE,mCAAmC;QACrD,sBAAsB,EAAE,yCAAyC;QACjE,qBAAqB,EAAE,wCAAwC;QAC/D,2BAA2B,EACvB,8CAA8C;QAClD,mBAAmB,EAAE,sCAAsC;QAC3D,qBAAqB,EAAE,wCAAwC;QAC/D,cAAc,EAAE,QAAQ,CAAC,iCAAiC,CAAC;QAC3D,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,kBAAkB,EAAE,QAAQ,CAAC,qCAAqC,CAAC;QACnE,iBAAiB,EAAE,QAAQ,CAAC,oCAAoC,CAAC;KACpE;CACJ,CAAC;AAEF;;GAEG;AACH,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,GAAG,SAAS,WAAW,CAAC;AACnC,CAAC"}
@@ -1,11 +1,11 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the Microsoft Live Share SDK License.
4
- */
5
- export * from "./consts";
6
- export * from "./GroupCoordinatorState";
7
- export * from "./GroupPlaybackPosition";
8
- export * from "./GroupPlaybackTrack";
9
- export * from "./GroupPlaybackTrackData";
10
- export * from "./GroupTransportState";
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the Microsoft Live Share SDK License.
4
+ */
5
+ export * from "./consts";
6
+ export * from "./GroupCoordinatorState";
7
+ export * from "./GroupPlaybackPosition";
8
+ export * from "./GroupPlaybackTrack";
9
+ export * from "./GroupPlaybackTrackData";
10
+ export * from "./GroupTransportState";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1,27 +1,27 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the Microsoft Live Share SDK License.
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- __exportStar(require("./consts"), exports);
22
- __exportStar(require("./GroupCoordinatorState"), exports);
23
- __exportStar(require("./GroupPlaybackPosition"), exports);
24
- __exportStar(require("./GroupPlaybackTrack"), exports);
25
- __exportStar(require("./GroupPlaybackTrackData"), exports);
26
- __exportStar(require("./GroupTransportState"), exports);
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the Microsoft Live Share SDK License.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ __exportStar(require("./consts"), exports);
22
+ __exportStar(require("./GroupCoordinatorState"), exports);
23
+ __exportStar(require("./GroupPlaybackPosition"), exports);
24
+ __exportStar(require("./GroupPlaybackTrack"), exports);
25
+ __exportStar(require("./GroupPlaybackTrackData"), exports);
26
+ __exportStar(require("./GroupTransportState"), exports);
27
27
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/live-share-media",
3
- "version": "1.0.0-preview.9",
3
+ "version": "1.0.1",
4
4
  "description": "Live Share classes that synchronize media playback across clients.",
5
5
  "author": "Microsoft",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -9,22 +9,29 @@
9
9
  "scripts": {
10
10
  "clean": "npx shx rm -rf bin",
11
11
  "build": "tsc -p tsconfig.build.json",
12
- "test": "ts-mocha src/**/*.spec.ts --timeout 10000",
12
+ "test": "ts-mocha --config ./src/test/.mocharc.js src/**/*.spec.ts --timeout 10000",
13
13
  "test:debug": "ts-mocha src/**/*.spec.ts --inspect-brk",
14
- "test:coverage": "nyc --reporter=html --reporter=text --reporter=text-summary npm test"
15
- },
16
- "dependencies": {
17
- "@microsoft/live-share": "1.0.0-preview.9",
18
- "fluid-framework": "~1.2.3"
14
+ "test:coverage": "nyc --reporter=html --reporter=text --reporter=text-summary npm test",
15
+ "test:race": "node ./../live-share/test-for-race-conditions.js"
19
16
  },
20
17
  "devDependencies": {
18
+ "@microsoft/live-share": "1.0.1",
19
+ "@fluidframework/test-client-utils": "^1.3.6",
20
+ "@fluidframework/test-runtime-utils": "^1.3.6",
21
+ "@fluidframework/test-utils": "^1.3.6",
22
+ "@fluidframework/test-version-utils": "^1.3.6",
21
23
  "@types/assert": "^1.5.6",
22
24
  "@types/mocha": "^10.0.1",
23
- "@types/node": "^18.11.18",
25
+ "@types/node": "^20.2.3",
26
+ "fluid-framework": "^1.3.6",
24
27
  "mocha": "^10.2.0",
25
28
  "nyc": "^15.1.0",
26
29
  "ts-mocha": "^10.0.0",
27
- "typescript": "^4.6.4"
30
+ "typescript": "^5.0.4"
31
+ },
32
+ "peerDependencies": {
33
+ "@microsoft/live-share": "1.0.1",
34
+ "fluid-framework": "^1.2.3"
28
35
  },
29
36
  "repository": {
30
37
  "directory": "packages/live-share-media",
@@ -3,8 +3,13 @@
3
3
  * Licensed under the Microsoft Live Share SDK License.
4
4
  */
5
5
 
6
- import { DataObject, DataObjectFactory } from "@fluidframework/aqueduct";
7
- import { DynamicObjectRegistry, LiveTelemetryLogger, UserMeetingRole } from "@microsoft/live-share";
6
+ import { DataObjectFactory } from "@fluidframework/aqueduct";
7
+ import {
8
+ DynamicObjectRegistry,
9
+ LiveDataObject,
10
+ LiveTelemetryLogger,
11
+ UserMeetingRole,
12
+ } from "@microsoft/live-share";
8
13
  import { MediaPlayerSynchronizer } from "./MediaPlayerSynchronizer";
9
14
  import { ITriggerActionEvent, TelemetryEvents } from "./internals";
10
15
  import {
@@ -23,7 +28,7 @@ import { IMediaPlayer } from "./IMediaPlayer";
23
28
  /**
24
29
  * Live fluid object that synchronizes media playback across multiple clients.
25
30
  */
26
- export class LiveMediaSession extends DataObject {
31
+ export class LiveMediaSession extends LiveDataObject {
27
32
  private _actionThrottler: MediaSessionActionThrottler =
28
33
  new RepeatedActionThrottler();
29
34
  private _logger?: LiveTelemetryLogger;
@@ -80,14 +85,6 @@ export class LiveMediaSession extends DataObject {
80
85
  return this.coordinator.isInitialized;
81
86
  }
82
87
 
83
- /**
84
- * @deprecated isInitialized should be used instead
85
- * Returns true if the object has been initialized.
86
- */
87
- public get isStarted(): boolean {
88
- return this.isInitialized;
89
- }
90
-
91
88
  /**
92
89
  * The group coordinator for the session.
93
90
  */
@@ -107,13 +104,15 @@ export class LiveMediaSession extends DataObject {
107
104
 
108
105
  /**
109
106
  * initialize the object.
110
- * @param acceptTransportChangesFrom Optional. List of roles allowed to group transport
107
+ * @param allowedRoles Optional. List of roles allowed to group transport
111
108
  * operations like play/pause/seek/setTrack.
109
+ * @returns a void promise that resolves once complete
112
110
  */
113
- public initialize(
114
- acceptTransportChangesFrom?: UserMeetingRole[]
115
- ): Promise<void> {
116
- return this.coordinator.initialize(acceptTransportChangesFrom);
111
+ public initialize(allowedRoles?: UserMeetingRole[]): Promise<void> {
112
+ if (allowedRoles) {
113
+ this._allowedRoles = allowedRoles;
114
+ }
115
+ return this.coordinator.initialize(allowedRoles);
117
116
  }
118
117
 
119
118
  /**
@@ -184,11 +183,13 @@ export class LiveMediaSession extends DataObject {
184
183
  }
185
184
 
186
185
  protected async hasInitialized(): Promise<void> {
187
- this._logger = new LiveTelemetryLogger(this.runtime);
186
+ this._logger = new LiveTelemetryLogger(this.runtime, this.liveRuntime);
188
187
 
189
188
  // Create coordinator and listen for triggered actions
190
- this._coordinator = new LiveMediaSessionCoordinator(this.runtime, () =>
191
- this.getCurrentPlayerState()
189
+ this._coordinator = new LiveMediaSessionCoordinator(
190
+ this.runtime,
191
+ this.liveRuntime,
192
+ () => this.getCurrentPlayerState()
192
193
  );
193
194
  this._coordinator.on(
194
195
  MediaSessionCoordinatorEvents.triggeraction,
@@ -302,4 +303,7 @@ export class LiveMediaSession extends DataObject {
302
303
  /**
303
304
  * Register `LiveMediaSession` as an available `LoadableObjectClass` for use in packages that support dynamic object loading, such as `@microsoft/live-share-turbo`.
304
305
  */
305
- DynamicObjectRegistry.registerObjectClass(LiveMediaSession, LiveMediaSession.TypeName);
306
+ DynamicObjectRegistry.registerObjectClass(
307
+ LiveMediaSession,
308
+ LiveMediaSession.TypeName
309
+ );