aboutsummaryrefslogtreecommitdiff
path: root/plugins/rtp
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2021-04-01 11:51:35 +0200
committerMarvin W <git@larma.de>2021-04-01 11:51:35 +0200
commitc5ab4fed87d2dedb5ccbf671c8b2742a11251a0f (patch)
tree4c62500e3b3ca957cfd267ddd64a4cf1ed387a7d /plugins/rtp
parentc5cb43350af15e99d7304935ccf5fe84c2acdfc9 (diff)
downloaddino-c5ab4fed87d2dedb5ccbf671c8b2742a11251a0f.tar.gz
dino-c5ab4fed87d2dedb5ccbf671c8b2742a11251a0f.zip
Fix bug in legacy SRTP decryption
Diffstat (limited to 'plugins/rtp')
-rw-r--r--plugins/rtp/src/stream.vala7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/rtp/src/stream.vala b/plugins/rtp/src/stream.vala
index bedd6f8a..efa1b497 100644
--- a/plugins/rtp/src/stream.vala
+++ b/plugins/rtp/src/stream.vala
@@ -279,7 +279,7 @@ public class Dino.Plugins.Rtp.Stream : Xmpp.Xep.JingleRtp.Stream {
}
private void prepare_remote_crypto() {
- if (remote_crypto != null && crypto_session.has_decrypt) {
+ if (remote_crypto != null && !crypto_session.has_decrypt) {
crypto_session.set_decryption_key(remote_crypto.crypto_suite, remote_crypto.key, remote_crypto.salt);
debug("Setting up decryption with key params %s", remote_crypto.key_params);
}
@@ -339,6 +339,11 @@ public class Dino.Plugins.Rtp.Stream : Xmpp.Xep.JingleRtp.Stream {
}
public void on_ssrc_pad_added(string ssrc, Gst.Pad pad) {
+ debug("New ssrc %s with pad %s", ssrc, pad.name);
+ if (participant_ssrc != null && participant_ssrc != ssrc) {
+ warning("Got second ssrc on stream (old: %s, new: %s), ignoring", participant_ssrc, ssrc);
+ return;
+ }
participant_ssrc = ssrc;
recv_rtp_src_pad = pad;
if (decode != null) {