@webex/web-client-media-engine 1.37.5 → 1.38.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/cjs/index.js +26 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +26 -4
- 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
|
|
|
@@ -9092,6 +9099,7 @@ class SsrcEgressStreamSignaler {
|
|
|
9092
9099
|
mLine.simulcast = undefined;
|
|
9093
9100
|
mLine.ssrcs = [];
|
|
9094
9101
|
mLine.ssrcGroups = [];
|
|
9102
|
+
mLine.extMaps = mLine.extMaps.filter((extMapLine) => !/^urn:ietf:params:rtp-hdrext:sdes:(?:mid|rtp-stream-id|repaired-rtp-stream-id)$/.test(extMapLine.uri));
|
|
9095
9103
|
if (this.streamIds.length === 0) {
|
|
9096
9104
|
const numStreams = simulcastEnabled ? 3 : 1;
|
|
9097
9105
|
[...Array(numStreams).keys()].forEach(() => {
|
|
@@ -9677,8 +9685,9 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9677
9685
|
this.dataChannel.send(msg);
|
|
9678
9686
|
});
|
|
9679
9687
|
if (getMediaFamily(mediaType) === MediaFamily.Video) {
|
|
9688
|
+
let prevNumTotalSources = 0;
|
|
9689
|
+
let prevNumLiveSources = 0;
|
|
9680
9690
|
jmpSession.on(JmpSessionEvents.SourceIndication, (data) => {
|
|
9681
|
-
this.emit(exports.MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources);
|
|
9682
9691
|
data.sources.forEach((s) => {
|
|
9683
9692
|
const receiveSlot = this.getReceiveSlotById(s.id);
|
|
9684
9693
|
if (!receiveSlot) {
|
|
@@ -9687,6 +9696,12 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9687
9696
|
}
|
|
9688
9697
|
receiveSlot._updateSource(s.state, s.csi);
|
|
9689
9698
|
});
|
|
9699
|
+
if (data.numTotalSources !== prevNumTotalSources ||
|
|
9700
|
+
data.numLiveSources !== prevNumLiveSources) {
|
|
9701
|
+
prevNumTotalSources = data.numTotalSources;
|
|
9702
|
+
prevNumLiveSources = data.numLiveSources;
|
|
9703
|
+
this.emit(exports.MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
|
|
9704
|
+
}
|
|
9690
9705
|
});
|
|
9691
9706
|
jmpSession.on(JmpSessionEvents.ScrRequestReceived, (data) => {
|
|
9692
9707
|
this.sendSourceWarnings(mediaType, data.requests);
|
|
@@ -9694,8 +9709,9 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9694
9709
|
});
|
|
9695
9710
|
}
|
|
9696
9711
|
if (getMediaFamily(mediaType) === MediaFamily.Audio) {
|
|
9712
|
+
let prevNumTotalSources = 0;
|
|
9713
|
+
let prevNumLiveSources = 0;
|
|
9697
9714
|
jmpSession.on(JmpSessionEvents.SourceIndication, (data) => {
|
|
9698
|
-
this.emit(exports.MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources);
|
|
9699
9715
|
data.sources.forEach((s) => {
|
|
9700
9716
|
const receiveSlot = this.getReceiveSlotById(s.id);
|
|
9701
9717
|
if (!receiveSlot) {
|
|
@@ -9704,6 +9720,12 @@ class MultistreamConnection extends EventEmitter {
|
|
|
9704
9720
|
}
|
|
9705
9721
|
receiveSlot._updateSource(s.state, s.csi);
|
|
9706
9722
|
});
|
|
9723
|
+
if (data.numTotalSources !== prevNumTotalSources ||
|
|
9724
|
+
data.numLiveSources !== prevNumLiveSources) {
|
|
9725
|
+
prevNumTotalSources = data.numTotalSources;
|
|
9726
|
+
prevNumLiveSources = data.numLiveSources;
|
|
9727
|
+
this.emit(exports.MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
|
|
9728
|
+
}
|
|
9707
9729
|
});
|
|
9708
9730
|
jmpSession.on(JmpSessionEvents.ActiveSpeaker, (data) => this.emit(exports.MultistreamConnectionEventNames.ActiveSpeakerNotification, data));
|
|
9709
9731
|
jmpSession.on(JmpSessionEvents.ScrRequestReceived, (data) => {
|