@livedigital/client 3.48.0 → 3.49.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 (166) hide show
  1. package/LICENSE +1 -1
  2. package/dist/constants/encodings.d.ts +3 -3
  3. package/dist/constants/encodings.ts +3 -3
  4. package/dist/engine/handlers/ChannelAudioObserverEventHandler.d.ts +3 -1
  5. package/dist/engine/handlers/ChannelAudioObserverMissingProducerRestorer.d.ts +10 -0
  6. package/dist/engine/handlers/MediaEventHandler.d.ts +0 -1
  7. package/dist/engine/index.d.ts +7 -4
  8. package/dist/engine/network/DatachannelHeartbeater.d.ts +2 -2
  9. package/dist/engine/network/NetworkTransportPolicyManager.d.ts +22 -0
  10. package/dist/engine/network/index.d.ts +10 -8
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.es.js +2 -2
  13. package/dist/index.js +2 -2
  14. package/dist/inversify.tokens.d.ts +3 -1
  15. package/dist/types/network.d.ts +6 -6
  16. package/package.json +2 -3
  17. package/src/ClientMetaProvider.ts +0 -41
  18. package/src/EnhancedEventEmitter.ts +0 -75
  19. package/src/config/ConfigService.ts +0 -66
  20. package/src/constants/common.ts +0 -85
  21. package/src/constants/encodings.ts +0 -26
  22. package/src/constants/events.ts +0 -126
  23. package/src/constants/mutex.ts +0 -6
  24. package/src/constants/stats.ts +0 -1
  25. package/src/constants/videoConstrains.ts +0 -21
  26. package/src/engine/CallState.ts +0 -19
  27. package/src/engine/ChannelStateSynchronizer/ChannelStateSynchronizer.ts +0 -448
  28. package/src/engine/ChannelStateSynchronizer/types.ts +0 -22
  29. package/src/engine/EventsQueue.ts +0 -255
  30. package/src/engine/IntegrationsService.ts +0 -163
  31. package/src/engine/LocalMutex.ts +0 -45
  32. package/src/engine/Logger.ts +0 -234
  33. package/src/engine/MyPeer.ts +0 -25
  34. package/src/engine/Peer.ts +0 -602
  35. package/src/engine/PeerConsumer.ts +0 -276
  36. package/src/engine/PeerProducer.ts +0 -50
  37. package/src/engine/Peers.ts +0 -150
  38. package/src/engine/PeersStorage.ts +0 -45
  39. package/src/engine/RemotePeerTracks.ts +0 -73
  40. package/src/engine/WIDHandler.ts +0 -166
  41. package/src/engine/WebRTCStats/ConnectionStatsManager.ts +0 -31
  42. package/src/engine/WebRTCStats/InboundTrackStatsManager.ts +0 -51
  43. package/src/engine/WebRTCStats/OutboudTrackStatsManager.ts +0 -51
  44. package/src/engine/WebRTCStats/StatsHandler.ts +0 -80
  45. package/src/engine/WebRTCStats/TransportsStatsProvider.ts +0 -123
  46. package/src/engine/WebRTCStats/types.ts +0 -20
  47. package/src/engine/analyticsApiClient/LogApi.ts +0 -24
  48. package/src/engine/analyticsApiClient/MetricsApi.ts +0 -30
  49. package/src/engine/analyticsApiClient/helper.ts +0 -88
  50. package/src/engine/analyticsApiClient/index.ts +0 -42
  51. package/src/engine/analyticsApiClient/types.ts +0 -33
  52. package/src/engine/handlers/ChannelAudioObserverEventHandler.ts +0 -177
  53. package/src/engine/handlers/ChannelEventHandler.ts +0 -268
  54. package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.ts +0 -31
  55. package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.ts +0 -146
  56. package/src/engine/handlers/ChannelStateSyncEventHandler/consts.ts +0 -7
  57. package/src/engine/handlers/ChannelStateSyncEventHandler/index.ts +0 -342
  58. package/src/engine/handlers/ChannelStateSyncEventHandler/types.ts +0 -21
  59. package/src/engine/handlers/MediaEventHandler.ts +0 -273
  60. package/src/engine/index.ts +0 -793
  61. package/src/engine/media/index.ts +0 -574
  62. package/src/engine/media/producer/PendingClosureProducerStorage.ts +0 -37
  63. package/src/engine/media/producer/ProducerCloseManager.ts +0 -115
  64. package/src/engine/media/streamEffects/ProcessorsCache.ts +0 -41
  65. package/src/engine/media/streamEffects/audio/AudioTrackProcessor.ts +0 -7
  66. package/src/engine/media/streamEffects/audio/asdk/ASDKTrackProcessor.ts +0 -275
  67. package/src/engine/media/streamEffects/audio/asdk/atsrb.d.ts +0 -36
  68. package/src/engine/media/streamEffects/audio/asdk/errorBus.d.ts +0 -47
  69. package/src/engine/media/streamEffects/audio/noiseSuppression/NoiseSuppressionAudioWorkletNode.ts +0 -35
  70. package/src/engine/media/streamEffects/audio/noiseSuppression/NoiseSuppressionNodeProvider.ts +0 -44
  71. package/src/engine/media/streamEffects/audio/noiseSuppression/NoiseSuppressionScriptProcessorNode.ts +0 -69
  72. package/src/engine/media/streamEffects/audio/noiseSuppression/RNNoiseTrackProcessor.ts +0 -134
  73. package/src/engine/media/streamEffects/audio/noiseSuppression/WasmModuleCompiler.ts +0 -9
  74. package/src/engine/media/streamEffects/video/esdk/TrackProcessor.ts +0 -386
  75. package/src/engine/media/streamEffects/video/esdk/components/component.d.ts +0 -35
  76. package/src/engine/media/streamEffects/video/esdk/components/countdown/countdown.d.ts +0 -27
  77. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/doubleSlideRect.d.ts +0 -33
  78. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/horizontalMirror.d.ts +0 -29
  79. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/leftTextbox.d.ts +0 -31
  80. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/slideBold.d.ts +0 -41
  81. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/twoSideRects/animatedBox.d.ts +0 -59
  82. package/src/engine/media/streamEffects/video/esdk/components/lower-third/collection/twoSideRects/twoSlideRects.d.ts +0 -27
  83. package/src/engine/media/streamEffects/video/esdk/components/lower-third/lowerThird.d.ts +0 -83
  84. package/src/engine/media/streamEffects/video/esdk/components/overlay-screen/overlayScreen.d.ts +0 -40
  85. package/src/engine/media/streamEffects/video/esdk/components/overlay-screen/overlaySprite.d.ts +0 -10
  86. package/src/engine/media/streamEffects/video/esdk/components/stickers/stickerSprite.d.ts +0 -51
  87. package/src/engine/media/streamEffects/video/esdk/components/stickers/stickers.d.ts +0 -54
  88. package/src/engine/media/streamEffects/video/esdk/components/utils/positionHelper.d.ts +0 -14
  89. package/src/engine/media/streamEffects/video/esdk/components/waterMark/waterMark.d.ts +0 -20
  90. package/src/engine/media/streamEffects/video/esdk/tsvb.d.ts +0 -187
  91. package/src/engine/media/streamEffects/video/esdk/utils/errorBus.d.ts +0 -42
  92. package/src/engine/media/tracks/DefaultAudioTrack.ts +0 -178
  93. package/src/engine/media/tracks/DefaultBaseTrack.ts +0 -592
  94. package/src/engine/media/tracks/DefaultVideoTrack.ts +0 -301
  95. package/src/engine/media/tracks/MediaStreamTrackManager.ts +0 -50
  96. package/src/engine/media/tracks/PeerTrack.ts +0 -558
  97. package/src/engine/network/DataChannelsManager.ts +0 -164
  98. package/src/engine/network/DatachannelHeartbeater.ts +0 -122
  99. package/src/engine/network/SignalingHeartbeater.ts +0 -55
  100. package/src/engine/network/index.ts +0 -961
  101. package/src/engine/signalingApiClient/SignalingApiClient.ts +0 -95
  102. package/src/engine/signalingApiClient/api.ts +0 -2289
  103. package/src/engine/system/index.ts +0 -221
  104. package/src/errors/AlreadyConnectedError.ts +0 -11
  105. package/src/errors/AlreadyCreatedError.ts +0 -11
  106. package/src/errors/ForbiddenError.ts +0 -11
  107. package/src/errors/InvalidPayloadError.ts +0 -11
  108. package/src/errors/InvalidRequestError.ts +0 -11
  109. package/src/errors/LivedigitalSDKError.ts +0 -15
  110. package/src/errors/NeedJoinFirstError.ts +0 -11
  111. package/src/errors/NotFoundError.ts +0 -11
  112. package/src/errors/OperationError.ts +0 -47
  113. package/src/errors/RequestError.ts +0 -11
  114. package/src/errors/TimeoutError.ts +0 -11
  115. package/src/errors/TooManyRequestsError.ts +0 -11
  116. package/src/errors/UnauthorizedError.ts +0 -11
  117. package/src/errors/UnsupportedError.ts +0 -15
  118. package/src/errors/signalingApiErrorMapper.ts +0 -143
  119. package/src/helpers/appDataValidator.ts +0 -21
  120. package/src/helpers/browser.ts +0 -37
  121. package/src/helpers/channelMessageConverter.ts +0 -124
  122. package/src/helpers/common.ts +0 -96
  123. package/src/helpers/datetime.ts +0 -11
  124. package/src/helpers/errors.ts +0 -25
  125. package/src/helpers/filterStatsCodecs.ts +0 -3
  126. package/src/helpers/loader.ts +0 -59
  127. package/src/helpers/media.ts +0 -57
  128. package/src/helpers/peer.ts +0 -19
  129. package/src/helpers/randomString.ts +0 -18
  130. package/src/helpers/retry.ts +0 -74
  131. package/src/index.ts +0 -171
  132. package/src/inversify.config.ts +0 -333
  133. package/src/inversify.factories.ts +0 -191
  134. package/src/inversify.tokens.ts +0 -42
  135. package/src/proto/.gitkeep +0 -0
  136. package/src/proto/generated/channel/channel_activity_confirmation_time.ts +0 -110
  137. package/src/proto/generated/channel/channel_management_event.ts +0 -213
  138. package/src/proto/generated/channel/channel_produce_permissions.ts +0 -171
  139. package/src/proto/generated/channel/channel_state.ts +0 -94
  140. package/src/proto/generated/channel/channel_state_short.ts +0 -282
  141. package/src/proto/generated/channel_message/channel_event.ts +0 -401
  142. package/src/proto/generated/channel_message/channel_message.ts +0 -139
  143. package/src/proto/generated/channel_message/media_event.ts +0 -290
  144. package/src/proto/generated/consumer/consumer.ts +0 -167
  145. package/src/proto/generated/google/protobuf/struct.ts +0 -588
  146. package/src/proto/generated/google/protobuf/timestamp.ts +0 -229
  147. package/src/proto/generated/peer/peer.ts +0 -430
  148. package/src/proto/generated/peer/peer_group.ts +0 -48
  149. package/src/proto/generated/peer/peer_role.ts +0 -48
  150. package/src/proto/generated/producer/producer.ts +0 -204
  151. package/src/proto/generated/producer/producer_kind.ts +0 -48
  152. package/src/proto/generated/producer/producer_label.ts +0 -78
  153. package/src/proto/generated/producer/producer_spatial_layer_request.ts +0 -116
  154. package/src/proto/generated/transport/transport_connection_timeout.ts +0 -156
  155. package/src/proto/generated/transport/transport_connection_timeout_reason.ts +0 -48
  156. package/src/proto/generated/transport/transport_direction.ts +0 -48
  157. package/src/types/channelAudioObserver.ts +0 -34
  158. package/src/types/channelStateSyncronizer.ts +0 -22
  159. package/src/types/client.ts +0 -27
  160. package/src/types/common.ts +0 -399
  161. package/src/types/container.ts +0 -31
  162. package/src/types/engine.ts +0 -97
  163. package/src/types/media.ts +0 -146
  164. package/src/types/mediasoup.ts +0 -10
  165. package/src/types/network.ts +0 -10
  166. package/src/types/streamEffects.ts +0 -23
@@ -1,122 +0,0 @@
1
- import { inject, injectable } from 'inversify';
2
- import type { types } from 'mediasoup-client';
3
- import type { Transport } from 'mediasoup-client/lib/Transport';
4
- import { serializeError } from 'serialize-error';
5
- import { FIVE_SECONDS_IN_MS } from '../../constants/common';
6
- import { TOKEN } from '../../inversify.tokens';
7
- import type { Logger } from '../../types/common';
8
- import type { LoggerFactory } from '../../types/container';
9
-
10
- @injectable()
11
- class DatachannelHeartbeater {
12
- #heartbeatIntervalId?: ReturnType<typeof setInterval>;
13
-
14
- #dataProducer?: types.DataProducer;
15
-
16
- #transport?: Transport;
17
-
18
- #dataProducerCleanups: Array<() => void> = [];
19
-
20
- readonly #logger: Logger;
21
-
22
- readonly #heartbeatPayload = new Uint8Array(0);
23
-
24
- constructor(
25
- @inject(TOKEN.LoggerFactory) loggerFactory: LoggerFactory,
26
- ) {
27
- this.#logger = loggerFactory('DatachannelHeartbeater');
28
- }
29
-
30
- init(transport: Transport, dataProducer: types.DataProducer): void {
31
- this.#transport = transport;
32
- this.#dataProducer = dataProducer;
33
- this.subscribeToDataProducerEvents(dataProducer);
34
- this.startHeartbeatInterval();
35
- }
36
-
37
- dispose(): void {
38
- this.stopHeartbeatInterval();
39
- this.cleanupDataProducerEvents();
40
- this.#dataProducer = undefined;
41
- this.#transport = undefined;
42
- }
43
-
44
- private startHeartbeatInterval(): void {
45
- if (this.#heartbeatIntervalId) {
46
- return;
47
- }
48
-
49
- this.#heartbeatIntervalId = setInterval(() => {
50
- this.sendHeartbeat();
51
- }, FIVE_SECONDS_IN_MS);
52
- this.#logger.debug('Datachannel heartbeat interval started');
53
- }
54
-
55
- private stopHeartbeatInterval(): void {
56
- if (!this.#heartbeatIntervalId) {
57
- return;
58
- }
59
-
60
- clearInterval(this.#heartbeatIntervalId);
61
- this.#heartbeatIntervalId = undefined;
62
- this.#logger.debug('Datachannel heartbeat interval stopped');
63
- }
64
-
65
- private canSendHeartbeat(): boolean {
66
- if (!this.#dataProducer || !this.#transport) {
67
- return false;
68
- }
69
-
70
- if (this.#dataProducer.closed || this.#transport.connectionState !== 'connected') {
71
- return false;
72
- }
73
-
74
- return this.#dataProducer.readyState === 'open';
75
- }
76
-
77
- private subscribeToDataProducerEvents(dataProducer: types.DataProducer): void {
78
- this.cleanupDataProducerEvents();
79
-
80
- const logState = (event: string): void => {
81
- this.#logger.debug(`Heartbeat data producer ${ event }`, {
82
- readyState: dataProducer.readyState,
83
- closed: dataProducer.closed,
84
- });
85
- };
86
-
87
- const onOpen = (): void => logState('open');
88
- const onClose = (): void => logState('close');
89
- const onTransportClose = (): void => logState('transport closed');
90
-
91
- dataProducer.on('open', onOpen);
92
- dataProducer.on('close', onClose);
93
- dataProducer.on('transportclose', onTransportClose);
94
-
95
- this.#dataProducerCleanups = [
96
- () => dataProducer.off('open', onOpen),
97
- () => dataProducer.off('close', onClose),
98
- () => dataProducer.off('transportclose', onTransportClose),
99
- ];
100
- }
101
-
102
- private cleanupDataProducerEvents(): void {
103
- this.#dataProducerCleanups.forEach((cleanup) => cleanup());
104
- this.#dataProducerCleanups = [];
105
- }
106
-
107
- private sendHeartbeat(): void {
108
- if (!this.#dataProducer || !this.canSendHeartbeat()) {
109
- return;
110
- }
111
-
112
- try {
113
- this.#dataProducer.send(this.#heartbeatPayload);
114
- } catch (error) {
115
- this.#logger.debug('Failed to send datachannel heartbeat', {
116
- error: serializeError(error),
117
- });
118
- }
119
- }
120
- }
121
-
122
- export default DatachannelHeartbeater;
@@ -1,55 +0,0 @@
1
- import { inject, injectable } from 'inversify';
2
- import { serializeError } from 'serialize-error';
3
- import { FIFTEEN_SECONDS_IN_MS } from '../../constants/common';
4
- import { TOKEN } from '../../inversify.tokens';
5
- import type { Logger } from '../../types/common';
6
- import type { LoggerFactory } from '../../types/container';
7
- import SignalingApiClient from '../signalingApiClient/SignalingApiClient';
8
-
9
- @injectable()
10
- class SignalingHeartbeater {
11
- #heartbeatIntervalId?: ReturnType<typeof setInterval>;
12
-
13
- readonly #logger: Logger;
14
-
15
- constructor(
16
- @inject(TOKEN.LoggerFactory) loggerFactory: LoggerFactory,
17
- @inject(TOKEN.SignalingApiClient) private readonly signalingApiClient: SignalingApiClient,
18
- ) {
19
- this.#logger = loggerFactory('SignalingHeartbeater');
20
- }
21
-
22
- start(): void {
23
- if (this.#heartbeatIntervalId) {
24
- return;
25
- }
26
-
27
- this.#heartbeatIntervalId = setInterval(async () => {
28
- await this.sendHeartbeat();
29
- }, FIFTEEN_SECONDS_IN_MS);
30
-
31
- this.#logger.debug('Signaling heartbeat interval started');
32
- }
33
-
34
- dispose(): void {
35
- if (!this.#heartbeatIntervalId) {
36
- return;
37
- }
38
-
39
- clearInterval(this.#heartbeatIntervalId);
40
- this.#heartbeatIntervalId = undefined;
41
- this.#logger.debug('Signaling heartbeat interval stopped');
42
- }
43
-
44
- private async sendHeartbeat(): Promise<void> {
45
- try {
46
- await this.signalingApiClient.ping.pingPeer();
47
- } catch (error) {
48
- this.#logger.debug('Failed to send signaling heartbeat', {
49
- error: serializeError(error),
50
- });
51
- }
52
- }
53
- }
54
-
55
- export default SignalingHeartbeater;