Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1227)

Unified Diff: talk/app/webrtc/java/jni/peerconnection_jni.cc

Issue 1317353005: Adding PeerConnectionInterface::SetConfiguration method. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Deleting some unused code, and adding TODO for pending deletion Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | talk/app/webrtc/java/src/org/webrtc/PeerConnection.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 e9e4c07f0341cb93f7b430f4690c3b1aa0b4273a..f5c52581372196e4cc8f92d602383669c7c1e1d3 100644
--- a/talk/app/webrtc/java/jni/peerconnection_jni.cc
+++ b/talk/app/webrtc/java/jni/peerconnection_jni.cc
@@ -1364,13 +1364,10 @@ static void JavaIceServersToJsepIceServers(
CHECK_EXCEPTION(jni) << "error during CallBooleanMethod";
}
-JOW(jlong, PeerConnectionFactory_nativeCreatePeerConnection)(
- JNIEnv *jni, jclass, jlong factory, jobject j_rtc_config,
- jobject j_constraints, jlong observer_p) {
- rtc::scoped_refptr<PeerConnectionFactoryInterface> f(
- reinterpret_cast<PeerConnectionFactoryInterface*>(
- factoryFromJava(factory)));
-
+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(
@@ -1409,25 +1406,37 @@ JOW(jlong, PeerConnectionFactory_nativeCreatePeerConnection)(
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;
- rtc_config.type =
+ rtc_config->type =
JavaIceTransportsTypeToNativeType(jni, j_ice_transports_type);
- rtc_config.bundle_policy = JavaBundlePolicyToNativeType(jni, j_bundle_policy);
- rtc_config.rtcp_mux_policy =
+ 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 =
+ 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 =
+ 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(
+ 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 =
+ 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) {
+ rtc::scoped_refptr<PeerConnectionFactoryInterface> f(
+ reinterpret_cast<PeerConnectionFactoryInterface*>(
+ factoryFromJava(factory)));
+
+ 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);
// Create ECDSA certificate.
if (JavaKeyTypeToNativeType(jni, j_key_type) == rtc::KT_ECDSA) {
@@ -1560,13 +1569,11 @@ JOW(void, PeerConnection_setRemoteDescription)(
observer, JavaSdpToNativeSdp(jni, j_sdp));
}
-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_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_nativeAddIceCandidate)(
« no previous file with comments | « no previous file | talk/app/webrtc/java/src/org/webrtc/PeerConnection.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698