@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/esm/index.js CHANGED
@@ -14224,6 +14224,22 @@ class SendOnlyTransceiver extends Transceiver {
14224
14224
  }));
14225
14225
  });
14226
14226
  }
14227
+ getRequestedBitrate(ssrc) {
14228
+ const index = this.senderIds.findIndex((streamId) => streamId.ssrc === ssrc);
14229
+ if (this.requestedIdEncodingParamsMap.has(index)) {
14230
+ const encodingParams = this.requestedIdEncodingParamsMap.get(index);
14231
+ return encodingParams === null || encodingParams === void 0 ? void 0 : encodingParams.maxPayloadBitsPerSecond;
14232
+ }
14233
+ return undefined;
14234
+ }
14235
+ getRequestedFrameSize(ssrc) {
14236
+ const index = this.senderIds.findIndex((streamId) => streamId.ssrc === ssrc);
14237
+ if (this.requestedIdEncodingParamsMap.has(index)) {
14238
+ const encodingParams = this.requestedIdEncodingParamsMap.get(index);
14239
+ return encodingParams === null || encodingParams === void 0 ? void 0 : encodingParams.maxFs;
14240
+ }
14241
+ return undefined;
14242
+ }
14227
14243
  isSimulcastEnabled() {
14228
14244
  const params = this.sender.getParameters();
14229
14245
  return params.encodings.length > 1;
@@ -15059,6 +15075,17 @@ class MultistreamConnection extends EventEmitter$2 {
15059
15075
  }
15060
15076
  });
15061
15077
  jmpSession.sendRequests(streamRequests.map((sr) => sr._toJmpStreamRequest()));
15078
+ streamRequests.forEach((sr) => {
15079
+ var _a;
15080
+ const isAffectedInStreamRequest = (t) => sr.receiveSlots.some((rs) => rs.id && compareStreamIds(rs.id, t.receiverId));
15081
+ const affectedTransceivers = (_a = this.recvTransceivers
15082
+ .get(mediaType)) === null || _a === void 0 ? void 0 : _a.filter(isAffectedInStreamRequest);
15083
+ affectedTransceivers === null || affectedTransceivers === void 0 ? void 0 : affectedTransceivers.forEach((t) => {
15084
+ var _a, _b;
15085
+ t.requestedBitrate = sr.maxPayloadBitsPerSecond;
15086
+ t.requestedFrameSize = (_b = (_a = sr.codecInfos[0]) === null || _a === void 0 ? void 0 : _a.h264) === null || _b === void 0 ? void 0 : _b.maxFs;
15087
+ });
15088
+ });
15062
15089
  };
15063
15090
  if (((_a = this.dataChannel) === null || _a === void 0 ? void 0 : _a.readyState) === 'open') {
15064
15091
  task();
@@ -15131,6 +15158,8 @@ class MultistreamConnection extends EventEmitter$2 {
15131
15158
  statsToModify.mid = transceiver.mid;
15132
15159
  statsToModify.csi = transceiver.csi;
15133
15160
  statsToModify.calliopeMediaType = mediaType;
15161
+ statsToModify.requestedBitrate = transceiver.getRequestedBitrate(senderStats.ssrc);
15162
+ statsToModify.requestedFrameSize = transceiver.getRequestedFrameSize(senderStats.ssrc);
15134
15163
  const trackSettings = (_a = transceiver.publishedStream) === null || _a === void 0 ? void 0 : _a.getSettings();
15135
15164
  if (trackSettings === null || trackSettings === void 0 ? void 0 : trackSettings.frameRate) {
15136
15165
  statsToModify.targetFrameRate = trackSettings === null || trackSettings === void 0 ? void 0 : trackSettings.frameRate;
@@ -15153,6 +15182,8 @@ class MultistreamConnection extends EventEmitter$2 {
15153
15182
  statsToModify.mid = (_a = transceiver.receiveSlot.id) === null || _a === void 0 ? void 0 : _a.mid;
15154
15183
  statsToModify.csi = transceiver.receiveSlot.currentRxCsi;
15155
15184
  statsToModify.calliopeMediaType = mediaType;
15185
+ statsToModify.requestedBitrate = transceiver.requestedBitrate;
15186
+ statsToModify.requestedFrameSize = transceiver.requestedFrameSize;
15156
15187
  Object.assign(statsToModify, transceiver.receiverId);
15157
15188
  stats.set(receiverStats.id, statsToModify);
15158
15189
  }