| /* |
| * Copyright 2017 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| package org.webrtc; |
| |
| import androidx.test.InstrumentationRegistry; |
| import androidx.test.filters.SmallTest; |
| import org.junit.Test; |
| |
| public class PeerConnectionFactoryTest { |
| @SmallTest |
| @Test |
| public void testInitialize() { |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| } |
| |
| @SmallTest |
| @Test |
| public void testInitializeTwice() { |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| } |
| |
| @SmallTest |
| @Test |
| public void testInitializeTwiceWithTracer() { |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setEnableInternalTracer(true) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setEnableInternalTracer(true) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| } |
| |
| @SmallTest |
| @Test |
| public void testInitializeWithTracerAndShutdown() { |
| PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions |
| .builder(InstrumentationRegistry.getTargetContext()) |
| .setEnableInternalTracer(true) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| PeerConnectionFactory.shutdownInternalTracer(); |
| } |
| |
| // Tests that the JNI glue between Java and C++ does not crash when creating a |
| // PeerConnectionFactory. |
| @Test |
| @SmallTest |
| public void testCreation() throws Exception { |
| PeerConnectionFactory.initialize( |
| PeerConnectionFactory.InitializationOptions.builder( |
| InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| |
| PeerConnectionFactory factory = PeerConnectionFactory.builder().createPeerConnectionFactory(); |
| } |
| |
| @Test |
| @SmallTest |
| public void testCreationWithFieldTrials() throws Exception { |
| PeerConnectionFactory.initialize( |
| PeerConnectionFactory.InitializationOptions.builder( |
| InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| |
| PeerConnectionFactory factory = |
| PeerConnectionFactory.builder().setFieldTrials("").createPeerConnectionFactory(); |
| } |
| |
| @Test |
| @SmallTest |
| public void testCreationWithAudioFrameProcessor() throws Exception { |
| PeerConnectionFactory.initialize( |
| PeerConnectionFactory.InitializationOptions.builder( |
| InstrumentationRegistry.getTargetContext()) |
| .setNativeLibraryName(TestConstants.NATIVE_LIBRARY) |
| .createInitializationOptions()); |
| |
| final AudioFrameProcessor audioFrameProcessor = |
| new AudioFrameProcessor() { |
| @Override |
| public long getNativeAudioFrameProcessor() { |
| return 0; |
| } |
| }; |
| |
| PeerConnectionFactory factory = |
| PeerConnectionFactory.builder() |
| .setAudioFrameProcessor(audioFrameProcessor) |
| .createPeerConnectionFactory(); |
| } |
| } |