@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/esm/index.js
CHANGED
|
@@ -10588,6 +10588,7 @@ var ReceiveSlotEvents;
|
|
|
10588
10588
|
class ReceiveSlot extends EventEmitter$2 {
|
|
10589
10589
|
constructor(idGetter, track) {
|
|
10590
10590
|
super();
|
|
10591
|
+
this._isRequested = false;
|
|
10591
10592
|
this._idGetter = idGetter;
|
|
10592
10593
|
this.handleStreamMediaStateChange = this.handleStreamMediaStateChange.bind(this);
|
|
10593
10594
|
this.handleStreamEnded = this.handleStreamEnded.bind(this);
|
|
@@ -10690,7 +10691,7 @@ class Transceiver {
|
|
|
10690
10691
|
class ReceiveOnlyTransceiver extends Transceiver {
|
|
10691
10692
|
constructor(config) {
|
|
10692
10693
|
super(config);
|
|
10693
|
-
this.metadata = {
|
|
10694
|
+
this.metadata = { isActiveSpeaker: false };
|
|
10694
10695
|
this.munger = config.munger;
|
|
10695
10696
|
this._receiveSlot = new ReceiveSlot(() => {
|
|
10696
10697
|
if (!this._rtcRtpTransceiver.mid) {
|
|
@@ -10723,7 +10724,7 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10723
10724
|
stats.requestedBitrate = this.metadata.requestedBitrate;
|
|
10724
10725
|
stats.requestedFrameSize = this.metadata.requestedFrameSize;
|
|
10725
10726
|
stats.requestedFrameRate = this.metadata.requestedFrameRate;
|
|
10726
|
-
stats.isRequested = this.
|
|
10727
|
+
stats.isRequested = this.receiveSlot._isRequested;
|
|
10727
10728
|
stats.lastRequestedUpdateTimestamp = this.metadata.lastRequestedUpdateTimestamp;
|
|
10728
10729
|
stats.isActiveSpeaker = this.metadata.isActiveSpeaker;
|
|
10729
10730
|
stats.lastActiveSpeakerUpdateTimestamp = this.metadata.lastActiveSpeakerUpdateTimestamp;
|
|
@@ -10750,8 +10751,8 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10750
10751
|
}
|
|
10751
10752
|
handleRequested(streamRequest) {
|
|
10752
10753
|
var _a, _b, _c, _d;
|
|
10753
|
-
if (!this.
|
|
10754
|
-
this.
|
|
10754
|
+
if (!this.receiveSlot._isRequested) {
|
|
10755
|
+
this.receiveSlot._isRequested = true;
|
|
10755
10756
|
this.metadata.lastRequestedUpdateTimestamp = getCurrentTimestamp();
|
|
10756
10757
|
}
|
|
10757
10758
|
this.metadata.requestedBitrate = streamRequest.maxPayloadBitsPerSecond;
|
|
@@ -10759,8 +10760,8 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10759
10760
|
this.metadata.requestedFrameRate = (_d = (_c = streamRequest.codecInfos[0]) === null || _c === void 0 ? void 0 : _c.h264) === null || _d === void 0 ? void 0 : _d.maxFps;
|
|
10760
10761
|
}
|
|
10761
10762
|
handleUnrequested() {
|
|
10762
|
-
if (this.
|
|
10763
|
-
this.
|
|
10763
|
+
if (this.receiveSlot._isRequested) {
|
|
10764
|
+
this.receiveSlot._isRequested = false;
|
|
10764
10765
|
this.metadata.lastRequestedUpdateTimestamp = getCurrentTimestamp();
|
|
10765
10766
|
}
|
|
10766
10767
|
this.metadata.requestedBitrate = undefined;
|
|
@@ -15134,6 +15135,10 @@ SCTP Max Message Size: ${maxMessageSize}`);
|
|
|
15134
15135
|
logger.warn(`Got MediaRequestStatus for unknown receive slot: ${JSON.stringify(s.id)}`);
|
|
15135
15136
|
return;
|
|
15136
15137
|
}
|
|
15138
|
+
if (!receiveSlot._isRequested) {
|
|
15139
|
+
logger.info(`MediaRequestStatus ignored due to transceiver's receive slot unrequested: ${JSON.stringify(s.id)} csi ${s.csi}`);
|
|
15140
|
+
return;
|
|
15141
|
+
}
|
|
15137
15142
|
receiveSlot._updateSource(s.state, s.csi);
|
|
15138
15143
|
});
|
|
15139
15144
|
});
|