@webex/web-client-media-engine 3.12.1 → 3.13.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/cjs/index.js CHANGED
@@ -14228,6 +14228,22 @@ class SendOnlyTransceiver extends Transceiver {
14228
14228
  }));
14229
14229
  });
14230
14230
  }
14231
+ getRequestedBitrate(ssrc) {
14232
+ const index = this.senderIds.findIndex((streamId) => streamId.ssrc === ssrc);
14233
+ if (this.requestedIdEncodingParamsMap.has(index)) {
14234
+ const encodingParams = this.requestedIdEncodingParamsMap.get(index);
14235
+ return encodingParams === null || encodingParams === void 0 ? void 0 : encodingParams.maxPayloadBitsPerSecond;
14236
+ }
14237
+ return undefined;
14238
+ }
14239
+ getRequestedFrameSize(ssrc) {
14240
+ const index = this.senderIds.findIndex((streamId) => streamId.ssrc === ssrc);
14241
+ if (this.requestedIdEncodingParamsMap.has(index)) {
14242
+ const encodingParams = this.requestedIdEncodingParamsMap.get(index);
14243
+ return encodingParams === null || encodingParams === void 0 ? void 0 : encodingParams.maxFs;
14244
+ }
14245
+ return undefined;
14246
+ }
14231
14247
  isSimulcastEnabled() {
14232
14248
  const params = this.sender.getParameters();
14233
14249
  return params.encodings.length > 1;
@@ -15063,6 +15079,17 @@ class MultistreamConnection extends EventEmitter$2 {
15063
15079
  }
15064
15080
  });
15065
15081
  jmpSession.sendRequests(streamRequests.map((sr) => sr._toJmpStreamRequest()));
15082
+ streamRequests.forEach((sr) => {
15083
+ var _a;
15084
+ const isAffectedInStreamRequest = (t) => sr.receiveSlots.some((rs) => rs.id && compareStreamIds(rs.id, t.receiverId));
15085
+ const affectedTransceivers = (_a = this.recvTransceivers
15086
+ .get(mediaType)) === null || _a === void 0 ? void 0 : _a.filter(isAffectedInStreamRequest);
15087
+ affectedTransceivers === null || affectedTransceivers === void 0 ? void 0 : affectedTransceivers.forEach((t) => {
15088
+ var _a, _b;
15089
+ t.requestedBitrate = sr.maxPayloadBitsPerSecond;
15090
+ t.requestedFrameSize = (_b = (_a = sr.codecInfos[0]) === null || _a === void 0 ? void 0 : _a.h264) === null || _b === void 0 ? void 0 : _b.maxFs;
15091
+ });
15092
+ });
15066
15093
  };
15067
15094
  if (((_a = this.dataChannel) === null || _a === void 0 ? void 0 : _a.readyState) === 'open') {
15068
15095
  task();
@@ -15135,6 +15162,8 @@ class MultistreamConnection extends EventEmitter$2 {
15135
15162
  statsToModify.mid = transceiver.mid;
15136
15163
  statsToModify.csi = transceiver.csi;
15137
15164
  statsToModify.calliopeMediaType = mediaType;
15165
+ statsToModify.requestedBitrate = transceiver.getRequestedBitrate(senderStats.ssrc);
15166
+ statsToModify.requestedFrameSize = transceiver.getRequestedFrameSize(senderStats.ssrc);
15138
15167
  const trackSettings = (_a = transceiver.publishedStream) === null || _a === void 0 ? void 0 : _a.getSettings();
15139
15168
  if (trackSettings === null || trackSettings === void 0 ? void 0 : trackSettings.frameRate) {
15140
15169
  statsToModify.targetFrameRate = trackSettings === null || trackSettings === void 0 ? void 0 : trackSettings.frameRate;
@@ -15157,6 +15186,8 @@ class MultistreamConnection extends EventEmitter$2 {
15157
15186
  statsToModify.mid = (_a = transceiver.receiveSlot.id) === null || _a === void 0 ? void 0 : _a.mid;
15158
15187
  statsToModify.csi = transceiver.receiveSlot.currentRxCsi;
15159
15188
  statsToModify.calliopeMediaType = mediaType;
15189
+ statsToModify.requestedBitrate = transceiver.requestedBitrate;
15190
+ statsToModify.requestedFrameSize = transceiver.requestedFrameSize;
15160
15191
  Object.assign(statsToModify, transceiver.receiverId);
15161
15192
  stats.set(receiverStats.id, statsToModify);
15162
15193
  }