Revert "Android: Remove deprecated PeerConnectionFactory ctors"

This reverts commit 3e0dee26603cdc3a2653c225398f55dd8ca0d8c1.

Reason for revert: broke internal project.

Original change's description:
> Android: Remove deprecated PeerConnectionFactory ctors
> 
> This CL removes deprecated PeerConnectionFactory ctors as well as some
> deprecated comments and functions left from the
> PeerConnectionFactory.initialize work.
> 
> Bug: webrtc:9158
> Change-Id: I757f85b52cbfdbe15bf2570c394202b898892550
> Reviewed-on: https://webrtc-review.googlesource.com/70400
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23085}

TBR=magjed@webrtc.org,sakal@webrtc.org

Change-Id: I6a38e65b9ebfe7ccd783b87f6cef0b41d6c6ba38
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9158
Reviewed-on: https://webrtc-review.googlesource.com/74080
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23089}
This commit is contained in:
Sam Zackrisson
2018-05-03 09:45:18 +00:00
committed by Commit Bot
parent edcd2cc572
commit 207e6f8cd9
5 changed files with 73 additions and 11 deletions

View File

@ -196,7 +196,7 @@ public class PeerConnectionFactory {
ContextUtils.initialize(options.applicationContext);
NativeLibrary.initialize(options.nativeLibraryLoader);
nativeInitializeAndroidGlobals(options.enableVideoHwAcceleration);
nativeInitializeFieldTrials(options.fieldTrials);
initializeFieldTrials(options.fieldTrials);
if (options.enableInternalTracer && !internalTracerInitialized) {
initializeInternalTracer();
}
@ -247,6 +247,36 @@ public class PeerConnectionFactory {
nativeStopInternalTracingCapture();
}
@Deprecated
public PeerConnectionFactory() {
this(null);
}
// Note: initializeAndroidGlobals must be called at least once before
// constructing a PeerConnectionFactory.
@Deprecated
public PeerConnectionFactory(Options options) {
this(options, null /* encoderFactory */, null /* decoderFactory */);
}
@Deprecated
public PeerConnectionFactory(
Options options, VideoEncoderFactory encoderFactory, VideoDecoderFactory decoderFactory) {
checkInitializeHasBeenCalled();
nativeFactory = nativeCreatePeerConnectionFactory(ContextUtils.getApplicationContext(), options,
0 /* audioDeviceModule */, encoderFactory, decoderFactory, 0, 0);
if (nativeFactory == 0) {
throw new RuntimeException("Failed to initialize PeerConnectionFactory!");
}
}
@Deprecated
public PeerConnectionFactory(Options options, VideoEncoderFactory encoderFactory,
VideoDecoderFactory decoderFactory, AudioProcessingFactory audioProcessingFactory) {
this(options, new LegacyAudioDeviceModule(), encoderFactory, decoderFactory,
audioProcessingFactory, null /* fecControllerFactoryFactory */);
}
private PeerConnectionFactory(Options options, @Nullable AudioDeviceModule audioDeviceModule,
@Nullable VideoEncoderFactory encoderFactory, @Nullable VideoDecoderFactory decoderFactory,
@Nullable AudioProcessingFactory audioProcessingFactory,
@ -361,6 +391,11 @@ public class PeerConnectionFactory {
nativeStopAecDump(nativeFactory);
}
@Deprecated
public void setOptions(Options options) {
nativeSetOptions(nativeFactory, options);
}
/** Set the EGL context used by HW Video encoding and decoding.
*
* @param localEglContext Must be the same as used by VideoCapturerAndroid and any local video
@ -449,6 +484,9 @@ public class PeerConnectionFactory {
private static native void nativeInitializeAndroidGlobals(boolean videoHwAcceleration);
private static native void nativeInitializeFieldTrials(String fieldTrialsInitString);
private static native String nativeFindFieldTrialsFullName(String name);
// Internal tracing initialization. Must be called before PeerConnectionFactory is created to
// prevent racing with tracing code.
// Deprecated, use PeerConnectionFactory.initialize instead.
private static native void nativeInitializeInternalTracer();
// Internal tracing shutdown, called to prevent resource leaks. Must be called after
// PeerConnectionFactory is gone to prevent races with code performing tracing.
@ -470,6 +508,7 @@ public class PeerConnectionFactory {
private static native boolean nativeStartAecDump(
long factory, int file_descriptor, int filesize_limit_bytes);
private static native void nativeStopAecDump(long factory);
@Deprecated public native void nativeSetOptions(long factory, Options options);
private static native void nativeSetVideoHwAccelerationOptions(
long factory, Object localEGLContext, Object remoteEGLContext);
private static native void nativeInvokeThreadsCallbacks(long factory);

View File

@ -336,7 +336,7 @@ class CameraVideoCapturerTestFixtures {
PeerConnectionFactory.InitializationOptions.builder(testObjectFactory.getAppContext())
.createInitializationOptions());
this.peerConnectionFactory = PeerConnectionFactory.builder().createPeerConnectionFactory();
this.peerConnectionFactory = new PeerConnectionFactory(null /* options */);
this.testObjectFactory = testObjectFactory;
}

View File

@ -642,7 +642,8 @@ public class PeerConnectionTest {
@Test
@SmallTest
public void testCreationWithConfig() throws Exception {
PeerConnectionFactory factory = PeerConnectionFactory.builder().createPeerConnectionFactory();
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
PeerConnectionFactory factory = new PeerConnectionFactory(options);
List<PeerConnection.IceServer> iceServers = Arrays.asList(
PeerConnection.IceServer.builder("stun:stun.l.google.com:19302").createIceServer(),
PeerConnection.IceServer.builder("turn:fake.example.com")
@ -668,8 +669,7 @@ public class PeerConnectionTest {
// have those.
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
options.networkIgnoreMask = 0;
PeerConnectionFactory factory =
PeerConnectionFactory.builder().setOptions(options).createPeerConnectionFactory();
PeerConnectionFactory factory = new PeerConnectionFactory(options);
List<PeerConnection.IceServer> iceServers = new ArrayList<>();
iceServers.add(
@ -908,8 +908,7 @@ public class PeerConnectionTest {
// have those.
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
options.networkIgnoreMask = 0;
PeerConnectionFactory factory =
PeerConnectionFactory.builder().setOptions(options).createPeerConnectionFactory();
PeerConnectionFactory factory = new PeerConnectionFactory(options);
List<PeerConnection.IceServer> iceServers = new ArrayList<>();
iceServers.add(
@ -1063,8 +1062,7 @@ public class PeerConnectionTest {
// have those.
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
options.networkIgnoreMask = 0;
PeerConnectionFactory factory =
PeerConnectionFactory.builder().setOptions(options).createPeerConnectionFactory();
PeerConnectionFactory factory = new PeerConnectionFactory(options);
List<PeerConnection.IceServer> iceServers = new ArrayList<>();
iceServers.add(
@ -1257,7 +1255,8 @@ public class PeerConnectionTest {
@Test
@MediumTest
public void testRemoteStreamUpdatedWhenTracksAddedOrRemoved() throws Exception {
PeerConnectionFactory factory = PeerConnectionFactory.builder().createPeerConnectionFactory();
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
PeerConnectionFactory factory = new PeerConnectionFactory(options);
// This test is fine with no ICE servers.
List<PeerConnection.IceServer> iceServers = new ArrayList<>();

View File

@ -28,6 +28,8 @@ public class WebRtcJniBootTest {
PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions
.builder(InstrumentationRegistry.getTargetContext())
.createInitializationOptions());
PeerConnectionFactory.builder().createPeerConnectionFactory();
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
new PeerConnectionFactory(options);
}
}

View File

@ -412,6 +412,28 @@ static void JNI_PeerConnectionFactory_StopAecDump(JNIEnv* jni,
factory->StopAecDump();
}
static void JNI_PeerConnectionFactory_SetOptions(
JNIEnv* jni,
const JavaParamRef<jobject>&,
jlong native_factory,
const JavaParamRef<jobject>& options) {
rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
factoryFromJava(native_factory));
PeerConnectionFactoryInterface::Options options_to_set =
JavaToNativePeerConnectionFactoryOptions(jni, options);
factory->SetOptions(options_to_set);
if (options_to_set.disable_network_monitor) {
OwnedFactoryAndThreads* owner =
reinterpret_cast<OwnedFactoryAndThreads*>(native_factory);
if (owner->network_monitor_factory()) {
rtc::NetworkMonitorFactory::ReleaseFactory(
owner->network_monitor_factory());
owner->clear_network_monitor_factory();
}
}
}
static jlong JNI_PeerConnectionFactory_CreatePeerConnection(
JNIEnv* jni,
const JavaParamRef<jclass>&,