| Index: talk/app/webrtc/java/jni/peerconnection_jni.cc
|
| diff --git a/talk/app/webrtc/java/jni/peerconnection_jni.cc b/talk/app/webrtc/java/jni/peerconnection_jni.cc
|
| index f5c52581372196e4cc8f92d602383669c7c1e1d3..e9e4c07f0341cb93f7b430f4690c3b1aa0b4273a 100644
|
| --- a/talk/app/webrtc/java/jni/peerconnection_jni.cc
|
| +++ b/talk/app/webrtc/java/jni/peerconnection_jni.cc
|
| @@ -1364,65 +1364,6 @@
|
| CHECK_EXCEPTION(jni) << "error during CallBooleanMethod";
|
| }
|
|
|
| -static void JavaRTCConfigurationToJsepRTCConfiguration(
|
| - JNIEnv* jni,
|
| - jobject j_rtc_config,
|
| - PeerConnectionInterface::RTCConfiguration* rtc_config) {
|
| - jclass j_rtc_config_class = GetObjectClass(jni, j_rtc_config);
|
| -
|
| - jfieldID j_ice_transports_type_id = GetFieldID(
|
| - jni, j_rtc_config_class, "iceTransportsType",
|
| - "Lorg/webrtc/PeerConnection$IceTransportsType;");
|
| - jobject j_ice_transports_type = GetObjectField(
|
| - jni, j_rtc_config, j_ice_transports_type_id);
|
| -
|
| - jfieldID j_bundle_policy_id = GetFieldID(
|
| - jni, j_rtc_config_class, "bundlePolicy",
|
| - "Lorg/webrtc/PeerConnection$BundlePolicy;");
|
| - jobject j_bundle_policy = GetObjectField(
|
| - jni, j_rtc_config, j_bundle_policy_id);
|
| -
|
| - jfieldID j_rtcp_mux_policy_id = GetFieldID(
|
| - jni, j_rtc_config_class, "rtcpMuxPolicy",
|
| - "Lorg/webrtc/PeerConnection$RtcpMuxPolicy;");
|
| - jobject j_rtcp_mux_policy = GetObjectField(
|
| - jni, j_rtc_config, j_rtcp_mux_policy_id);
|
| -
|
| - jfieldID j_tcp_candidate_policy_id = GetFieldID(
|
| - jni, j_rtc_config_class, "tcpCandidatePolicy",
|
| - "Lorg/webrtc/PeerConnection$TcpCandidatePolicy;");
|
| - jobject j_tcp_candidate_policy = GetObjectField(
|
| - jni, j_rtc_config, j_tcp_candidate_policy_id);
|
| -
|
| - jfieldID j_ice_servers_id = GetFieldID(
|
| - jni, j_rtc_config_class, "iceServers", "Ljava/util/List;");
|
| - jobject j_ice_servers = GetObjectField(jni, j_rtc_config, j_ice_servers_id);
|
| -
|
| - jfieldID j_audio_jitter_buffer_max_packets_id =
|
| - GetFieldID(jni, j_rtc_config_class, "audioJitterBufferMaxPackets", "I");
|
| - jfieldID j_audio_jitter_buffer_fast_accelerate_id = GetFieldID(
|
| - jni, j_rtc_config_class, "audioJitterBufferFastAccelerate", "Z");
|
| -
|
| - jfieldID j_ice_connection_receiving_timeout_id =
|
| - GetFieldID(jni, j_rtc_config_class, "iceConnectionReceivingTimeout", "I");
|
| -
|
| - rtc_config->type =
|
| - JavaIceTransportsTypeToNativeType(jni, j_ice_transports_type);
|
| - rtc_config->bundle_policy =
|
| - JavaBundlePolicyToNativeType(jni, j_bundle_policy);
|
| - rtc_config->rtcp_mux_policy =
|
| - JavaRtcpMuxPolicyToNativeType(jni, j_rtcp_mux_policy);
|
| - rtc_config->tcp_candidate_policy =
|
| - JavaTcpCandidatePolicyToNativeType(jni, j_tcp_candidate_policy);
|
| - JavaIceServersToJsepIceServers(jni, j_ice_servers, &rtc_config->servers);
|
| - rtc_config->audio_jitter_buffer_max_packets =
|
| - GetIntField(jni, j_rtc_config, j_audio_jitter_buffer_max_packets_id);
|
| - rtc_config->audio_jitter_buffer_fast_accelerate = GetBooleanField(
|
| - jni, j_rtc_config, j_audio_jitter_buffer_fast_accelerate_id);
|
| - rtc_config->ice_connection_receiving_timeout =
|
| - GetIntField(jni, j_rtc_config, j_ice_connection_receiving_timeout_id);
|
| -}
|
| -
|
| JOW(jlong, PeerConnectionFactory_nativeCreatePeerConnection)(
|
| JNIEnv *jni, jclass, jlong factory, jobject j_rtc_config,
|
| jobject j_constraints, jlong observer_p) {
|
| @@ -1430,13 +1371,63 @@
|
| reinterpret_cast<PeerConnectionFactoryInterface*>(
|
| factoryFromJava(factory)));
|
|
|
| + jclass j_rtc_config_class = GetObjectClass(jni, j_rtc_config);
|
| +
|
| + jfieldID j_ice_transports_type_id = GetFieldID(
|
| + jni, j_rtc_config_class, "iceTransportsType",
|
| + "Lorg/webrtc/PeerConnection$IceTransportsType;");
|
| + jobject j_ice_transports_type = GetObjectField(
|
| + jni, j_rtc_config, j_ice_transports_type_id);
|
| +
|
| + jfieldID j_bundle_policy_id = GetFieldID(
|
| + jni, j_rtc_config_class, "bundlePolicy",
|
| + "Lorg/webrtc/PeerConnection$BundlePolicy;");
|
| + jobject j_bundle_policy = GetObjectField(
|
| + jni, j_rtc_config, j_bundle_policy_id);
|
| +
|
| + jfieldID j_rtcp_mux_policy_id = GetFieldID(
|
| + jni, j_rtc_config_class, "rtcpMuxPolicy",
|
| + "Lorg/webrtc/PeerConnection$RtcpMuxPolicy;");
|
| + jobject j_rtcp_mux_policy = GetObjectField(
|
| + jni, j_rtc_config, j_rtcp_mux_policy_id);
|
| +
|
| + jfieldID j_tcp_candidate_policy_id = GetFieldID(
|
| + jni, j_rtc_config_class, "tcpCandidatePolicy",
|
| + "Lorg/webrtc/PeerConnection$TcpCandidatePolicy;");
|
| + jobject j_tcp_candidate_policy = GetObjectField(
|
| + jni, j_rtc_config, j_tcp_candidate_policy_id);
|
| +
|
| + jfieldID j_ice_servers_id = GetFieldID(
|
| + jni, j_rtc_config_class, "iceServers", "Ljava/util/List;");
|
| + jobject j_ice_servers = GetObjectField(jni, j_rtc_config, j_ice_servers_id);
|
| +
|
| + jfieldID j_audio_jitter_buffer_max_packets_id =
|
| + GetFieldID(jni, j_rtc_config_class, "audioJitterBufferMaxPackets", "I");
|
| + jfieldID j_audio_jitter_buffer_fast_accelerate_id = GetFieldID(
|
| + jni, j_rtc_config_class, "audioJitterBufferFastAccelerate", "Z");
|
| +
|
| + jfieldID j_ice_connection_receiving_timeout_id =
|
| + GetFieldID(jni, j_rtc_config_class, "iceConnectionReceivingTimeout", "I");
|
| +
|
| + jfieldID j_key_type_id = GetFieldID(jni, j_rtc_config_class, "keyType",
|
| + "Lorg/webrtc/PeerConnection$KeyType;");
|
| + jobject j_key_type = GetObjectField(jni, j_rtc_config, j_key_type_id);
|
| +
|
| PeerConnectionInterface::RTCConfiguration rtc_config;
|
| - JavaRTCConfigurationToJsepRTCConfiguration(jni, j_rtc_config, &rtc_config);
|
| -
|
| - jclass j_rtc_config_class = GetObjectClass(jni, j_rtc_config);
|
| - jfieldID j_key_type_id = GetFieldID(jni, j_rtc_config_class, "keyType",
|
| - "Lorg/webrtc/PeerConnection$KeyType;");
|
| - jobject j_key_type = GetObjectField(jni, j_rtc_config, j_key_type_id);
|
| + rtc_config.type =
|
| + JavaIceTransportsTypeToNativeType(jni, j_ice_transports_type);
|
| + rtc_config.bundle_policy = JavaBundlePolicyToNativeType(jni, j_bundle_policy);
|
| + rtc_config.rtcp_mux_policy =
|
| + JavaRtcpMuxPolicyToNativeType(jni, j_rtcp_mux_policy);
|
| + rtc_config.tcp_candidate_policy =
|
| + JavaTcpCandidatePolicyToNativeType(jni, j_tcp_candidate_policy);
|
| + JavaIceServersToJsepIceServers(jni, j_ice_servers, &rtc_config.servers);
|
| + rtc_config.audio_jitter_buffer_max_packets =
|
| + GetIntField(jni, j_rtc_config, j_audio_jitter_buffer_max_packets_id);
|
| + rtc_config.audio_jitter_buffer_fast_accelerate = GetBooleanField(
|
| + jni, j_rtc_config, j_audio_jitter_buffer_fast_accelerate_id);
|
| + rtc_config.ice_connection_receiving_timeout =
|
| + GetIntField(jni, j_rtc_config, j_ice_connection_receiving_timeout_id);
|
|
|
| // Create ECDSA certificate.
|
| if (JavaKeyTypeToNativeType(jni, j_key_type) == rtc::KT_ECDSA) {
|
| @@ -1569,11 +1560,13 @@
|
| observer, JavaSdpToNativeSdp(jni, j_sdp));
|
| }
|
|
|
| -JOW(jboolean, PeerConnection_setConfiguration)(
|
| - JNIEnv* jni, jobject j_pc, jobject j_rtc_config) {
|
| - PeerConnectionInterface::RTCConfiguration rtc_config;
|
| - JavaRTCConfigurationToJsepRTCConfiguration(jni, j_rtc_config, &rtc_config);
|
| - return ExtractNativePC(jni, j_pc)->SetConfiguration(rtc_config);
|
| +JOW(jboolean, PeerConnection_updateIce)(
|
| + JNIEnv* jni, jobject j_pc, jobject j_ice_servers, jobject j_constraints) {
|
| + PeerConnectionInterface::IceServers ice_servers;
|
| + JavaIceServersToJsepIceServers(jni, j_ice_servers, &ice_servers);
|
| + scoped_ptr<ConstraintsWrapper> constraints(
|
| + new ConstraintsWrapper(jni, j_constraints));
|
| + return ExtractNativePC(jni, j_pc)->UpdateIce(ice_servers, constraints.get());
|
| }
|
|
|
| JOW(jboolean, PeerConnection_nativeAddIceCandidate)(
|
|
|