Skip to content

Commit 02bd91c

Browse files
committed
Allow sdpMLineIndex to be null when addCandidate.
`
1 parent 81fec36 commit 02bd91c

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

android/src/main/java/com/cloudwebrtc/webrtc/MethodCallHandlerImpl.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1523,11 +1523,14 @@ public void peerConnectionAddICECandidate(ConstraintsMap candidateMap, final Str
15231523
boolean res = false;
15241524
PeerConnection peerConnection = getPeerConnection(id);
15251525
if (peerConnection != null) {
1526+
int sdpMLineIndex = 0;
1527+
if (!candidateMap.isNull("sdpMLineIndex")) {
1528+
sdpMLineIndex = candidateMap.getInt("sdpMLineIndex");
1529+
}
15261530
IceCandidate candidate = new IceCandidate(
1527-
candidateMap.getString("sdpMid"),
1528-
candidateMap.getInt("sdpMLineIndex"),
1529-
candidateMap.getString("candidate")
1530-
);
1531+
candidateMap.getString("sdpMid"),
1532+
sdpMLineIndex,
1533+
candidateMap.getString("candidate"));
15311534
res = peerConnection.addIceCandidate(candidate);
15321535
} else {
15331536
resultError("peerConnectionAddICECandidate", "peerConnection is null", result);

common/cpp/src/flutter_webrtc.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,10 +261,11 @@ void FlutterWebRTC::HandleMethodCall(
261261
}
262262

263263
SdpParseError error;
264+
int sdpMLineIndex = findInt(constraints, "sdpMLineIndex");
264265
scoped_refptr<RTCIceCandidate> rtc_candidate =
265266
RTCIceCandidate::Create(findString(constraints, "candidate").c_str(),
266267
findString(constraints, "sdpMid").c_str(),
267-
findInt(constraints, "sdpMLineIndex"), &error);
268+
sdpMLineIndex == -1 ? 0 : sdpMLineIndex, &error);
268269

269270
AddIceCandidate(rtc_candidate.get(), pc, std::move(result));
270271
} else if (method_call.method_name().compare("getStats") == 0) {

0 commit comments

Comments
 (0)