@webex/web-client-media-engine 1.35.0 → 1.36.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.
@@ -8,6 +8,24 @@ import * as js_logger from 'js-logger';
8
8
  import { ILogLevel } from 'js-logger';
9
9
  export { default as Logger } from 'js-logger';
10
10
 
11
+ declare enum MediaCodecMimeType {
12
+ H264 = "video/H264",
13
+ AV1 = "video/AV1",
14
+ OPUS = "audio/opus"
15
+ }
16
+ declare type EncodingParams = {
17
+ scaleDownRatio: number;
18
+ maxPayloadBitsPerSecond?: number;
19
+ };
20
+ declare enum RecommendedOpusBitrates {
21
+ NB = 12000,
22
+ WB = 20000,
23
+ FB = 40000,
24
+ FB_MONO_MUSIC = 64000,
25
+ FB_STEREO_MUSIC = 128000
26
+ }
27
+ declare function getRecommendedMaxBitrateForFrameSize(requestedMaxFs: number): number | undefined;
28
+
11
29
  declare const EventEmitter_base: new <TT extends EventMap>() => TypedEmitter<TT>;
12
30
  declare class EventEmitter<T extends EventMap> extends EventEmitter_base<T> {
13
31
  }
@@ -52,24 +70,6 @@ declare class MediaRequest {
52
70
  _toJmpScrRequest(): JmpScrRequest;
53
71
  }
54
72
 
55
- declare enum MediaCodecMimeType {
56
- H264 = "video/H264",
57
- AV1 = "video/AV1",
58
- OPUS = "audio/opus"
59
- }
60
- declare type EncodingParams = {
61
- scaleDownRatio: number;
62
- maxPayloadBitsPerSecond?: number;
63
- };
64
- declare enum RecommendedOpusBitrates {
65
- NB = 12000,
66
- WB = 20000,
67
- FB = 40000,
68
- FB_MONO_MUSIC = 64000,
69
- FB_STEREO_MUSIC = 128000
70
- }
71
- declare function getRecommendedMaxBitrateForFrameSize(requestedMaxFs: number): number | undefined;
72
-
73
73
  declare enum OveruseState {
74
74
  NOT_OVERUSED = 0,
75
75
  OVERUSED = 1
@@ -81,6 +81,30 @@ declare type StreamSignalingMode = 'MID-RID' | 'SSRC';
81
81
 
82
82
  declare type BundlePolicy = 'max' | 'compat';
83
83
 
84
+ interface TransceiverStatItem {
85
+ report: RTCStatsReport;
86
+ currentDirection: RTCRtpTransceiverDirection;
87
+ localTrackLabel?: string;
88
+ }
89
+ interface TransceiverStats {
90
+ audio: {
91
+ senders: TransceiverStatItem[];
92
+ receivers: TransceiverStatItem[];
93
+ };
94
+ video: {
95
+ senders: TransceiverStatItem[];
96
+ receivers: TransceiverStatItem[];
97
+ };
98
+ screenShareAudio: {
99
+ senders: TransceiverStatItem[];
100
+ receivers: TransceiverStatItem[];
101
+ };
102
+ screenShareVideo: {
103
+ senders: TransceiverStatItem[];
104
+ receivers: TransceiverStatItem[];
105
+ };
106
+ }
107
+
84
108
  declare type MetricsCallback = (logData: LogData) => void;
85
109
 
86
110
  declare enum MultistreamConnectionEventNames {
@@ -143,6 +167,7 @@ declare class MultistreamConnection extends EventEmitter<MultistreamConnectionEv
143
167
  renewPeerConnection(userOptions?: Partial<MultistreamConnectionOptions>): void;
144
168
  private getReceiveSlotById;
145
169
  getStats(): Promise<StatsReport>;
170
+ getTransceiverStats(): Promise<TransceiverStats>;
146
171
  private preProcessStats;
147
172
  private attachMetricsObserver;
148
173
  setMetricsCallback(callback: MetricsCallback): void;
@@ -182,4 +207,4 @@ declare const logger: js_logger.ILogger;
182
207
  declare function setLogLevel(level: ILogLevel): void;
183
208
  declare function getLogLevel(): ILogLevel;
184
209
 
185
- export { MediaCodecMimeType, MediaRequest, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogLevel };
210
+ export { MediaCodecMimeType, MediaRequest, MultistreamConnection, MultistreamConnectionEventNames, MultistreamConnectionEvents, ReceiveSlot, ReceiveSlotEvents, ReceiveSlotId, ReceiverEvents, RecommendedOpusBitrates, SendOnlyTransceiver, TransceiverStats, compareReceiveSlotIds, getLogLevel, getRecommendedMaxBitrateForFrameSize, logger, setLogLevel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/web-client-media-engine",
3
- "version": "1.35.0",
3
+ "version": "1.36.0",
4
4
  "description": "Web Client Media Engine is common web code for interacting with the multistream media server.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs/index.js",