@webex/web-client-media-engine 1.37.4 → 1.37.6
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 +36 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +36 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +6 -4
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -8573,6 +8573,7 @@ class ReceiveSlot extends EventEmitter {
|
|
|
8573
8573
|
this.handleTrackMuted = this.handleTrackMuted.bind(this);
|
|
8574
8574
|
this.handleTrackUnmuted = this.handleTrackUnmuted.bind(this);
|
|
8575
8575
|
this._stream = new MediaStream([track]);
|
|
8576
|
+
this._sourceState = 'no source';
|
|
8576
8577
|
this.addTrackHandlers(track);
|
|
8577
8578
|
}
|
|
8578
8579
|
addTrackHandlers(track) {
|
|
@@ -8600,8 +8601,11 @@ class ReceiveSlot extends EventEmitter {
|
|
|
8600
8601
|
this._stream.addTrack(newTrack);
|
|
8601
8602
|
}
|
|
8602
8603
|
_updateSource(state, csi) {
|
|
8603
|
-
this.
|
|
8604
|
-
|
|
8604
|
+
if (state !== this._sourceState || csi !== this._currentRxCsi) {
|
|
8605
|
+
this._sourceState = state;
|
|
8606
|
+
this._currentRxCsi = csi;
|
|
8607
|
+
this.emit(exports.ReceiveSlotEvents.SourceUpdate, state, csi);
|
|
8608
|
+
}
|
|
8605
8609
|
}
|
|
8606
8610
|
close() {
|
|
8607
8611
|
this._stream.getTracks().forEach((t) => {
|
|
@@ -8614,6 +8618,9 @@ class ReceiveSlot extends EventEmitter {
|
|
|
8614
8618
|
get stream() {
|
|
8615
8619
|
return this._stream;
|
|
8616
8620
|
}
|
|
8621
|
+
get currentRxCsi() {
|
|
8622
|
+
return this._currentRxCsi;
|
|
8623
|
+
}
|
|
8617
8624
|
}
|
|
8618
8625
|
ReceiveSlot.Events = exports.ReceiveSlotEvents;
|
|
8619
8626
|
|
|
@@ -9649,10 +9656,17 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9649
9656
|
: [{ active: false }];
|
|
9650
9657
|
}
|
|
9651
9658
|
createSendTransceiver(mediaType, sceneId, sendEncodingsOptions) {
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9655
|
-
|
|
9659
|
+
let rtcTransceiver;
|
|
9660
|
+
try {
|
|
9661
|
+
rtcTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
|
|
9662
|
+
direction: 'sendrecv',
|
|
9663
|
+
sendEncodings: sendEncodingsOptions,
|
|
9664
|
+
});
|
|
9665
|
+
}
|
|
9666
|
+
catch (e) {
|
|
9667
|
+
logger.error(`addTransceiver failed due to : ${e}`);
|
|
9668
|
+
throw e;
|
|
9669
|
+
}
|
|
9656
9670
|
this.addMid(mediaType);
|
|
9657
9671
|
const csi = generateCsi(getMediaFamily(mediaType), sceneId);
|
|
9658
9672
|
this.sendTransceivers.set(mediaType, new SendOnlyTransceiver(rtcTransceiver, csi));
|
|
@@ -9670,8 +9684,9 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9670
9684
|
this.dataChannel.send(msg);
|
|
9671
9685
|
});
|
|
9672
9686
|
if (getMediaFamily(mediaType) === MediaFamily.Video) {
|
|
9687
|
+
let prevNumTotalSources = 0;
|
|
9688
|
+
let prevNumLiveSources = 0;
|
|
9673
9689
|
jmpSession.on(JmpSessionEvents.SourceIndication, (data) => {
|
|
9674
|
-
this.emit(exports.MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources);
|
|
9675
9690
|
data.sources.forEach((s) => {
|
|
9676
9691
|
const receiveSlot = this.getReceiveSlotById(s.id);
|
|
9677
9692
|
if (!receiveSlot) {
|
|
@@ -9680,6 +9695,12 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9680
9695
|
}
|
|
9681
9696
|
receiveSlot._updateSource(s.state, s.csi);
|
|
9682
9697
|
});
|
|
9698
|
+
if (data.numTotalSources !== prevNumTotalSources ||
|
|
9699
|
+
data.numLiveSources !== prevNumLiveSources) {
|
|
9700
|
+
prevNumTotalSources = data.numTotalSources;
|
|
9701
|
+
prevNumLiveSources = data.numLiveSources;
|
|
9702
|
+
this.emit(exports.MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
|
|
9703
|
+
}
|
|
9683
9704
|
});
|
|
9684
9705
|
jmpSession.on(JmpSessionEvents.ScrRequestReceived, (data) => {
|
|
9685
9706
|
this.sendSourceWarnings(mediaType, data.requests);
|
|
@@ -9687,8 +9708,9 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9687
9708
|
});
|
|
9688
9709
|
}
|
|
9689
9710
|
if (getMediaFamily(mediaType) === MediaFamily.Audio) {
|
|
9711
|
+
let prevNumTotalSources = 0;
|
|
9712
|
+
let prevNumLiveSources = 0;
|
|
9690
9713
|
jmpSession.on(JmpSessionEvents.SourceIndication, (data) => {
|
|
9691
|
-
this.emit(exports.MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources);
|
|
9692
9714
|
data.sources.forEach((s) => {
|
|
9693
9715
|
const receiveSlot = this.getReceiveSlotById(s.id);
|
|
9694
9716
|
if (!receiveSlot) {
|
|
@@ -9697,6 +9719,12 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9697
9719
|
}
|
|
9698
9720
|
receiveSlot._updateSource(s.state, s.csi);
|
|
9699
9721
|
});
|
|
9722
|
+
if (data.numTotalSources !== prevNumTotalSources ||
|
|
9723
|
+
data.numLiveSources !== prevNumLiveSources) {
|
|
9724
|
+
prevNumTotalSources = data.numTotalSources;
|
|
9725
|
+
prevNumLiveSources = data.numLiveSources;
|
|
9726
|
+
this.emit(exports.MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
|
|
9727
|
+
}
|
|
9700
9728
|
});
|
|
9701
9729
|
jmpSession.on(JmpSessionEvents.ActiveSpeaker, (data) => this.emit(exports.MultistreamConnectionEventNames.ActiveSpeakerNotification, data));
|
|
9702
9730
|
jmpSession.on(JmpSessionEvents.ScrRequestReceived, (data) => {
|