@livedigital/client 3.58.0-release-june-fixes.6 → 3.58.0

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.
package/dist/Client.d.ts CHANGED
@@ -91,14 +91,13 @@ declare class Client {
91
91
  get scoresCalculator(): ScoresCalculator;
92
92
  /**
93
93
  * Обнаруживает доступные устройства ввода и обновляет внутренний список камер и микрофонов.
94
- * Возвращает раздельные ошибки по определению устройств.
94
+ *
95
95
  * @param force Принудительно запрашивает повторное определение устройств, даже если список уже известен.
96
96
  * @group Устройства
97
97
  * @example
98
98
  * ```ts
99
- * const { video, audio, availability } = await client.detectDevices();
99
+ * const { video, audio } = await client.detectDevices();
100
100
  * // video и audio — массивы MediaDeviceInfo
101
- * // availability — статус доступности video и audio
102
101
  * const camera = video[0];
103
102
  * const mic = audio.find(d => d.label.includes('встроенный'));
104
103
  * ```
@@ -239,12 +238,6 @@ declare class Client {
239
238
  * @group Диагностика
240
239
  */
241
240
  getPreferRelay(): boolean;
242
- /**
243
- * Показывает, действует ли сейчас принудительный relay-режим,
244
- * включённый SDK после неуспешного подключения receive-транспорта.
245
- * @group Диагностика
246
- */
247
- isRelayEnforced(): boolean;
248
241
  /**
249
242
  * Меняет ICE transport policy для активных транспортов клиента.
250
243
  *
@@ -55,4 +55,3 @@ export declare enum HttpStatusCode {
55
55
  GatewayTimeout = 504
56
56
  }
57
57
  export declare const CHANNEL_MESSAGES_DATA_PRODUCER = "channel-messages-data-producer";
58
- export declare const sdkVersion: string;
@@ -83,4 +83,3 @@ export enum HttpStatusCode {
83
83
  }
84
84
 
85
85
  export const CHANNEL_MESSAGES_DATA_PRODUCER = 'channel-messages-data-producer';
86
- export const sdkVersion = String(process.env.SDK_VERSION);
@@ -47,7 +47,6 @@ export declare const CLIENT_EVENTS: {
47
47
  readonly effectsEnabled: "effects-enabled";
48
48
  readonly effectsDisabled: "effects-disabled";
49
49
  readonly effectsFailed: "effects-failed";
50
- readonly networkScoresUpdated: "network-scores-updated";
51
50
  };
52
51
  export declare const TRACK_EVENTS: {
53
52
  readonly volumeChanged: "volume-changed";
@@ -48,7 +48,6 @@ export const CLIENT_EVENTS = {
48
48
  effectsEnabled: 'effects-enabled',
49
49
  effectsDisabled: 'effects-disabled',
50
50
  effectsFailed: 'effects-failed',
51
- networkScoresUpdated: 'network-scores-updated',
52
51
  } as const;
53
52
 
54
53
  export const TRACK_EVENTS = {
@@ -5,7 +5,6 @@ export interface RecordMeta {
5
5
  error?: unknown;
6
6
  clientTimestamp: string;
7
7
  from_sdk: boolean;
8
- sdkVersion: string;
9
8
  case?: string;
10
9
  channelId?: string;
11
10
  applicationId?: string;
@@ -84,8 +84,6 @@ declare class Engine {
84
84
  private triggerRejoinEventIfAppropriate;
85
85
  private watchNetworkState;
86
86
  private watchDocumentUnload;
87
- private initTransports;
88
- private registerNewTransports;
89
87
  private createSendRecvTransports;
90
88
  }
91
89
  export default Engine;
@@ -40,7 +40,7 @@ declare class Media {
40
40
  createUserMediaTracks(constraints: MediaStreamConstraints): Promise<BaseTrack[]>;
41
41
  createDisplayMediaTracks(constraints: MediaStreamConstraints): Promise<BaseTrack[]>;
42
42
  createCustomMediaTrack(mediaStreamTrack: MediaStreamTrack, constraints: MediaStreamConstraints): BaseTrack;
43
- deleteTrack(track: BaseTrack, closeRemote?: boolean): Promise<void>;
43
+ deleteTrack(track: BaseTrack): Promise<void>;
44
44
  getAllTracks(): BaseTrack[];
45
45
  publishedTracks(): BaseTrack[];
46
46
  clearTracks(): void;
@@ -20,7 +20,6 @@ declare class DefaultAudioTrack extends DefaultBaseTrack implements AudioTrack {
20
20
  get isEffectsProcessing(): boolean;
21
21
  getEncoderConfig(): AudioEncoderConfig;
22
22
  getEncodings(): types.RtpEncodingParameters[];
23
- protected buildProduceEncodings(): types.RtpEncodingParameters[];
24
23
  getCodecOptions(): types.ProducerCodecOptions;
25
24
  getPreferredCodec(): AudioCodec;
26
25
  enableNoiseSuppression(): Promise<void>;
@@ -1,9 +1,9 @@
1
1
  import type { types } from 'mediasoup-client';
2
2
  import type { ParsedOutboundAudioStreamStats, ParsedOutboundVideoStreamStats } from 'webrtc-issue-detector';
3
3
  import EnhancedEventEmitter from '../../../EnhancedEventEmitter';
4
- import { type BaseTrackInfo, type EncoderConfig, TrackLabel, type TrackOutboundStats, type TrackProduceParams } from '../../../types/common';
4
+ import { type BaseTrackInfo, type EncoderConfig, TrackLabel, type TrackLabelString, type TrackOutboundStats, type TrackProduceParams } from '../../../types/common';
5
5
  import type { InternalObserverEvents } from '../../../types/engine';
6
- import type { BaseTrack, BaseTrackDependenciesParams, BaseTrackParams, ProducerAppData } from '../../../types/media';
6
+ import type { BaseTrack, BaseTrackDependenciesParams, BaseTrackParams } from '../../../types/media';
7
7
  import type Logger from '../../Logger';
8
8
  import type { MOSScores } from '../../../qoe/types';
9
9
  type BaseTrackConstructorParams = BaseTrackParams & BaseTrackDependenciesParams;
@@ -36,20 +36,18 @@ declare class DefaultBaseTrack implements BaseTrack {
36
36
  get isPaused(): boolean;
37
37
  get internalEventEmitter(): EnhancedEventEmitter<InternalObserverEvents>;
38
38
  getLabel(): TrackLabel;
39
- setLabel(label: TrackLabel): void;
39
+ setLabel(label: TrackLabel | TrackLabelString): void;
40
40
  setEncoderConfig(encoderConfig: EncoderConfig): void;
41
41
  getEncoderConfig(): EncoderConfig;
42
42
  setProducer(producer: types.Producer): void;
43
43
  setStopTrackOnPause(value: boolean): void;
44
44
  getProducer(): types.Producer | undefined;
45
45
  protected setOriginalTrack(): void;
46
- closeProducer(stopTrack?: boolean, closeRemote?: boolean): Promise<void>;
46
+ closeProducer(stopTrack?: boolean): Promise<void>;
47
47
  setPriority(priority: RTCPriorityType): Promise<void>;
48
48
  stopMediaStreamTrack(): void;
49
49
  protected stopOriginalTrack(): void;
50
- protected buildProduceEncodings(): RTCRtpEncodingParameters[];
51
- protected produce({ codecOptions, preferredCodec, transformParams, keyFrameRequestDelay, }: TrackProduceParams): Promise<types.Producer<ProducerAppData>>;
52
- protected setNetworkProducerMaxSpatialLayer(producerId: string, spatialLayer: number): Promise<void>;
50
+ protected produce({ encodings, codecOptions, preferredCodec, transformParams, keyFrameRequestDelay, }: TrackProduceParams): Promise<void>;
53
51
  publish(): Promise<void>;
54
52
  unpublish(stopTrack?: boolean): Promise<void>;
55
53
  private pauseRemoteProducer;
@@ -22,14 +22,12 @@ declare class DefaultVideoTrack extends DefaultBaseTrack implements VideoTrack {
22
22
  getCodecOptions(): types.ProducerCodecOptions;
23
23
  getPreferredCodec(): VideoCodec;
24
24
  getEncodings(): types.RtpEncodingParameters[];
25
- protected buildProduceEncodings(): types.RtpEncodingParameters[];
26
25
  setTransformParams(transformParams: object): void;
27
26
  setMaxSpatialLayer(spatialLayer: number): Promise<void>;
28
27
  getMaxSpatialLayer(): number | undefined;
29
28
  enableEffects(): Promise<void>;
30
29
  disableEffects(restoreOriginalTrack?: boolean): Promise<void>;
31
30
  publish(params?: VideoTrackPublishParams): Promise<void>;
32
- private setupVideoProducer;
33
31
  adjustEncodingPresetToCurrentMaxSpatialLayer(maxSpatialLayer: number): Promise<void>;
34
32
  applyEffects(effects: Effects): Promise<void>;
35
33
  resetEffects(): void;
@@ -1,18 +1,15 @@
1
1
  import type { TransportDirection } from '../../types/network';
2
2
  import Network from './index';
3
3
  import { Logger } from '../../types/common';
4
- export type RelayEscalationHandler = () => Promise<void> | void;
5
4
  declare class NetworkTransportPolicyManager {
6
5
  #private;
7
6
  private readonly network;
8
7
  private readonly loggerFactory;
9
8
  constructor(network: Network, loggerFactory: (namespace: string) => Logger);
10
- setRelayEscalationHandler(handler: RelayEscalationHandler): void;
11
9
  startMonitoring(): void;
12
10
  stopMonitoring(): void;
13
11
  changeIceTransportPolicy(policy: RTCIceTransportPolicy): Promise<void>;
14
12
  private readonly handleTransportState;
15
- private triggerRelayEscalation;
16
13
  private recordDisconnectAndGetCount;
17
14
  private applyRelayPolicy;
18
15
  escalateDirectionToRelay(direction: TransportDirection): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import { Device, type types } from 'mediasoup-client';
2
- import { ConnectionState, IceParameters } from 'mediasoup-client/lib/Transport';
2
+ import { IceParameters } from 'mediasoup-client/lib/Transport';
3
3
  import EnhancedEventEmitter from '../../EnhancedEventEmitter';
4
4
  import { CreateConsumerPayload, CreateConsumerResponse, PeerResponse, Role, TransportsStateInfo, UpdatePeerAppDataPayload } from '../../types/common';
5
5
  import { ClientObserverEvents } from '../../types/engine';
@@ -63,8 +63,6 @@ declare class Network {
63
63
  getTransportsStateInfo(): Promise<TransportsStateInfo>;
64
64
  setPreferRelay(value: boolean): void;
65
65
  getPreferRelay(): boolean;
66
- isRelayEnforced(): boolean;
67
- enforceRelay(durationMs: number): void;
68
66
  getChannelPeers(role?: Role): Promise<{
69
67
  peers: PeerResponse[];
70
68
  }>;
@@ -76,7 +74,7 @@ declare class Network {
76
74
  triggerChannelStateEvent(peersRole?: Role): Promise<number>;
77
75
  waitForChannelMessagesDataConsumerConnected(): Promise<void>;
78
76
  private waitForIceRestartStateTransition;
79
- waitForTransportTerminalState(transport: LDTransport, timeoutAfter?: number): Promise<ConnectionState>;
77
+ private waitForTransportTerminalState;
80
78
  private waitForDataConsumerConnected;
81
79
  private getParsedTransportStats;
82
80
  private logTransportDetails;
@@ -87,6 +85,5 @@ declare class Network {
87
85
  private connectTransport;
88
86
  private subscribeCommonTransportEvents;
89
87
  private checkTransportState;
90
- private isStaleTransport;
91
88
  }
92
89
  export default Network;
@@ -1,5 +1,4 @@
1
1
  import EnhancedEventEmitter from '../../EnhancedEventEmitter';
2
- import { AvailableMediaDevices, MediaDeviceAvailability } from '../../types/common';
3
2
  import Logger from '../Logger';
4
3
  declare class System {
5
4
  #private;
@@ -9,26 +8,18 @@ declare class System {
9
8
  isDevicesDetected: boolean;
10
9
  availableVideoDevices: MediaDeviceInfo[];
11
10
  availableAudioDevices: MediaDeviceInfo[];
12
- availableAudioOutputDevices: MediaDeviceInfo[];
13
- audioDeviceAvailability?: MediaDeviceAvailability;
14
- videoDeviceAvailability?: MediaDeviceAvailability;
15
- audioOutputDeviceAvailability?: MediaDeviceAvailability;
16
11
  constructor(clientEventEmitter: EnhancedEventEmitter, loggerFactory: (namespace: string) => Logger);
17
12
  setIsEnableVideoDevicesLock(value: boolean): void;
18
13
  setIsEnableAudioDevicesLock(value: boolean): void;
19
14
  setAvailableVideoDevices(availableVideoDevices: MediaDeviceInfo[]): void;
20
15
  setAvailableAudioDevices(availableAudioDevices: MediaDeviceInfo[]): void;
21
- setAvailableAudioOutputDevices(availableAudioOutputDevices: MediaDeviceInfo[]): void;
22
16
  requestMediaDevicesAccess(constraints?: MediaStreamConstraints): Promise<MediaStreamTrack[]>;
23
17
  hasAvailableMediaDevicesList(): Promise<boolean>;
24
18
  refreshAvailableMediaDevicesList(): Promise<MediaDeviceInfo[]>;
25
- detectDevices(force?: boolean): Promise<AvailableMediaDevices>;
19
+ detectDevices(force?: boolean): Promise<void>;
26
20
  deviceChangeHandler(): Promise<void>;
27
- private resetDeviceAvailability;
28
- private getAvailableMediaDevices;
29
- private getDeviceAvailability;
30
21
  listenDevices(): void;
31
- private requestMediaDeviceAccessAvailability;
22
+ private assertHasAccessToMediaDevices;
32
23
  private tryToAccessDevices;
33
24
  }
34
25
  export default System;
@@ -1,7 +1,7 @@
1
1
  import type { Device, types } from 'mediasoup-client';
2
- import type { AudioCodec, G711Codec } from '../types/common';
2
+ import { TrackLabel } from '../types/common';
3
3
  export declare const detectHandlerName: (userAgent?: string) => types.BuiltinHandlerName | undefined;
4
4
  export declare const getNewAudioContext: (contextOptions?: AudioContextOptions) => AudioContext | null;
5
5
  export declare const getSupportedCodecsMimeTypes: (device: Device) => string[];
6
6
  export declare const isVp9: (codecOrMimeType: string) => boolean;
7
- export declare const isG711Codec: (codec: AudioCodec) => codec is G711Codec;
7
+ export declare const isTrackLabel: (value: unknown) => value is TrackLabel;
package/dist/index.d.ts CHANGED
@@ -10,10 +10,9 @@ export type { Effects, LayoutTypes } from './engine/media/streamEffects/video/es
10
10
  export type { AudioStreamStats, MOSScores, VideoStreamStats, } from './qoe/types';
11
11
  export type { ClientParams } from './types/client';
12
12
  export { DeviceErrors, TrackLabel, } from './types/common';
13
- export type { ConsumerData, ActivityConfirmationRequiredPayload, AudioEncoderConfig, AvailableMediaDevices, BaseTrackInfo, MediaDeviceAvailability, MediaDeviceAvailabilityReason, ChannelEvent, CreateCameraVideoTrackOptions, CreateCustomAudioOptions, CreateCustomVideoOptions, CreateMicrophoneAudioTrackOptions, CreateScreenMediaOptions, EncoderConfig, InputKind, JoinChannelParams, PayloadOfPublishedMedia, PayloadOfUnpublishedMedia, ProducerData, PeerGroup, PeerInfo, PeerTrackInfo, Role, SubscribeOptions, TransformParams, TrackTransformParams, TrackForceClosedPayload, TrackInboundStats, TrackLabelString, TrackOutboundStats, TransportsStateInfo, VideoEncoderConfig, VideoCodec, PreferredLayersParams, SpatialLayerParams, } from './types/common';
13
+ export type { ConsumerData, ActivityConfirmationRequiredPayload, AudioEncoderConfig, AvailableMediaDevices, BaseTrackInfo, ChannelEvent, CreateCameraVideoTrackOptions, CreateCustomAudioOptions, CreateCustomVideoOptions, CreateMicrophoneAudioTrackOptions, CreateScreenMediaOptions, EncoderConfig, JoinChannelParams, PayloadOfPublishedMedia, PayloadOfUnpublishedMedia, ProducerData, PeerGroup, PeerInfo, PeerTrackInfo, Role, SubscribeOptions, TransformParams, TrackTransformParams, TrackForceClosedPayload, TrackInboundStats, TrackLabelString, TrackOutboundStats, TransportsStateInfo, VideoEncoderConfig, VideoCodec, PreferredLayersParams, SpatialLayerParams, } from './types/common';
14
14
  export type { ChannelStateInconsistentPayload, ClientObserverEvents, IssuesHandler, NetworkScoresUpdatedHandler, ProducePermissionsChangedPayload, } from './types/engine';
15
15
  export type { AudioTrack, BaseTrack, InitEffectsSDKParams, Track, VideoTrack, VideoTrackPublishParams, } from './types/media';
16
16
  export type { IceTransportPolicy } from './types/network';
17
17
  export type { PeerConsumer } from './types/peerConsumer';
18
18
  export type { PeerTrack, PeerTrackObserverEvents } from './types/peerTrack';
19
- export type { NetworkScores } from 'webrtc-issue-detector';