Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2022-05-02 09:18:54 +0300
committerGitHub <noreply@github.com>2022-05-02 09:18:54 +0300
commit18fd7541a9c1866bf4a56d83baf9221ff894b271 (patch)
tree489515650a8853059367445050f4a18e531196a7
parent0aec76a2833bbc85850bd2f8962ab0b472620d3f (diff)
parent5fb3e546ab5becd0058854efde987f33cac421a2 (diff)
Merge pull request #7262 from nextcloud/fix-setting-sender-kind-from-transceiver-kind
Fix setting sender kind from transceiver kind
-rw-r--r--src/utils/webrtc/simplewebrtc/peer.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/utils/webrtc/simplewebrtc/peer.js b/src/utils/webrtc/simplewebrtc/peer.js
index 6b0a987a8..97b146447 100644
--- a/src/utils/webrtc/simplewebrtc/peer.js
+++ b/src/utils/webrtc/simplewebrtc/peer.js
@@ -427,6 +427,24 @@ Peer.prototype.handleOffer = function(offer) {
})
}
+Peer.prototype._getTransceiverKind = function(transceiver) {
+ // Transceivers for HPB subscribers have the transceiver kind in its mid.
+ if (transceiver.mid === 'audio' || transceiver.mid === 'video') {
+ return transceiver.mid
+ }
+
+ // In general, the transceiver kind can be got from the receiver track, as
+ // it will always be there, even if the transceiver is inactive or the
+ // remote sender never had a track.
+ if (transceiver.receiver && transceiver.receiver.track) {
+ return transceiver.receiver.track.kind
+ }
+
+ console.debug('Transceiver kind could not be determined: ', transceiver)
+
+ return null
+}
+
/**
* Blocks remote video based on "_remoteVideoShouldBeBlocked".
*
@@ -777,7 +795,7 @@ Peer.prototype._replaceTrack = async function(newTrack, oldTrack, stream) {
} else if (!sender.kind) {
this.pc.getTransceivers().forEach(transceiver => {
if (transceiver.sender === sender) {
- sender.kind = transceiver.mid
+ sender.kind = this._getTransceiverKind(transceiver)
}
})
}