@webex/web-client-media-engine 3.30.1 → 3.30.2
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 +11 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +11 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -10592,6 +10592,7 @@ exports.ReceiveSlotEvents = void 0;
|
|
|
10592
10592
|
class ReceiveSlot extends EventEmitter$2 {
|
|
10593
10593
|
constructor(idGetter, track) {
|
|
10594
10594
|
super();
|
|
10595
|
+
this._isRequested = false;
|
|
10595
10596
|
this._idGetter = idGetter;
|
|
10596
10597
|
this.handleStreamMediaStateChange = this.handleStreamMediaStateChange.bind(this);
|
|
10597
10598
|
this.handleStreamEnded = this.handleStreamEnded.bind(this);
|
|
@@ -10694,7 +10695,7 @@ class Transceiver {
|
|
|
10694
10695
|
class ReceiveOnlyTransceiver extends Transceiver {
|
|
10695
10696
|
constructor(config) {
|
|
10696
10697
|
super(config);
|
|
10697
|
-
this.metadata = {
|
|
10698
|
+
this.metadata = { isActiveSpeaker: false };
|
|
10698
10699
|
this.munger = config.munger;
|
|
10699
10700
|
this._receiveSlot = new ReceiveSlot(() => {
|
|
10700
10701
|
if (!this._rtcRtpTransceiver.mid) {
|
|
@@ -10727,7 +10728,7 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10727
10728
|
stats.requestedBitrate = this.metadata.requestedBitrate;
|
|
10728
10729
|
stats.requestedFrameSize = this.metadata.requestedFrameSize;
|
|
10729
10730
|
stats.requestedFrameRate = this.metadata.requestedFrameRate;
|
|
10730
|
-
stats.isRequested = this.
|
|
10731
|
+
stats.isRequested = this.receiveSlot._isRequested;
|
|
10731
10732
|
stats.lastRequestedUpdateTimestamp = this.metadata.lastRequestedUpdateTimestamp;
|
|
10732
10733
|
stats.isActiveSpeaker = this.metadata.isActiveSpeaker;
|
|
10733
10734
|
stats.lastActiveSpeakerUpdateTimestamp = this.metadata.lastActiveSpeakerUpdateTimestamp;
|
|
@@ -10754,8 +10755,8 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10754
10755
|
}
|
|
10755
10756
|
handleRequested(streamRequest) {
|
|
10756
10757
|
var _a, _b, _c, _d;
|
|
10757
|
-
if (!this.
|
|
10758
|
-
this.
|
|
10758
|
+
if (!this.receiveSlot._isRequested) {
|
|
10759
|
+
this.receiveSlot._isRequested = true;
|
|
10759
10760
|
this.metadata.lastRequestedUpdateTimestamp = getCurrentTimestamp();
|
|
10760
10761
|
}
|
|
10761
10762
|
this.metadata.requestedBitrate = streamRequest.maxPayloadBitsPerSecond;
|
|
@@ -10763,8 +10764,8 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10763
10764
|
this.metadata.requestedFrameRate = (_d = (_c = streamRequest.codecInfos[0]) === null || _c === void 0 ? void 0 : _c.h264) === null || _d === void 0 ? void 0 : _d.maxFps;
|
|
10764
10765
|
}
|
|
10765
10766
|
handleUnrequested() {
|
|
10766
|
-
if (this.
|
|
10767
|
-
this.
|
|
10767
|
+
if (this.receiveSlot._isRequested) {
|
|
10768
|
+
this.receiveSlot._isRequested = false;
|
|
10768
10769
|
this.metadata.lastRequestedUpdateTimestamp = getCurrentTimestamp();
|
|
10769
10770
|
}
|
|
10770
10771
|
this.metadata.requestedBitrate = undefined;
|
|
@@ -15138,6 +15139,10 @@ SCTP Max Message Size: ${maxMessageSize}`);
|
|
|
15138
15139
|
logger.warn(`Got MediaRequestStatus for unknown receive slot: ${JSON.stringify(s.id)}`);
|
|
15139
15140
|
return;
|
|
15140
15141
|
}
|
|
15142
|
+
if (!receiveSlot._isRequested) {
|
|
15143
|
+
logger.info(`MediaRequestStatus ignored due to transceiver's receive slot unrequested: ${JSON.stringify(s.id)} csi ${s.csi}`);
|
|
15144
|
+
return;
|
|
15145
|
+
}
|
|
15141
15146
|
receiveSlot._updateSource(s.state, s.csi);
|
|
15142
15147
|
});
|
|
15143
15148
|
});
|