diff --git a/webrtc/sdk/android/api/org/webrtc/IceCandidate.java b/webrtc/sdk/android/api/org/webrtc/IceCandidate.java index 3476ab4f19..cfdfe600a0 100644 --- a/webrtc/sdk/android/api/org/webrtc/IceCandidate.java +++ b/webrtc/sdk/android/api/org/webrtc/IceCandidate.java @@ -18,14 +18,24 @@ public class IceCandidate { public final String sdpMid; public final int sdpMLineIndex; public final String sdp; + public final String serverUrl; public IceCandidate(String sdpMid, int sdpMLineIndex, String sdp) { this.sdpMid = sdpMid; this.sdpMLineIndex = sdpMLineIndex; this.sdp = sdp; + this.serverUrl = ""; + } + + // Only be called internally from JNI. + private IceCandidate(String sdpMid, int sdpMLineIndex, String sdp, String serverUrl) { + this.sdpMid = sdpMid; + this.sdpMLineIndex = sdpMLineIndex; + this.sdp = sdp; + this.serverUrl = serverUrl; } public String toString() { - return sdpMid + ":" + sdpMLineIndex + ":" + sdp; + return sdpMid + ":" + sdpMLineIndex + ":" + sdp + ":" + serverUrl; } } diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc index d3f23445d6..dfc1090463 100644 --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc @@ -245,12 +245,16 @@ class PCOJava : public PeerConnectionObserver { std::string sdp; RTC_CHECK(candidate->ToString(&sdp)) << "got so far: " << sdp; jclass candidate_class = FindClass(jni(), "org/webrtc/IceCandidate"); - jmethodID ctor = GetMethodID(jni(), candidate_class, - "", "(Ljava/lang/String;ILjava/lang/String;)V"); + jmethodID ctor = GetMethodID( + jni(), candidate_class, "", + "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V"); jstring j_mid = JavaStringFromStdString(jni(), candidate->sdp_mid()); jstring j_sdp = JavaStringFromStdString(jni(), sdp); - jobject j_candidate = jni()->NewObject(candidate_class, ctor, j_mid, - candidate->sdp_mline_index(), j_sdp); + jstring j_url = + JavaStringFromStdString(jni(), candidate->candidate().url()); + jobject j_candidate = + jni()->NewObject(candidate_class, ctor, j_mid, + candidate->sdp_mline_index(), j_sdp, j_url); CHECK_EXCEPTION(jni()) << "error during NewObject"; jmethodID m = GetMethodID(jni(), *j_observer_class_, "onIceCandidate", "(Lorg/webrtc/IceCandidate;)V");