This reverts commit da2fd2a2b25ee4bd7b383424cb26d51fb6cc7716, as well as follow-up b7227a5a10f233cec04642f15a0233e7355bd340, "Fix handling of partial match for GetVpnUnderlyingAdapterType". Reason for revert: Breaks downstream test. First change's description: > Fix problem with ipv4 over ipv6 on Android > > This patch fixes a problem with using ipv4 over ipv6 > addresses on Android. These addresses are discovered > using 'getifaddr' with interfaces called 'v4-wlan0' or > 'v4-rmnet' but the Android API does not report them. > > This leads to failure when BasicPortAllocator tries > to bind a socket to the ip-address, making the ipv4 > address unusable. > > This solution does the following > 1) Insert BasicNetworkManager as NetworkBinderInterface > rather than AndroidNetworkManager. > > 2) When SocketServer calls BindSocketToNetwork, > BasicNetworkManager first lookup the interface name, > and then calls AndroidNetworkManager. > > 3) AndroidNetworkManager will then first try to bind > using the known ip-addresses, and if it can't find the network > it will instead match the interface names. > > The patch has been tested on real android devices, and works fine. > And everything is disabled by default, and is enabled by field trial. > > My plan is to rollout the feature, checking that it does not introduce > any problems, and if so, enabled for all. > > Bug: webrtc:10707 > Change-Id: I7081ba43d4ce17077acfa5fbab44eda127ac3971 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211003 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33422} Second change's description: > Fix handling of partial match for GetVpnUnderlyingAdapterType > > This is a followup to https://webrtc-review.googlesource.com/c/src/+/211003 > and fixes the problem pointed out by deadbeef@, thanks! > > Bug: webrtc:10707 > Change-Id: I8dea842b25ba15416353ce4002356183087873c7 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211344 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33436} TBR=hta@webrtc.org,jonaso@webrtc.org NOTRY=True Bug: webrtc:10707 Change-Id: Ib13127fbf087c7f34ca0ccc6ce1805706f01d19d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211740 Reviewed-by: Taylor <deadbeef@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33453}
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, make sure you have a WebRTC checkout
with Android specific parts. This can be used for linux development as well by
configuring gn appropriately, as it is a superset of the webrtc checkout:
fetch --nohooks webrtc_android
gclient sync
You also must generate GN projects with:
--args='target_os="android" target_cpu="arm"'
More information on getting the code, compiling and running the AppRTCMobile
app can be found at:
https://webrtc.org/native-code/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 src/jni/pc/.