Add separate native library for instrumentationtests

Also adds api in PCF for specifying which library to load.

This is in preparation for a CL adding a native function
to be used only in tests.

Bug: webrtc:9225
Change-Id: I72eff272350404729424176758bfa81f7da81836
Reviewed-on: https://webrtc-review.googlesource.com/84125
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23663}
This commit is contained in:
Paulina Hensman
2018-06-19 16:14:50 +02:00
committed by Commit Bot
parent faf282700c
commit fa2b8d7456
17 changed files with 68 additions and 15 deletions

View File

@ -41,15 +41,17 @@ public class PeerConnectionFactory {
final boolean enableInternalTracer;
final boolean enableVideoHwAcceleration;
final NativeLibraryLoader nativeLibraryLoader;
final String nativeLibraryName;
private InitializationOptions(Context applicationContext, String fieldTrials,
boolean enableInternalTracer, boolean enableVideoHwAcceleration,
NativeLibraryLoader nativeLibraryLoader) {
NativeLibraryLoader nativeLibraryLoader, String nativeLibraryName) {
this.applicationContext = applicationContext;
this.fieldTrials = fieldTrials;
this.enableInternalTracer = enableInternalTracer;
this.enableVideoHwAcceleration = enableVideoHwAcceleration;
this.nativeLibraryLoader = nativeLibraryLoader;
this.nativeLibraryName = nativeLibraryName;
}
public static Builder builder(Context applicationContext) {
@ -62,6 +64,7 @@ public class PeerConnectionFactory {
private boolean enableInternalTracer = false;
private boolean enableVideoHwAcceleration = true;
private NativeLibraryLoader nativeLibraryLoader = new NativeLibrary.DefaultLoader();
private String nativeLibraryName = "jingle_peerconnection_so";
Builder(Context applicationContext) {
this.applicationContext = applicationContext;
@ -86,10 +89,15 @@ public class PeerConnectionFactory {
this.nativeLibraryLoader = nativeLibraryLoader;
return this;
}
public Builder setNativeLibraryName(String nativeLibraryName) {
this.nativeLibraryName = nativeLibraryName;
return this;
}
public PeerConnectionFactory.InitializationOptions createInitializationOptions() {
return new PeerConnectionFactory.InitializationOptions(applicationContext, fieldTrials,
enableInternalTracer, enableVideoHwAcceleration, nativeLibraryLoader);
enableInternalTracer, enableVideoHwAcceleration, nativeLibraryLoader,
nativeLibraryName);
}
}
}
@ -193,7 +201,7 @@ public class PeerConnectionFactory {
*/
public static void initialize(InitializationOptions options) {
ContextUtils.initialize(options.applicationContext);
NativeLibrary.initialize(options.nativeLibraryLoader);
NativeLibrary.initialize(options.nativeLibraryLoader, options.nativeLibraryName);
nativeInitializeAndroidGlobals(options.enableVideoHwAcceleration);
nativeInitializeFieldTrials(options.fieldTrials);
if (options.enableInternalTracer && !internalTracerInitialized) {