@webex/web-client-media-engine 3.17.0 → 3.17.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 +18 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +18 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -10464,7 +10464,7 @@ class Transceiver {
|
|
|
10464
10464
|
class ReceiveOnlyTransceiver extends Transceiver {
|
|
10465
10465
|
constructor(rtcRtpTransceiver, mid, munger) {
|
|
10466
10466
|
super(rtcRtpTransceiver, mid);
|
|
10467
|
-
this.metadata = {};
|
|
10467
|
+
this.metadata = { isActiveSpeaker: false };
|
|
10468
10468
|
this.munger = munger;
|
|
10469
10469
|
this._receiveSlot = new ReceiveSlot(() => {
|
|
10470
10470
|
if (!this._rtcRtpTransceiver.mid) {
|
|
@@ -10495,6 +10495,8 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10495
10495
|
stats.calliopeMediaType = this.metadata.mediaType;
|
|
10496
10496
|
stats.requestedBitrate = this.metadata.requestedBitrate;
|
|
10497
10497
|
stats.requestedFrameSize = this.metadata.requestedFrameSize;
|
|
10498
|
+
stats.isActiveSpeaker = this.metadata.isActiveSpeaker;
|
|
10499
|
+
stats.lastActiveSpeakerUpdateTimestamp = this.metadata.lastActiveSpeakerUpdateTimestamp;
|
|
10498
10500
|
Object.assign(stats, this.receiverId);
|
|
10499
10501
|
}
|
|
10500
10502
|
statsMap.set(key, stats);
|
|
@@ -10524,6 +10526,12 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10524
10526
|
this.metadata.requestedFrameSize = undefined;
|
|
10525
10527
|
this.receiveSlot._updateSource('no source', undefined);
|
|
10526
10528
|
}
|
|
10529
|
+
handleActiveSpeakerUpdate(value) {
|
|
10530
|
+
if (this.metadata.isActiveSpeaker !== value) {
|
|
10531
|
+
this.metadata.isActiveSpeaker = value;
|
|
10532
|
+
this.metadata.lastActiveSpeakerUpdateTimestamp = performance.timeOrigin + performance.now();
|
|
10533
|
+
}
|
|
10534
|
+
}
|
|
10527
10535
|
}
|
|
10528
10536
|
ReceiveOnlyTransceiver.rid = '1';
|
|
10529
10537
|
|
|
@@ -14808,6 +14816,15 @@ SCTP Max Message Size: ${maxMessageSize}`);
|
|
|
14808
14816
|
});
|
|
14809
14817
|
jmpSession.on(JmpSessionEvents.ActiveSpeaker, (data) => {
|
|
14810
14818
|
this.emit(exports.MultistreamConnectionEventNames.ActiveSpeakerNotification, data.csis);
|
|
14819
|
+
this.recvTransceivers.forEach((transceivers) => {
|
|
14820
|
+
transceivers.forEach((t) => {
|
|
14821
|
+
const { currentRxCsi } = t.receiveSlot;
|
|
14822
|
+
if (currentRxCsi !== undefined) {
|
|
14823
|
+
const isActiveSpeaker = data.csis.some((activeCsi) => (activeCsi & 0xfffffffe) === (currentRxCsi & 0xfffffffe));
|
|
14824
|
+
t.handleActiveSpeakerUpdate(isActiveSpeaker);
|
|
14825
|
+
}
|
|
14826
|
+
});
|
|
14827
|
+
});
|
|
14811
14828
|
});
|
|
14812
14829
|
this.jmpSessions.set(mediaType, jmpSession);
|
|
14813
14830
|
}
|