This reverts commit 1e60490ddb11afecc796058802fbc80867d851d8.
Reason for revert: Downstream project has been fixed (127.0.0.1 is not PII)
Original change's description:
> Revert "Fix problem with ipv4 over ipv6 on Android"
>
> 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}
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:10707
Change-Id: I0a11025c366c3127e2f57cd2cd2c33cc3877d1e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211862
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33460}
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}
Removes use of AsyncInvoker, replaced with PendingTaskSafetyFlag. The
latter is extended to support creation on a different thread than
where it will be used, and to support stop and restart.
Bug: webrtc:12339
Change-Id: I28b6e09b1542f50037e842ef5fe3a47d15704b46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211002
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33432}
This will allow us to write tests for what happens when large datagrams
are discarded.
Bug: webrtc:12495
Change-Id: I5c8e9fe55917967ea4604e1b3abe3c590c330ffa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211044
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33425}
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}
This reverts commit cd5127b11e04b7f49031b2412625c36e4a86c3da.
Reason for revert: Fuzzer build problems fixed.
Original change's description:
> Revert "Enable use of rtc::SystemTimeNanos() provided by Chromium"
>
> This reverts commit dfe19719e53abfd4d73722942445c5e1046b671b.
>
> Reason for revert: Breaks fuzzers in Chromium builds. See https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/685438/overview. I am reverting since this blocks the roll but I will be in touch for a fix.
>
> Original change's description:
> > Enable use of rtc::SystemTimeNanos() provided by Chromium
> >
> > This is the third CL out of three to enable overriding
> > of the function SystemTimeNanos() in rtc_base/system_time.cc
> >
> > When WebRTC is built as part of Chromium the rtc::SystemTimeNanos()
> > function provided by Chromium will be used. This is controlled
> > by the build argument rtc_exclude_system_time which directly
> > maps to the macro WEBRTC_EXCLUDE_SYSTEM_TIME.
> >
> > By doing this we are making sure that the WebRTC and Chromium
> > clocks are the same.
> >
> > Bug: chromium:516700
> > Change-Id: If7f749c4aadefb1cfc07ba4c7e3f45dc6c31118b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208223
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33337}
>
> TBR=kron@webrtc.org
>
> Bug: chromium:516700
> Change-Id: I9ecd1784a6c1cdac8bae07d34f7df20c62a21a95
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208740
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33340}
Bug: chromium:516700
Change-Id: I4cd68bac1cc4befdb46351f5d6fb2cf1ef5c3062
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208742
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33341}
This reverts commit dfe19719e53abfd4d73722942445c5e1046b671b.
Reason for revert: Breaks fuzzers in Chromium builds. See https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/685438/overview. I am reverting since this blocks the roll but I will be in touch for a fix.
Original change's description:
> Enable use of rtc::SystemTimeNanos() provided by Chromium
>
> This is the third CL out of three to enable overriding
> of the function SystemTimeNanos() in rtc_base/system_time.cc
>
> When WebRTC is built as part of Chromium the rtc::SystemTimeNanos()
> function provided by Chromium will be used. This is controlled
> by the build argument rtc_exclude_system_time which directly
> maps to the macro WEBRTC_EXCLUDE_SYSTEM_TIME.
>
> By doing this we are making sure that the WebRTC and Chromium
> clocks are the same.
>
> Bug: chromium:516700
> Change-Id: If7f749c4aadefb1cfc07ba4c7e3f45dc6c31118b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208223
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33337}
TBR=kron@webrtc.org
Bug: chromium:516700
Change-Id: I9ecd1784a6c1cdac8bae07d34f7df20c62a21a95
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208740
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33340}
This is the third CL out of three to enable overriding
of the function SystemTimeNanos() in rtc_base/system_time.cc
When WebRTC is built as part of Chromium the rtc::SystemTimeNanos()
function provided by Chromium will be used. This is controlled
by the build argument rtc_exclude_system_time which directly
maps to the macro WEBRTC_EXCLUDE_SYSTEM_TIME.
By doing this we are making sure that the WebRTC and Chromium
clocks are the same.
Bug: chromium:516700
Change-Id: If7f749c4aadefb1cfc07ba4c7e3f45dc6c31118b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208223
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33337}
SystemTimeNanos() will soon be replaced with another implementation
when built with Chromium. This will break the assumption of
SystemTimeNanos() being relative to the NTP epoch. To avoid breaking
any UWP apps, call the TimeHelper::Ticks() function directly, which
is synchronized with the NTP epoch during initialization.
Bug: chromium:516700
Change-Id: I4e50cb3f88d06e1385e73b1a9ded52956501dc1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208520
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33324}
This remove webrtc-specific macro that has no reason to be webrtc specific
ABSL_DEPRECATED takes a message parameter encouraging to write text how class or function is deprecated.
Bug: webrtc:12484
Change-Id: I89f1398f91dacadc37f7db469dcd985e3724e444
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208282
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33314}
Prepare for this function to be overridden when WebRTC is included
into other applications such as chromium. This will make it
possible to remove code that keeps track of the difference between
WebRTC and chromium time.
Bug: chromium:516700
Change-Id: I73133804f945cc439f9827ec68a8e67b96d8560f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204304
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33273}
The one remaining RecursiveCriticalSection likely needs a bit more
care.
Bug: webrtc:11567
Change-Id: Ie81085969197bed03ac8e2d269b58653b86095e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/206468
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33206}
By requiring Release to be called with lock held. This is a bit of a
kludge, but I think this works, because all known users of this
deprecated class call Release either from OnWorkStop or
SignalWorkDone, and both are called with the lock already held.
Bug: webrtc:11567
Change-Id: Idf0007188e45a465aefcb8f13fea93a68930fe1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204483
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33188}
We need to be able build chromium with rtc_include_tests = true. It
reveals a lot of targets that are not compatible with chromium but
aren't marked so.
`rtc_include_tests=true` has been considered a way to disable targets for the Chromium build, causing an overload on rtc_include_tests while the meaning of the two GN args (rtc_include_tests and build_with_chromium) should be kept separated.
Bug: webrtc:12404
Change-Id: I2f72825445916eae7c20ef9338672d6a07a9b9ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203890
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33124}
This reverts commit c1ad1ff178f0d0dfcde42843c51ae703005aaca1.
Reason for revert: This blocks the worker thread for a longer
contiguous period of time which can lead to delays in processing
packets. And due to other recent changes, the need to speed up
SetLocalDescription/SetRemoteDescription is reduced.
Still plan to reland some of the changes from the CL, just not the
part that groups the Invokes.
Original change's description:
> Do all BaseChannel operations within a single Thread::Invoke.
>
> Instead of doing a separate Invoke for each channel, this CL first
> gathers a list of operations to be performed on the signaling thread,
> then does a single Invoke on the worker thread (and nested Invoke
> on the network thread) to update all channels at once.
>
> This includes the methods:
> * Enable
> * SetLocalContent/SetRemoteContent
> * RegisterRtpDemuxerSink
> * UpdateRtpHeaderExtensionMap
>
> Also, removed the need for a network thread Invoke in
> IsReadyToSendMedia_w by moving ownership of was_ever_writable_ to the
> worker thread.
>
> Bug: webrtc:12266
> Change-Id: I31e61fe0758aeb053b09db84f234deb58dfb3d05
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194181
> Commit-Queue: Taylor <deadbeef@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32817}
TBR=deadbeef@webrtc.org,hta@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:12266
Change-Id: I40ec519a614dc740133219f775b5638a488529b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203860
Reviewed-by: Taylor <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33111}
Some targets depends on targets under enable_google_benchmarks. But they
are not under such if statement themeself.
Bug: webrtc:12404
Change-Id: I7c0b9a75bd3fa18090ef6a44fda22ed5f33d79b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204063
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33104}
Relanding this after a build break in a downstream consumer caused a
revert. I've removed the include of the windows.graphics.capture.interop
header and instead replaced it with an include of
windows.graphics.directx.direct3d11.h which is where the IDirect3DDevice
data type that we need is declared. Before this was being included
transitively through the WGC header, which was a mistake.
Original change's description:
Add ability to load CreateDirect3DDeviceFromDXGIDevice from d3d11.dll
Creating a Direct3D11Device from a DXGIDevice is necessary for the new
WGC based window capturer. However, the
CreateDirect3DDeviceFromDXGIDevice API is not available on all
versions of Windows, which means we have to load this function from
d3d11.dll at runtime.
You can see how this function will be used in this CL:
196624: Finish implementing WGC Window Capturer and add unit tests. |
https://webrtc-review.googlesource.com/c/src/+/196624
I also ensure we don't leak HSTRINGs in GetActivationFactory and fix
up some includes in ScopedComInitializer.
Bug: webrtc:9273
Change-Id: I56a5eef29815a09297bd2cdad4c5e4265dd7e27e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203200
Commit-Queue: Austin Orion <auorion@microsoft.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33081}
The issue with MSan has been fixed in LLVM in
https://reviews.llvm.org/D92727.
Bug: webrtc:12218
Change-Id: I73a4831d2ee544948c499ff06c65fe4ce6bee18c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203266
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33064}
To add ref counting to any class while avoiding
virtual functions for reference counting.
This template can both slightly reduce binary size
and slightly improve performance.
Bug: webrtc:11308
Change-Id: I90ac735f6c220ee2a1a991a71039acdb0ca86453
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198845
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33058}
Added class EncoderInfoSettings for parsing settings.
Added use of class to SimulcastEncoderAdapter.
Bug: none
Change-Id: I8182b2ab43f0c330ebdf077e9f7cbc79247da90e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202246
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33050}