No description
Find a file
Jonas Oreland 3c775ece73 Rewrite "Reset all maps in AndroidNetworkMonitor Start()/Stop()"
This reverts commit 8cd7b0a7ba.

The assumption in AndroidNetworkMonitor that an interface name
is unique has turned out to be incorrect :( for some (weird) devices,
i.e ccmni0.
It is unclear if it is a permanent setup or a transient state.

This cl/ changes the impl. to cope with that, the last
OnNetworkConnected_n "owns" the interface name, and when
OnNetworkDisconnected_n runs, we check if we're "owner"
and maybe set a new "owner" (if we're not "owner" we do nothing).

New testcases added.

I also
1) change NetworkMonitorInterface to return a struct
with all the information that is requested with interface name
as key.
2) Change Network.cc adding (debug) assertions that network
properties can't change inside a loop (in one thread).

Original change's description:
> Revert "Reset all maps in AndroidNetworkMonitor Start()/Stop()"
>
> This reverts commit 02293096f9.
>
> Reason for revert: mysterious crashes in android_network_monitor.cc
>
> Original change's description:
> > Reset all maps in AndroidNetworkMonitor Start()/Stop()
> >
> > This cl/ fixes another race condition with the recent additions
> > to NetworkMonitorAutoDetect (getAllNetworksFromCache).
> >
> > The getAllNetworksFromCache-feature uses the by the Android team
> > preferred way of enumerating networks, i.e to register network listeners.
> >
> > Th recent fix to add IsAdapterAvailable, https://webrtc-review.googlesource.com/c/src/+/257400
> > contained a bug in that the adapter_type_by_name_ map was not
> > reset either on disconnect or Start/Stop.
> >
> > This cl/ addresses that including unit test.
> > It also de-obfuscates NetworkMonitor so that it always
> > calls NotifyOfActiveNetworkList on startMonitoring even
> > if list.size() == 0. This should not matter but makes
> > code easier to understand.
> >
> > Bug: webrtc:13741
> > Change-Id: I438b877eebf769a8b2e7292b697ef1c0a349b24f
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258721
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#36530}
>
> Bug: webrtc:13741
> Change-Id: I36fbf63f658d3e8048e13959cbebfbd14df12b14
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264146
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37016}

Bug: webrtc:13741
Change-Id: Ib4eb072b775e493b564528f0be94c685b70ec20f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264421
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37056}
2022-10-04 15:25:49 -07:00
api Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
audio Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
build_overrides Roll chromium + fix: blacklist -> ignorelist for sanitizers suppressions 2021-05-27 16:16:01 +00:00
call Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
common_audio Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
common_video Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
examples Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
g3doc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
infra Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
logging Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
media Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
modules Log more info when audio input starts and stops (#88) 2022-08-29 17:20:15 -04:00
net/dcsctp Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
p2p Use std:unique_ptr for Network objects owned by the NetworkManager. 2022-10-04 15:25:49 -07:00
pc Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
resources Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
ringrtc_overrides/libvpx Fix for arm64 Windows builds (#54) 2021-08-09 10:44:45 -07:00
rtc_base Rewrite "Reset all maps in AndroidNetworkMonitor Start()/Stop()" 2022-10-04 15:25:49 -07:00
rtc_tools Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
sdk Rewrite "Reset all maps in AndroidNetworkMonitor Start()/Stop()" 2022-10-04 15:25:49 -07:00
stats Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
system_wrappers Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
test Use std:unique_ptr for Network objects owned by the NetworkManager. 2022-10-04 15:25:49 -07:00
tools_webrtc Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
video Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
.clang-format Add IncludeBlocks to clang-format. 2021-02-03 16:29:07 +00:00
.git-blame-ignore-revs Let git-hyper-blame ignore new format cleanup. 2019-07-11 16:18:51 +00:00
.gitignore Add .cache to .gitignore. 2021-01-20 15:01:07 +00:00
.gn Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
.mailmap Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
.style.yapf Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
.vpython Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
.vpython3 Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
AUTHORS Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
BUILD.gn Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
clean_update_changed_files.txt ks 2021-10-29 07:49:26 -06:00
CODE_OF_CONDUCT.md Reference "main" branches instead of "master" branches. 2021-07-15 11:07:44 +00:00
codereview.settings Don't add webrtc-reviews@ to CC, it can be added globally on Gerrit 2018-10-25 08:19:53 +00:00
DEPS Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files. 2021-02-08 19:09:33 +00:00
ENG_REVIEW_OWNERS Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
g3doc.lua Improve webrtc documentation infra. Preview at: 2021-03-30 10:29:30 +00:00
LICENSE
license_template.txt
native-api.md Reference "main" branches instead of "master" branches. 2021-07-15 11:07:44 +00:00
OWNERS Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
PATENTS
PRESUBMIT.py Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
presubmit_test.py Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
presubmit_test_mocks.py Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
pylintrc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
README.chromium Update to WebRTC 4389 (e7d9f74) 2021-04-16 13:26:31 -07:00
README.md ks 2021-10-29 07:49:26 -06:00
ringrtc Update build files to build RingRTC parts correctly. 2020-03-25 20:53:29 -07:00
signal_changed_files.txt ks 2021-10-29 07:49:26 -06:00
update_changed_files.txt ks 2021-10-29 07:49:26 -06:00
WATCHLISTS Update WATCHLISTS 2021-08-23 13:37:55 +00:00
webrtc.gni Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
webrtc_lib_link_test.cc Deprecate PeerConnectionFactory::CreatePeerConnection 2021-05-10 08:47:48 +00:00
whitespace.txt Trigger bots 2021-09-08 18:30:03 +00:00

This is a fork of WebRTC intended to be used in RingRTC. It currently has the following changes:

  • Injections into the build system for RingRTC's Rust FFI
  • Changes to Android and iOS SDKs for some more control/customization
  • ICE forking (from https://webrtc-review.googlesource.com/c/src/+/167051/)
  • Various things disabled (RTP header extensions, audio codecs)
  • Various security patches (since the version when the fork branched off)

See here for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info