@livedigital/client 2.29.1 → 2.30.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.
@@ -221,6 +221,7 @@ export declare type RemoteConsumerOptions = ConsumerOptions & {
221
221
  };
222
222
  export declare type LogMessageHandler = (msg: any, ...meta: any) => void;
223
223
  export declare type LogLevel = 3 | 4 | 6 | 7;
224
+ export declare type LogLevelStr = 'error' | 'warn' | 'info' | 'debug';
224
225
  export interface Logger {
225
226
  debug: (msg: any, ...meta: any[]) => void;
226
227
  info: (msg: any, ...meta: any[]) => void;
@@ -22,6 +22,10 @@ export interface CreateMediaParams {
22
22
  clientEventEmitter: EnhancedEventEmitter;
23
23
  onLogMessage?: LogMessageHandler;
24
24
  }
25
+ export interface CreateMediaStreamTrackManagerParams {
26
+ logLevel?: LogLevel;
27
+ onLogMessage?: LogMessageHandler;
28
+ }
25
29
  export interface CreateNetworkParams {
26
30
  logLevel: LogLevel;
27
31
  loadbalancer: LoadBalancerApiClientParams;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@livedigital/client",
3
3
  "author": "vlprojects",
4
4
  "license": "MIT",
5
- "version": "2.29.1",
5
+ "version": "2.30.0",
6
6
  "private": false,
7
7
  "bugs": {
8
8
  "url": "https://github.com/vlprojects/livedigital-sdk/issues"
@@ -40,7 +40,6 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@peermetrics/webrtc-stats": "^5.4.0",
44
43
  "awaitqueue": "^2.4.0",
45
44
  "axios": "^0.21.4",
46
45
  "debug": "^4.3.1",
@@ -1,6 +1,6 @@
1
1
  import debug from 'debug';
2
2
  import { LogLevels } from '../constants/common';
3
- import { LogLevel, LogMessageHandler } from '../types/common';
3
+ import { LogLevel, LogLevelStr, LogMessageHandler } from '../types/common';
4
4
 
5
5
  const APP_NAME = 'LiveDigital';
6
6
 
@@ -42,9 +42,9 @@ class Logger {
42
42
  this._error.log = console.error.bind(console);
43
43
  /* eslint-enable no-console */
44
44
 
45
- this.#onLogMessage = (msg: any, ...meta: any[]) => {
45
+ this.#onLogMessage = (level: LogLevelStr, msg: any, ...meta: any[]) => {
46
46
  if (typeof onLogMessage === 'function') {
47
- onLogMessage(msg, ...meta);
47
+ onLogMessage(msg, ...meta, level);
48
48
  }
49
49
  };
50
50
  }
@@ -52,28 +52,28 @@ class Logger {
52
52
  debug(msg: any, ...meta: any[]): void {
53
53
  this._debug(msg, ...meta);
54
54
  if (this.#logLevel >= LogLevels.Debug) {
55
- this.#onLogMessage(msg, ...meta);
55
+ this.#onLogMessage('debug', msg, ...meta);
56
56
  }
57
57
  }
58
58
 
59
59
  info(msg: any, ...meta: any[]): void {
60
60
  this._debug(msg, ...meta);
61
61
  if (this.#logLevel >= LogLevels.Info) {
62
- this.#onLogMessage(msg, ...meta);
62
+ this.#onLogMessage('info', msg, ...meta);
63
63
  }
64
64
  }
65
65
 
66
66
  warn(msg: any, ...meta: any[]): void {
67
67
  this._warn(msg, ...meta);
68
68
  if (this.#logLevel >= LogLevels.Warn) {
69
- this.#onLogMessage(msg, ...meta);
69
+ this.#onLogMessage('warn', msg, ...meta);
70
70
  }
71
71
  }
72
72
 
73
73
  error(msg: any, ...meta: any[]): void {
74
74
  this._error(msg, ...meta);
75
75
  if (this.#logLevel >= LogLevels.Error) {
76
- this.#onLogMessage(msg, ...meta);
76
+ this.#onLogMessage('error', msg, ...meta);
77
77
  }
78
78
  }
79
79
  }
@@ -43,7 +43,10 @@ class Media {
43
43
  });
44
44
  this.#engine = params.engine;
45
45
  this.#clientEventEmitter = params.clientEventEmitter;
46
- this.#mediaStreamTrackManager = new MediaStreamTrackManager(params.logLevel);
46
+ this.#mediaStreamTrackManager = new MediaStreamTrackManager({
47
+ logLevel: params.logLevel,
48
+ onLogMessage: params.onLogMessage,
49
+ });
47
50
  }
48
51
 
49
52
  get mediasoupDevice(): Device {
@@ -1,5 +1,7 @@
1
- import { LogLevel, TrackLabel } from '../../../types/common';
1
+ import { TrackLabel } from '../../../types/common';
2
2
  import Logger from '../../Logger';
3
+ import { CreateMediaStreamTrackManagerParams } from '../../../types/engine';
4
+ import { LogLevels } from '../../../constants/common';
3
5
 
4
6
  export type GetMediaStreamTrackParams = {
5
7
  label: TrackLabel;
@@ -9,10 +11,11 @@ export type GetMediaStreamTrackParams = {
9
11
  class MediaStreamTrackManager {
10
12
  readonly #logger: Logger;
11
13
 
12
- constructor(logLevel: LogLevel) {
14
+ constructor(params: CreateMediaStreamTrackManagerParams) {
13
15
  this.#logger = new Logger({
14
16
  namespace: 'MediaStreamTrackManager',
15
- logLevel,
17
+ logLevel: params.logLevel ?? LogLevels.Warn,
18
+ onLogMessage: params.onLogMessage,
16
19
  });
17
20
  }
18
21
 
@@ -4,7 +4,9 @@ import {
4
4
  SetConsumerPriorityParams,
5
5
  SpatialLayerParams,
6
6
  PeerTrackInfo,
7
- TrackLabel, TrackOutboundStats,
7
+ TrackLabel,
8
+ TrackOutboundStats,
9
+ LogMessageHandler,
8
10
  } from '../../../types/common';
9
11
  import Logger from '../../Logger';
10
12
  import { MEDIASOUP_EVENTS, PEER_EVENTS } from '../../../constants/events';
@@ -22,6 +24,7 @@ interface PeerTrackConstructor {
22
24
  isPaused: boolean,
23
25
  isProducerPaused?: boolean,
24
26
  peerEventEmitter: EnhancedEventEmitter,
27
+ onLogMessage?: LogMessageHandler,
25
28
  }
26
29
 
27
30
  class PeerTrack {
@@ -55,6 +58,7 @@ class PeerTrack {
55
58
  this.#logger = new Logger({
56
59
  logLevel: payload.engine.logLevel,
57
60
  namespace: 'PeerTrack',
61
+ onLogMessage: payload.onLogMessage,
58
62
  });
59
63
  this.#peerEventEmitter = payload.peerEventEmitter;
60
64
  this.#paused = payload.isPaused;
@@ -91,7 +91,11 @@ class System {
91
91
  this.setAvailableVideoDevices(videoDevices);
92
92
  this.setAvailableAudioDevices(audioDevices);
93
93
 
94
- this.logger.debug('Devices list updated');
94
+ const mapDeviceInfo = ({ label, kind }: MediaDeviceInfo) => ({ label, kind });
95
+ this.logger.debug('Devices list updated', {
96
+ videoDevices: videoDevices.map(mapDeviceInfo),
97
+ audioDevices: audioDevices.map(mapDeviceInfo),
98
+ });
95
99
 
96
100
  return devices;
97
101
  }
@@ -256,6 +256,8 @@ export type LogMessageHandler = (msg: any, ...meta: any) => void;
256
256
 
257
257
  export type LogLevel = 3 | 4 | 6 | 7;
258
258
 
259
+ export type LogLevelStr = 'error' | 'warn' | 'info' | 'debug';
260
+
259
261
  export interface Logger {
260
262
  debug: (msg: any, ...meta: any[]) => void;
261
263
  info: (msg: any, ...meta: any[]) => void;
@@ -27,6 +27,11 @@ export interface CreateMediaParams {
27
27
  onLogMessage?: LogMessageHandler;
28
28
  }
29
29
 
30
+ export interface CreateMediaStreamTrackManagerParams {
31
+ logLevel?: LogLevel;
32
+ onLogMessage?: LogMessageHandler;
33
+ }
34
+
30
35
  export interface CreateNetworkParams {
31
36
  logLevel: LogLevel;
32
37
  loadbalancer: LoadBalancerApiClientParams;