Before this CL PeerConnectionE2EQualityTestSmokeTest was actually
overwriting this field trial:
[ RUN ] PeerConnectionE2EQualityTestSmokeTest.Smoke
(field_trial.cc:140): Setting field trial string:WebRTC-UseStandardBytesStats/Enabled/
(field_trial.cc:140): Setting field trial string:
(network_emulation.cc:480): Created emulated endpoint 192.168.0.0 (); id=1
(network_emulation.cc:480): Created emulated endpoint 192.168.0.1 (); id=2
(field_trial.cc:140): Setting field trial string:WebRTC-FlexFEC-03-Advertised/Enabled/WebRTC-FlexFEC-03/Enabled/
After this CL it is instead used:
[ RUN ] PeerConnectionE2EQualityTestSmokeTest.Smoke
(network_emulation.cc:480): Created emulated endpoint 192.168.0.0 (); id=1
(network_emulation.cc:480): Created emulated endpoint 192.168.0.1 (); id=2
(field_trial.cc:140): Setting field trial string:WebRTC-UseStandardBytesStats/Enabled/WebRTC-FlexFEC-03-Advertised/Enabled/WebRTC-FlexFEC-03/Enabled/
This CL also removes the non effective field trial override in
test/pc/e2e/peer_connection_e2e_smoke_test.cc which was unset as soon
as the variable was going out of scope.
Bug: b/186198412
Change-Id: I1698407e2c490a80c1f835cd591624446cf993fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229023
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34779}
Currently, the WebRtcUnitTestDelegate does not conform to the
GoogleTestRunnerDelegate protocol. So the GoogleTestRunner, designed to
run googletest based tests using XCTest, fails like this:
Test Case '-[GoogleTestRunner testRunGoogleTests]' started.
/../../base/test/ios/google_test_runner.mm:24: error: -[GoogleTestRunner testRunGoogleTests] : (([appDelegate conformsToProtocol:@protocol(GoogleTestRunnerDelegate)]) is true) failed
Test Case '-[GoogleTestRunner testRunGoogleTests]' failed (0.004 seconds).
This CL fixes this issue by implementing the GoogleTestRunnerDelegate
protocol, so googletest based tests run without error.
No-Presubmit: True
No-Try: True
Bug: webrtc:12813
Change-Id: I6564b41c3aec88a9ddf078104753ceca5e6f0ba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220260
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34593}
As part of go/coil update code search links to not point to the
"master" branch.
Bug: chromium:1226942
Change-Id: I0ae9e84ecc660f789a69fe0b226f93bbc39a8a66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226081
Commit-Queue: Tony Herre <toprice@chromium.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34531}
This CL completes the removal of assert() and relative headers from
the codebase (excluded
//examples/objc/AppRTCMobile/third_party/SocketRocket which is in a
third_party sub-directory).
Bug: webrtc:6779
Change-Id: I93ed57168d2c0e011626873d66529488c5f484f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225546
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34528}
The only user of that function is only interested in the type of the
first rtcp message in the packet, which can be extracted in a simpler way
Bug: None
Change-Id: I96aeb8ed66099f94d506aa7d8d0d07378f6c952e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226543
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34515}
This is a reland of 9e09831767995531ae1c2804e1c15fa2be4053f2
The field "additional_configs" needs to be used to set "configs"
for the "fuzzer_test" GN template. See
https://source.chromium.org/chromium/chromium/src/+/main:testing/libfuzzer/fuzzer_test.gni;l=18;drc=825f86aa594207bfc50f87495544b48014814c9d.
Original change's description:
> Make webrtc_fuzzer_test use //:common_config.
>
> Before this CL, the GN template webrtc_fuzzer_test was using a build
> config that was different from the one used by other WebRTC's targets.
>
> We discovered this in [1] where we detected that RTC_DCHECK_IS_ON had
> different values across translation units (1 everywhere and 0 in the
> one of the .cc file owned by the webrtc_fuzzer_test).
>
> This was because webrtc_fuzzer_test was not including the default
> config //:common_config in its "configs".
>
> [1] - https://webrtc-review.googlesource.com/c/src/+/226465
>
> Bug: None
> Change-Id: I5635d90281769c23c5d86ebc8cb494da029c2e85
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226540
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34509}
Bug: None
Change-Id: I56e2a7ea811a94762e09953acf3d33d3f46b1d24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226542
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34511}
This reverts commit 9e09831767995531ae1c2804e1c15fa2be4053f2.
Reason for revert: The "fuzzer_test" GN template expanded by
"webrtc_fuzzer_test" still ignores the "configs" and another
field needs to be used.
Original change's description:
> Make webrtc_fuzzer_test use //:common_config.
>
> Before this CL, the GN template webrtc_fuzzer_test was using a build
> config that was different from the one used by other WebRTC's targets.
>
> We discovered this in [1] where we detected that RTC_DCHECK_IS_ON had
> different values across translation units (1 everywhere and 0 in the
> one of the .cc file owned by the webrtc_fuzzer_test).
>
> This was because webrtc_fuzzer_test was not including the default
> config //:common_config in its "configs".
>
> [1] - https://webrtc-review.googlesource.com/c/src/+/226465
>
> Bug: None
> Change-Id: I5635d90281769c23c5d86ebc8cb494da029c2e85
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226540
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34509}
TBR=mbonadei@webrtc.org,landrey@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: Iec13b411e7f027e78e731e3242e0557b6de38a2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226541
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34510}
Before this CL, the GN template webrtc_fuzzer_test was using a build
config that was different from the one used by other WebRTC's targets.
We discovered this in [1] where we detected that RTC_DCHECK_IS_ON had
different values across translation units (1 everywhere and 0 in the
one of the .cc file owned by the webrtc_fuzzer_test).
This was because webrtc_fuzzer_test was not including the default
config //:common_config in its "configs".
[1] - https://webrtc-review.googlesource.com/c/src/+/226465
Bug: None
Change-Id: I5635d90281769c23c5d86ebc8cb494da029c2e85
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226540
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34509}
CL partially auto-generated with:
git grep -l "\bassert(" | grep "\.[c|h]" | \
xargs sed -i 's/\bassert(/RTC_DCHECK(/g'
And with:
git grep -l "RTC_DCHECK(false)" | \
xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/g'
With some manual changes to include "rtc_base/checks.h" where
needed.
A follow-up CL will remove assert() from Obj-C code as well
and remove the #include of <assert.h>.
The choice to replace with RTC_DCHECK is because assert()
is because RTC_DCHECK has similar behavior as assert()
based on NDEBUG.
This CL also contains manual changes to switch from
basic RTC_DCHECK to other (preferred) versions like
RTC_DCHECK_GT (and similar).
Bug: webrtc:6779
Change-Id: I00bed8886e03d685a2f42324e34aef2c9b7a63b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224846
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34442}
On ASan, SimulatedRealTimeControllerConformanceTest is flaky and
triggers `stack-use-after-scope` because on some occasions, the delayed
callback gets invoked when the test is tearing down (the callback
holds a reference to an object allocated on the test function stack).
This CL ensures threads and TaskQueues are stopped when the tests
scope is exited. Some flakiness might remain on realtime tests but
that can only be addressed by increasing the wait.
Bug: webrtc:12954
Change-Id: I4ac1a6682e18bb144a3aeb03921a805e3fb39b2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225422
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34437}
This change prepares for later CLs that partly replaces
logic in the module that depends on the Module system
for logic that depends on task queues.
The change also changes SendTransport::SendRTCP
to schedule packet reception with the simulated time
controller. This fixes the problem that SendRTCP itself
updates the simulated time which makes it hard to
understand the tests.
Finally, GlobalSimulatedTimeController was updated
to support addition of custom SimulatedSequenceRunners
like SendTransport.
Bug: webrtc:11581
Change-Id: I0aa310ad0a10526479ad8c28affc38a413363ffd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222602
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34348}
Also including common Rtp config members.
Follow up changes will remove the ReceiveRtpConfig class in Call
and copy of extension headers, instead use the config directly
from the receive streams and not require stream recreation for changing
the headers.
Bug: webrtc:11993
Change-Id: I29ff3400d45d5bffddb3ad0a078403eb102afb65
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221983
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34283}
Making a copy of that information takes noticable amount of time
causing fuzzer timeout for larger inputs, but that extra information
is not even used.
Bug: chromium:1217944
Change-Id: Icf9d43ae4b8feddda972daf3a4743fb73f7766d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221962
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34271}
As a side effect, break out pc/simulcast_description.
Step 1: Don't move the {h,cc} files; just declare the targets
so that downstream projects can add dependencies on it.
Bug: webtc:11967
Change-Id: Iad3d77513af418b664c1bef46070177ed24027fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221603
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34254}
We want to turn off PT based demux because SSRC-based endpoints that
send media prematurely (which is a popular non-standard behavior still
heavily in use) can otherwise get incorrect mappings and unsignalled
ssrc issues because of the PT demux path.
This CL disables PT based demuxing when the MID header extension is
present on all m= sections in the SDP for that kind (audio/video), not
caring if it was in the offer or answer. However if PT demuxing has been
used in the past then it is always allowed. This ensures PT is off by
default but that either offer or answer can enable PT and once it has
been on it is also possible to get early media with PT.
- Want PT-based demux? The MID header extension has to be removed in
either the offer or the answer. Follow-up O/As allow PT demuxing if
possible.
- Want to use MID or SSRC demuxing? Great, you don't need PT-based demux
and won't mind that we turned it off for you.
The reason for disabling PT demux at offer time (if MID is present)
instead of waiting for the SDP answer is because by the time the SDP
answer arrives, early media could have triggered PT demux and caused
incorrect mappings. The safe thing is to assume a spec-compliant
endpoint until proven otherwise.
However if PT demux is ever enabled, then from that point on we always
allow PT-based demux in follow-up O/A exchanges. This ensures we don't
drop packets in follow-up exchanges. The fact that PT-based demux is
disabled during the initial offer should not matter because before the
initial O/A exchange we don't have fingerprints.
This change only affects Unified Plan and bundled groups. Existing test
coverage ensuring we do not break legacy endpoints:
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/peer_connection_integrationtest.cc;l=1156
[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webrtc/protocol/rtp-demuxing.html;l=59
UnsignaledStreamTest is also updated to test the interesting setups.
A kill-switch is added in case we want to disable this change.
Bug: webrtc:12814
Change-Id: I807a82a543325753633aaef698e06cb4c9dfebaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221101
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34251}
This is loosely based on the similar implementation in gecko.
Bug: webrtc:9965
Change-Id: I5203a05e1c34ca6f97bd1b143790f95ff245e340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219791
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Cr-Commit-Position: refs/heads/master@{#34102}