When you create multiple "PeerConnectionFactory"s, they end up using the same NetworkMonitor singleton. But the second one's "AndroidNetworkMonitor" class (in C++) wasn't getting the expected network list update, and as a result it wasn't binding sockets to networks successfully, acting as if the networks didn't exist. The solution is just to move "updateActiveNetworkList" to "startMonitoring". This CL also does some other minor cleanup/refactoring, and fixes a more corner-casey issue where, if the first PeerConnection is destroyed, the second one would stop receiving network updates. BUG=webrtc:7946 Review-Url: https://codereview.webrtc.org/2990693002 Cr-Commit-Position: refs/heads/master@{#19156}
This directory holds a Java implementation of the webrtc::PeerConnection API, as
well as the JNI glue C++ code that lets the Java implementation reuse the C++
implementation of the same API.
To build the Java API and related tests, generate GN projects with:
--args='target_os="android"'
To use the Java API, start by looking at the public interface of
org.webrtc.PeerConnection{,Factory} and the org.webrtc.PeerConnectionTest.
To understand the implementation of the API, see the native code in jni/.