From fcb45e94f3c3e4ae8234ca3688644ce5a765ca39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Fri, 2 Oct 2020 20:15:03 +0200 Subject: [PATCH] Fix data channel suport with newer Janus versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When Janus is used even if it is possible to open several data channels with different labels and send data on them all the messages are received in the first data channel opened. In Talk the "status" data channel is used to send the data channel messages, and before Janus 0.7.0 it was the first data channel opened, so the messages were received on it. However, since Janus 0.7.0 the data channel messages are received instead on a data channel opened by Janus, which is named "JanusDataChannel". It is not possible to change that behaviour on Janus except by patching it, so for broader compatibility the messages received in "JanusDataChannel" are treated like messages received in the "status" data channel Signed-off-by: Daniel Calviño Sánchez --- .../com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java b/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java index a63e92695..da315854f 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/MagicPeerConnectionWrapper.java @@ -406,7 +406,7 @@ public class MagicPeerConnectionWrapper { @Override public void onDataChannel(DataChannel dataChannel) { - if (dataChannel.label().equals("status")) { + if (dataChannel.label().equals("status") || dataChannel.label().equals("JanusDataChannel")) { magicDataChannel = dataChannel; magicDataChannel.registerObserver(new MagicDataChannelObserver()); }