diff --git a/sdk/android/api/org/webrtc/PeerConnection.java b/sdk/android/api/org/webrtc/PeerConnection.java index a252f198f3..d50819c87b 100644 --- a/sdk/android/api/org/webrtc/PeerConnection.java +++ b/sdk/android/api/org/webrtc/PeerConnection.java @@ -462,6 +462,12 @@ public class PeerConnection { // every offer/answer negotiation.This is only intended to be a workaround for crbug.com/835958 public boolean activeResetSrtpParams; + /* + * Experimental flag that enables a use of media transport. If this is true, the media transport + * factory MUST be provided to the PeerConnectionFactory. + */ + public boolean useMediaTransport; + // TODO(deadbeef): Instead of duplicating the defaults here, we should do // something to pick up the defaults from C++. The Objective-C equivalent // of RTCConfiguration does that. @@ -501,6 +507,7 @@ public class PeerConnection { networkPreference = AdapterType.UNKNOWN; sdpSemantics = SdpSemantics.PLAN_B; activeResetSrtpParams = false; + useMediaTransport = false; } @CalledByNative("RTCConfiguration") @@ -699,6 +706,11 @@ public class PeerConnection { boolean getActiveResetSrtpParams() { return activeResetSrtpParams; } + + @CalledByNative("RTCConfiguration") + boolean getUseMediaTransport() { + return useMediaTransport; + } }; private final List localStreams = new ArrayList<>(); diff --git a/sdk/android/src/jni/pc/peerconnection.cc b/sdk/android/src/jni/pc/peerconnection.cc index 9ef126debd..8a29199cf3 100644 --- a/sdk/android/src/jni/pc/peerconnection.cc +++ b/sdk/android/src/jni/pc/peerconnection.cc @@ -244,6 +244,8 @@ void JavaToNativeRTCConfiguration( rtc_config->sdp_semantics = JavaToNativeSdpSemantics(jni, j_sdp_semantics); rtc_config->active_reset_srtp_params = Java_RTCConfiguration_getActiveResetSrtpParams(jni, j_rtc_config); + rtc_config->use_media_transport = + Java_RTCConfiguration_getUseMediaTransport(jni, j_rtc_config); } rtc::KeyType GetRtcConfigKeyType(JNIEnv* env,