Android: Deprecate peerconnection constraints.
C++ API allows passing all configuration through RTCConfiguration object. This adds all values previously passed through PC constraints to Java RTCConfiguration object and deprecates API that takes PC contraints. Using the deprecated API overrides the values in RTCConfigration object. Bug: webrtc:8663, webrtc:8662 Change-Id: I128432c3caba74403513fb1347ff58830c643885 Reviewed-on: https://webrtc-review.googlesource.com/33460 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21357}
This commit is contained in:
committed by
Commit Bot
parent
ecb5e2a4b9
commit
e8b26cd86b
@ -185,6 +185,12 @@ rtc::Optional<int32_t> JavaToNativeOptionalInt(JNIEnv* jni, jobject integer) {
|
||||
return JNI_Integer::Java_Integer_intValue(jni, integer);
|
||||
}
|
||||
|
||||
rtc::Optional<bool> JavaToNativeOptionalBool(JNIEnv* jni, jobject boolean) {
|
||||
if (IsNull(jni, boolean))
|
||||
return rtc::nullopt;
|
||||
return JNI_Boolean::Java_Boolean_booleanValue(jni, boolean);
|
||||
}
|
||||
|
||||
int64_t JavaToNativeLong(JNIEnv* env, jobject j_long) {
|
||||
return JNI_Long::Java_Long_longValue(env, j_long);
|
||||
}
|
||||
|
||||
@ -67,6 +67,7 @@ std::string JavaToStdString(JNIEnv* jni, const jstring& j_string);
|
||||
std::vector<std::string> JavaToStdVectorStrings(JNIEnv* jni, jobject list);
|
||||
|
||||
rtc::Optional<int32_t> JavaToNativeOptionalInt(JNIEnv* jni, jobject integer);
|
||||
rtc::Optional<bool> JavaToNativeOptionalBool(JNIEnv* jni, jobject boolean);
|
||||
int64_t JavaToNativeLong(JNIEnv* env, jobject j_long);
|
||||
|
||||
jobject NativeToJavaBoolean(JNIEnv* env, bool b);
|
||||
|
||||
@ -173,6 +173,23 @@ void JavaToNativeRTCConfiguration(
|
||||
rtc_config->turn_customizer = reinterpret_cast<webrtc::TurnCustomizer*>(
|
||||
Java_TurnCustomizer_getNativeTurnCustomizer(jni, j_turn_customizer));
|
||||
}
|
||||
|
||||
rtc_config->disable_ipv6 =
|
||||
Java_RTCConfiguration_getDisableIpv6(jni, j_rtc_config);
|
||||
rtc_config->media_config.enable_dscp =
|
||||
Java_RTCConfiguration_getEnableDscp(jni, j_rtc_config);
|
||||
rtc_config->media_config.video.enable_cpu_overuse_detection =
|
||||
Java_RTCConfiguration_getEnableCpuOveruseDetection(jni, j_rtc_config);
|
||||
rtc_config->enable_rtp_data_channel =
|
||||
Java_RTCConfiguration_getEnableRtpDataChannel(jni, j_rtc_config);
|
||||
rtc_config->media_config.video.suspend_below_min_bitrate =
|
||||
Java_RTCConfiguration_getSuspendBelowMinBitrate(jni, j_rtc_config);
|
||||
rtc_config->screencast_min_bitrate = JavaToNativeOptionalInt(
|
||||
jni, Java_RTCConfiguration_getScreencastMinBitrate(jni, j_rtc_config));
|
||||
rtc_config->combined_audio_video_bwe = JavaToNativeOptionalBool(
|
||||
jni, Java_RTCConfiguration_getCombinedAudioVideoBwe(jni, j_rtc_config));
|
||||
rtc_config->enable_dtls_srtp = JavaToNativeOptionalBool(
|
||||
jni, Java_RTCConfiguration_getEnableDtlsSrtp(jni, j_rtc_config));
|
||||
}
|
||||
|
||||
rtc::KeyType GetRtcConfigKeyType(JNIEnv* env, jobject j_rtc_config) {
|
||||
@ -545,7 +562,9 @@ JNI_FUNCTION_DECLARATION(jboolean,
|
||||
PeerConnectionInterface::RTCConfiguration rtc_config(
|
||||
PeerConnectionInterface::RTCConfigurationType::kAggressive);
|
||||
JavaToNativeRTCConfiguration(jni, j_rtc_config, &rtc_config);
|
||||
CopyConstraintsIntoRtcConfiguration(observer->constraints(), &rtc_config);
|
||||
if (observer && observer->constraints()) {
|
||||
CopyConstraintsIntoRtcConfiguration(observer->constraints(), &rtc_config);
|
||||
}
|
||||
return ExtractNativePC(jni, j_pc)->SetConfiguration(rtc_config);
|
||||
}
|
||||
|
||||
|
||||
@ -464,8 +464,10 @@ JNI_FUNCTION_DECLARATION(jlong,
|
||||
|
||||
PeerConnectionObserverJni* observer =
|
||||
reinterpret_cast<PeerConnectionObserverJni*>(observer_p);
|
||||
observer->SetConstraints(JavaToNativeMediaConstraints(jni, j_constraints));
|
||||
CopyConstraintsIntoRtcConfiguration(observer->constraints(), &rtc_config);
|
||||
if (j_constraints != nullptr) {
|
||||
observer->SetConstraints(JavaToNativeMediaConstraints(jni, j_constraints));
|
||||
CopyConstraintsIntoRtcConfiguration(observer->constraints(), &rtc_config);
|
||||
}
|
||||
rtc::scoped_refptr<PeerConnectionInterface> pc(
|
||||
f->CreatePeerConnection(rtc_config, nullptr, nullptr, observer));
|
||||
return (jlong)pc.release();
|
||||
|
||||
Reference in New Issue
Block a user