mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-21 04:29:45 +01:00
Fix media stream & data channel messages sending
This commit is contained in:
parent
7e1e86ae9e
commit
8af047926e
@ -248,6 +248,7 @@ public class CallController extends BaseController {
|
||||
private ExternalSignalingServer externalSignalingServer;
|
||||
private MagicWebSocketInstance webSocketClient;
|
||||
private WebSocketConnectionHelper webSocketConnectionHelper;
|
||||
private boolean hasMCU;
|
||||
|
||||
public CallController(Bundle args) {
|
||||
super(args);
|
||||
@ -793,9 +794,19 @@ public class CallController extends BaseController {
|
||||
}
|
||||
|
||||
if (inCall) {
|
||||
if (!hasMCU) {
|
||||
for (int i = 0; i < magicPeerConnectionWrapperList.size(); i++) {
|
||||
magicPeerConnectionWrapperList.get(i).sendChannelData(new DataChannelMessage(message));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < magicPeerConnectionWrapperList.size(); i++) {
|
||||
if (magicPeerConnectionWrapperList.get(i).getSessionId().equals(callSession)) {
|
||||
magicPeerConnectionWrapperList.get(i).sendChannelData(new DataChannelMessage(message));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1493,18 +1504,16 @@ public class CallController extends BaseController {
|
||||
if ((magicPeerConnectionWrapper = getPeerConnectionWrapperForSessionId(sessionId)) != null) {
|
||||
return magicPeerConnectionWrapper;
|
||||
} else {
|
||||
boolean hasMCU = webSocketClient != null && webSocketClient.hasMCU();
|
||||
hasMCU = webSocketClient != null && webSocketClient.hasMCU();
|
||||
|
||||
if (hasMCU) {
|
||||
magicPeerConnectionWrapper = new MagicPeerConnectionWrapper(peerConnectionFactory,
|
||||
iceServers, sdpConstraintsForMCU, sessionId, callSession, localMediaStream, hasMCU);
|
||||
iceServers, sdpConstraintsForMCU, sessionId, callSession, null, hasMCU);
|
||||
} else {
|
||||
magicPeerConnectionWrapper = new MagicPeerConnectionWrapper(peerConnectionFactory,
|
||||
iceServers, sdpConstraints, sessionId, callSession, localMediaStream, hasMCU);
|
||||
}
|
||||
|
||||
magicPeerConnectionWrapper = new MagicPeerConnectionWrapper(peerConnectionFactory,
|
||||
iceServers, sdpConstraints, sessionId, callSession, localMediaStream, hasMCU);
|
||||
magicPeerConnectionWrapperList.add(magicPeerConnectionWrapper);
|
||||
return magicPeerConnectionWrapper;
|
||||
}
|
||||
|
@ -87,7 +87,9 @@ public class MagicPeerConnectionWrapper {
|
||||
new MagicPeerConnectionObserver());
|
||||
|
||||
if (peerConnection != null) {
|
||||
if (localSession != null) {
|
||||
peerConnection.addStream(localMediaStream);
|
||||
}
|
||||
|
||||
if (hasInitiated || hasMCU) {
|
||||
DataChannel.Init init = new DataChannel.Init();
|
||||
|
Loading…
Reference in New Issue
Block a user