Commit Graph

30920 Commits

Author SHA1 Message Date
7eccfc6933 Trigger bots
This reverts commit 1c330752579e584561fc1cb88cc76d1905d22375.

Change-Id: I2fc11a7765c1394f92622779fce18b5db97eec37

Bug: None
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Tbr: mbonadei@webrtc.org
Change-Id: I2fc11a7765c1394f92622779fce18b5db97eec37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175905
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31338}
2020-05-23 08:30:10 +00:00
d3807da009 Fork NackModule and RtpVideoStreamReceiver
Bug: webrtc:11595
Change-Id: I4d14c0bf9c32e09d1624099a256f2778afebd4df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175901
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31337}
2020-05-22 17:07:16 +00:00
3cc1a6509b Set av1 speed from resolution.
Use speed 6 for better quality for low resolution, speed 8 for HD for better speed.
This will better balance speed and quality.

Change-Id: I3d8dbd45533471ce58d53c1ac26f92c7b1106259
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175281
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31336}
2020-05-20 20:06:46 +00:00
2913adebaf Add ios_code_signing_identity_description to GN args.
TBR=courtneyfe@webrtc.org

Bug: webrtc:11591
Change-Id: I1706905086d97d66230000d10e09f4ec02e07eb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175803
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31335}
2020-05-20 17:53:05 +00:00
3a5742c880 Add thread/sequence checks to ModuleRtpRtcpImpl.
This ended up with needing to fork the current implementation
in order to not break downstream projects that were inheriting
from it. While those get updated, we'll move on with the forked
class.

Bug: webrtc:11581,b/8278269
Change-Id: I05b596cbda71aa5b72894c31a7119d17d4761883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175500
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31334}
2020-05-20 15:45:21 +00:00
704fb55255 In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: Ib0ffce4de50a13b018926f6ea2865a2ec2fb2ec7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175621
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31333}
2020-05-20 13:17:31 +00:00
b46df3da44 Reland "Removes lock release in PacedSender callback."
This is a reland of 6b9c60b06d04bc519195fca1f621b10accfeb46b

Original change's description:
> Removes lock release in PacedSender callback.
> 
> The PacedSender currently has logic to temporarily release its internal
> lock while sending or asking for padding.
> This creates some tricky situations in the pacing controller where we
> need to consider if some thread can enter while we the process thread is
> actually processing, just temporarily busy sending.
> 
> Since the pacing call stack is no longer cyclic, we can actually remove
> this lock-release now.
> 
> Bug: webrtc:10809
> Change-Id: Ic59c605252bed1f96a03406c908a30cd1012f995
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173592
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31206}

Bug: webrtc:10809
Change-Id: Id39fc49b0a038e7ae3a0d9818fb0806c33ae0ae0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175656
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31332}
2020-05-20 11:49:21 +00:00
4b860c1fb3 Calculate chain_diff for DependencyDescriptor from GenericFrameInfo
Bug: webrtc:10342
Change-Id: Ic88d58dc011c641a3b251eef74064066975296fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175652
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31331}
2020-05-20 10:30:30 +00:00
430951a0d4 Update call expectations in ReceiveStatisticsProxy, add thread checks
Bug: chromium:1084619
Change-Id: If9042d44ad99eacd431ee2a5e84486cfaf282d7e
Tbr: stefan@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175658
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31330}
2020-05-20 10:27:50 +00:00
02a014a173 Roll chromium_revision d8b1c2f5b2..0cd53b97fa (770095:770251)
Change log: d8b1c2f5b2..0cd53b97fa
Full diff: d8b1c2f5b2..0cd53b97fa

Changed dependencies
* src/base: 9cea79a086..234742ffa0
* src/build: 13e29491b1..814cd0c441
* src/ios: 98854a7c6f..c3b92e2864
* src/testing: 04bfc27905..6bd825eb6a
* src/third_party: 7f6ed0a92c..52a7c4e5e0
* src/third_party/libunwindstack: acf93761dc..dfd3f3d84c
* src/tools: 2414245236..5a602c7ac7
DEPS diff: d8b1c2f5b2..0cd53b97fa/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I4ae27ab72bf783cc9d6143487d1f760b19e4aa3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175742
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#31329}
2020-05-19 20:39:16 +00:00
4ab61cb9b4 Optionally allows TaskQueuePacedSender to coalesce send events.
With an optional parameter this allows the task-queue based paced
sender to mimic the old behavior and coalesce sending of packets in
order to reduce thread wakeups and provide opportunity for batching.
This is done by simply overriding the minimum time the thread should
sleep. The pacing controller will already handle the "late wakup" case
and send any packets as if it had been woken at the optimal time.

Bug: webrtc:10809
Change-Id: Iceea00693a4e87d39b0e0ee8bdabca081dff2cba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175648
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31328}
2020-05-19 17:23:30 +00:00
2671dac29c Fix all known VideoStreamEncoderTest flakes.
Some VideoStreamEncoderTests such as
AdaptsFramerateForLowQuality_MaintainResolutionMode had been observed
to be flaky. In a local run, this test failed 1/12000 times, but on
bots it may have failed more often.

All tests could sometimes fail due to expecting something to be the
case without waiting for that thing to happen, which was made evident
when adding SleepMs() at strategic points in the code and running the
tests locally.

With this CL, the tests should no longer be flaky after having added
waiting for adaptation to be applied or EXPECT_TRUE_WAIT for sink wants
to have the appropriate values.

Bug: webrtc:11586
Change-Id: I60e76c742d9ccc8305feb14a834a4f61a60a62a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175654
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31327}
2020-05-19 16:05:00 +00:00
71e9acb97c Roll chromium_revision 8ffd72401d..d8b1c2f5b2 (768712:770095)
Change log: 8ffd72401d..d8b1c2f5b2
Full diff: 8ffd72401d..d8b1c2f5b2

Changed dependencies
* src/base: e6c0c5b9ad..9cea79a086
* src/build: f70e3b9685..13e29491b1
* src/buildtools: 204a35a2a6..64ebbe62e1
* src/buildtools/linux64: git_revision:5ed3c9cc67b090d5e311e4bd2aba072173e82db9..git_revision:ab32747ae7a399c57b04280f38e49b8fdf237a8a
* src/buildtools/mac: git_revision:5ed3c9cc67b090d5e311e4bd2aba072173e82db9..git_revision:ab32747ae7a399c57b04280f38e49b8fdf237a8a
* src/buildtools/win: git_revision:5ed3c9cc67b090d5e311e4bd2aba072173e82db9..git_revision:ab32747ae7a399c57b04280f38e49b8fdf237a8a
* src/ios: 7b694bd936..98854a7c6f
* src/testing: 5a5fb44e80..04bfc27905
* src/third_party: 57686d64cb..7f6ed0a92c
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/a810d82575..78b3337a10
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/087cffcba4..503f81b8fe
* src/third_party/depot_tools: 30ef5cb437..5a7be3da21
* src/third_party/ffmpeg: 587a3f4849..be66dc5fd0
* src/third_party/freetype/src: 3f70e6d20c..62fea391fa
* src/third_party/libvpx/source/libvpx: 77960f37b3..1243d2fc27
* src/tools: b64de32dc9..2414245236
* src/tools/swarming_client: 160b445a44..7e8636295f
DEPS diff: 8ffd72401d..d8b1c2f5b2/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: I88dde47fb99213d2007b0dd1e6ee332bab53b584
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175720
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#31326}
2020-05-19 14:38:12 +00:00
35c87b6ada Remove android_manifest_for_lint from BUILD.gn files
Remove android_manifest_for_lint from BUILD.gn files

The Chromium Roll into WebRTC isn't flowing
The first CL that caused the problem is https://webrtc-review.googlesource.com/c/src/+/175140/
The error is: ERROR at //examples/BUILD.gn:104:33: Assignment had no effect. android_manifest_for_lint = "androidapp/AndroidManifest.xml"
android_manifest_for_lint has ben removed so update BUILD files that use that feature to reflect this.

BUG=None

Change-Id: If526d9a4dd80cddca7f2c9dd7f67ba9efe3f1a84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175661
Commit-Queue: Courtney Edwards <courtneyfe@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31325}
2020-05-19 13:23:25 +00:00
b914819944 Reduce alert spam in rtc_event_log_visualizer
Bug: webrtc:11564
Change-Id: I4fdd6284b35cedded4d8b623dc0b7f8e1534c495
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175649
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31324}
2020-05-19 13:22:20 +00:00
c5324fb7bd VideoAdapter: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I984a0b7993b03c039c220206e2a930ff766e54b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175125
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31323}
2020-05-19 13:09:51 +00:00
41acdc6074 Reland "RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions."
This reverts commit fde94a72d1e4f6bc38f8324bed390a9cebbc091c.

Reason for revert: there was a suspicion it broke the importer, but it was probably something else.

Original change's description:
> Revert "RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions."
> 
> This reverts commit ef93a26180660eaed00571996bb8e530be89320c.
> 
> Reason for revert: Checking if this broke things downstream.
> 
> Original change's description:
> > RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions.
> > 
> > This change removes lock recursions and adds thread annotations.
> > 
> > Bug: webrtc:11567
> > Change-Id: I68f62d0d62c8ad8dd8276e48f5876b75932bac61
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175113
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Commit-Queue: Markus Handell <handellm@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31314}
> 
> TBR=stefan@webrtc.org,handellm@webrtc.org
> 
> Change-Id: I99b622a0f88f3a264f1943f2457b9c9b89962b86
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11567
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175644
> Reviewed-by: Tommi <tommi@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31315}

TBR=tommi@webrtc.org,stefan@webrtc.org,handellm@webrtc.org

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11567
Change-Id: I1171127bc4a0520561caf92ddb787ec7e649e7af
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175651
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31322}
2020-05-19 13:04:20 +00:00
43c108b7e9 Log decoder implementation name
Bug: none
Change-Id: I2c6b6a2a62bbcd058b8ed336e6e0f36b8b0d0844
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175220
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31321}
2020-05-19 12:23:30 +00:00
3361af35dd Add option to disable reduced jitter delay through field trial.
Bug: none
Change-Id: Id07cb7dd69cd6198eb95a5e9c0987943471f7da2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175565
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31320}
2020-05-19 11:51:29 +00:00
e9cd6177eb Add ability for audioproc_f to operate on any AudioProcessing object.
This CL extends the WebRTC testing API to allow audioproc_f -based
testing using a pre-created AudioProcessing object. This is an
important feature to allow testing any AudioProcessing objects
that are injected into WebRTC.

Beyond adding this, the CL also changes the simulation code to
operate on a scoped_refptr<AudioProcessing> object instead of a
std::unique<AudioProcessing> object

Bug: webrtc:5298
Change-Id: I70179f19518fc583ad0101bd59c038478a3cc23d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175568
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31319}
2020-05-19 11:37:18 +00:00
48b8279813 Refactor/reimplement RTC event log triage alerts.
- Moves AnalyzerConfig and helper functions IsAudioSsrc, IsVideoSsrc, IsRtxSsrc, GetStreamNam and GetLayerName to analyzer_common.h
- Moves log_segments() code to rtc_event_log_parser.h
- Moves TriageAlert/Notification code to a new file with a couple of minor fixes to make it less spammy.

Bug: webrtc:11566
Change-Id: Ib33941d8185f7382fc72ed65768e46015e0320de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174824
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31318}
2020-05-19 09:45:16 +00:00
41559a2b46 In modules/audio_device replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: Ic93bc8272da9d7cd3f4adde5a24c07fd05b894bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175643
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31317}
2020-05-19 09:11:48 +00:00
409784d0c4 FakeEncoder: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I88561102c31156718fbb175a9a38f2cc89c6d9dc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175642
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31316}
2020-05-19 08:57:15 +00:00
fde94a72d1 Revert "RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions."
This reverts commit ef93a26180660eaed00571996bb8e530be89320c.

Reason for revert: Checking if this broke things downstream.

Original change's description:
> RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions.
> 
> This change removes lock recursions and adds thread annotations.
> 
> Bug: webrtc:11567
> Change-Id: I68f62d0d62c8ad8dd8276e48f5876b75932bac61
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175113
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31314}

TBR=stefan@webrtc.org,handellm@webrtc.org

Change-Id: I99b622a0f88f3a264f1943f2457b9c9b89962b86
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11567
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175644
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31315}
2020-05-19 05:58:44 +00:00
ef93a26180 RtpVideoStreamReceiver::RtcpFeedbackBuffer: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I68f62d0d62c8ad8dd8276e48f5876b75932bac61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175113
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31314}
2020-05-18 22:27:09 +00:00
2af35ab984 FakeAudioCaptureModule: remove lock recursions.
This change removes lock recursions and adds thread annotations.

The module had incorrect locking WRT the callback critical section:

ProcessFrameP: locks crit_
ReceiveFrameP: locks crit_callback_
-------------
SendFrameP: locks crit_callback_
MicrophoneVolume: locks crit_

Lock crit_callback_ was rolled in under crit_ instead.

Bug: webrtc:11567
Change-Id: I974fe91d44de0ddf1a1287fe91db9dfe63a61af9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175662
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31313}
2020-05-18 18:01:58 +00:00
8de900cdcb Reland "Make TransformableVideoFrameInterface::GetMetadata pure virtual."
This reverts commit 3e9068a6b488c63d98e5dd8a21caf7b83eb3744f.

Reason for revert: Fixed Chrome compile in https://crrev.com/c/2207191.

Original change's description:
> Revert "Make TransformableVideoFrameInterface::GetMetadata pure virtual."
> 
> This reverts commit 576ad5d510894040d7bbc041d5c86745c67f30f8.
> 
> Reason for revert: Causes compile error in Chrome.
> 
> Original change's description:
> > Make TransformableVideoFrameInterface::GetMetadata pure virtual.
> > 
> > GetMetadata() has been implemented downstream and can be made pure
> > virtual.
> > 
> > Bug: chromium:1069295
> > Change-Id: I62a3be6106552d2d82d8c413c6f523d31626b0d8
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175001
> > Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31281}
> 
> TBR=hta@webrtc.org,marinaciocea@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1069295
> Change-Id: I5915270d5b8dab9fc30a07f22fddedb29beca01a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175620
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31304}

TBR=hta@webrtc.org,guidou@webrtc.org,marinaciocea@webrtc.org

# Not skipping CQ checks because this is a reland.

Bug: chromium:1069295
Change-Id: Icc192a38f2c17898d3547e0eb38aa399befe6250
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175624
Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31312}
2020-05-18 17:53:38 +00:00
3fa23eec4b VideoAdapter: add missing attribute thread annotations.
Bug: webrtc:11567
Change-Id: Iacb4ba4504e58778f828e7027a1b8d0f96227267
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175660
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31311}
2020-05-18 17:40:55 +00:00
3a35312b64 In pc/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: I09b28654b7b71a77224e7cf72fdf6a1e4823e67a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175137
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31310}
2020-05-18 17:06:25 +00:00
909f3a5339 Rename several more tests that use EXPECT_DEATH to *DeathTest.
Bug: webrtc:11577
Change-Id: I0397ee933464496e4885bb0f8030f3d669e5e612
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175641
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31309}
2020-05-18 16:10:04 +00:00
31c61c5091 RtcpSender: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: Idc872bda693776667f3b9126bd79589d74398b34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175640
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31308}
2020-05-18 14:28:19 +00:00
da357a9495 Rename EchoPathDelayEstimator to EchoPathDelayEstimatorDeathTest.
...for the NullDataDumper, WrongCaptureBlockSize and
DISABLED_WrongRenderBlockSize tests. This is to avoid creation
of additional threads on Mac, which can cause issues on asan bots.

Bug: webrtc:11577
Change-Id: I4e6a64d47ec3b0a0e0018b19a0486208ba7e6ae2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175600
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31307}
2020-05-18 14:27:14 +00:00
61bc0d1ed3 Introduce ChainDiffCalculator
to convert flags which chains a video frame part of into chain_diffs

Bug: webrtc:10342
Change-Id: I6fb899eae934078223b101c9f85e2ac101980d4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175108
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31306}
2020-05-18 14:22:44 +00:00
532cac526c Add support for injecting Clock to RepeatingTaskHandle.
This will improve support for tests that use Clock as well as offer
a way to remove use of Sleep() in the tests.

Bug: none
Change-Id: I25fd0c6fc1b52ec0c917e56fae6807b136213d8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175566
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31305}
2020-05-18 14:11:44 +00:00
3e9068a6b4 Revert "Make TransformableVideoFrameInterface::GetMetadata pure virtual."
This reverts commit 576ad5d510894040d7bbc041d5c86745c67f30f8.

Reason for revert: Causes compile error in Chrome.

Original change's description:
> Make TransformableVideoFrameInterface::GetMetadata pure virtual.
> 
> GetMetadata() has been implemented downstream and can be made pure
> virtual.
> 
> Bug: chromium:1069295
> Change-Id: I62a3be6106552d2d82d8c413c6f523d31626b0d8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175001
> Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31281}

TBR=hta@webrtc.org,marinaciocea@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1069295
Change-Id: I5915270d5b8dab9fc30a07f22fddedb29beca01a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175620
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31304}
2020-05-18 13:56:43 +00:00
c50976ace9 Revert "Remove android_manifest_for_lint from BUILD.gn files"
This reverts commit 340106ad4659faca563509016097a091bfb5289f.

Reason for revert: Broke internal project.

Original change's description:
> Remove android_manifest_for_lint from BUILD.gn files
> 
> The Chromium Roll into WebRTC isn't flowing
> The first CL that caused the problem is https://webrtc-review.googlesource.com/c/src/+/175140/
> The error is: ERROR at //examples/BUILD.gn:104:33: Assignment had no effect. android_manifest_for_lint = "androidapp/AndroidManifest.xml"
> android_manifest_for_lint has ben removed so update BUILD files that use that feature to reflect this.
> 
> BUG=None
> 
> Change-Id: Ic3eb16eab8e4a4ab87daac9998d7a07373fec493
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175569
> Commit-Queue: Courtney Edwards <courtneyfe@google.com>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31299}

TBR=mbonadei@webrtc.org,titovartem@webrtc.org,courtneyfe@google.com,courtneyfe@chromium.org

Change-Id: I6055b4363254d353d116805aac4ec63d7c5c7c59
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175622
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31303}
2020-05-18 13:23:09 +00:00
c325246753 Log content name (aka mid) in messages from channel.cc
Logging of content name (mid) is valuable to debug issues
in scenarios with multiple m= line sections in SDP.
For example, video conferencing applications which
uses SFU and Unified Plan SDPs will likely to leverage
from more detailed logs when issues need to be debugged.


Bug: webrtc:10139
Change-Id: Id52ba3ad54af5caa0f8c03daaa51bdb0caf9fe67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175115
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31302}
2020-05-18 13:09:19 +00:00
8ce078de5d Add thread annotations to PhysicalSocketServer members
Bug: webrtc:11567
Change-Id: Icfaeedef968c9529e263ca8b359dcabde3eb8684
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175003
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31301}
2020-05-18 12:49:56 +00:00
2c0bf26629 in DependencyDescriptor writer zero remaing bytes
adjust zeroing to support more than 64 bits.

Bug: b/156802687
Change-Id: I42448b4dd6d5c04143eb9075cd61317e115ed936
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175564
Reviewed-by: Erik Varga <erikvarga@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31300}
2020-05-18 12:47:16 +00:00
340106ad46 Remove android_manifest_for_lint from BUILD.gn files
The Chromium Roll into WebRTC isn't flowing
The first CL that caused the problem is https://webrtc-review.googlesource.com/c/src/+/175140/
The error is: ERROR at //examples/BUILD.gn:104:33: Assignment had no effect. android_manifest_for_lint = "androidapp/AndroidManifest.xml"
android_manifest_for_lint has ben removed so update BUILD files that use that feature to reflect this.

BUG=None

Change-Id: Ic3eb16eab8e4a4ab87daac9998d7a07373fec493
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175569
Commit-Queue: Courtney Edwards <courtneyfe@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31299}
2020-05-18 12:36:06 +00:00
6af97742ed Reduce calls to LastReceivedReportBlockMs() + add TODOs.
ModuleRtpRtcpImpl::Process seems to be called as many
times as 200 times a second (kRtpRtcpMaxIdleTimeProcessMs == 5).

This CL changes it so that LastReceivedReportBlockMs() is called
once a second instead of potentially every time Process() runs.
This should result in grabbing locks fewer times, however there
are still other call sites for the same lock.

Bug: webrtc:11581
Change-Id: I4c2fd9aa43343fdac2763250ae7f4d2545e98ec2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175350
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31298}
2020-05-18 12:08:08 +00:00
ae4d097382 Fork VideoReceiveStream test for VideoReceiveStream2
Change-Id: I2a9861269ace3e35ec626d3b270d5e9d33b7d3fd
Bug: webrtc:11489
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175562
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31297}
2020-05-18 10:21:48 +00:00
c18b7bfeb6 JsepTransport: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: Iefe1875182b7f8f8df3e9bd02e964530389b0b3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175123
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31296}
2020-05-18 09:58:09 +00:00
35fc1537af Fallback to software decoders on consequtive decode errors on key-frames
Bug: webrtc:11575
Change-Id: I09be17ab5155e9f610c8f7c451ca52d7d65e24d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175222
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31295}
2020-05-18 09:57:04 +00:00
222598d1bf SimulatedTimeController: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: If6c86adddf006367eefedf10cce819e776e6afc2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175111
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31294}
2020-05-18 07:42:46 +00:00
37e42bed01 Give correct error code when SCTP is abruptly terminated.
Bug: chromium:1030631
Change-Id: I1890d6c7b30c06de1f4fdc6fe0cf1ff62ea4a63d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174830
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31293}
2020-05-18 05:23:27 +00:00
cf84607875 Reland "Use Windows 10 thread naming API"
This reverts commit d0d55515c4b88a07446bc66a5c183f50ee896282.

Reason for revert: Relanding with workaround.

Original change's description:
> Revert "Use Windows 10 thread naming API"
>
> This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c.
>
> Reason for revert: Reverting while downstream issue is resolved.
>
> Original change's description:
> > Use Windows 10 thread naming API
> >
> > While profiling video chat in Chrome I noticed that some of the webrtc
> > threads were not named. This change adds conditional use of the thread
> > naming APIs. These thread names work even if you attach a debugger after
> > the thread is named, and they show up in ETW traces, for easier
> > profiling.
> >
> > The sctp_create_thread_adapter threads are still not named but since
> > those are in C files they would require a C++-with-extern-C interface
> > to fix, so I'm leaving them for now.
> >
> > Bug: webrtc:10745
> > Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31285}
>
> TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org
>
> Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10745
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347
> Reviewed-by: Tommi <tommi@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31289}

TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org


Bug: webrtc:10745
Change-Id: I51ee413fd8a0ff62f6b8b2a11f546b2a70168842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175349
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31292}
2020-05-17 17:22:01 +00:00
04c94ad491 Fix misleading SequenceChecker variable name.
I named the network sequence checker 'worker' some time ago.
It represents the network TQ in RtpTransportControllerSendInterface
though, so should rather be called 'network'.

Bug: none
Change-Id: If82d7528b8cfcc180e1515b2fad63ed01610ec32
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175340
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31291}
2020-05-17 17:17:50 +00:00
ec3ba734e9 Don't wrap the main thread when running death tests.
Also re-enable the TestAnnotationsOnWrongQueueDebug test and rename
the test suite to SequenceCheckerDeathTest so that it gets executed
before other tests.

Bug: webrtc:11577
Change-Id: I3b8037644e4b9139755ccecb17e42b09327e4996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175346
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31290}
2020-05-17 17:15:10 +00:00
d0d55515c4 Revert "Use Windows 10 thread naming API"
This reverts commit e35004dffb42dd96b8cf37b33c9a3af4a5fd376c.

Reason for revert: Reverting while downstream issue is resolved.

Original change's description:
> Use Windows 10 thread naming API
> 
> While profiling video chat in Chrome I noticed that some of the webrtc
> threads were not named. This change adds conditional use of the thread
> naming APIs. These thread names work even if you attach a debugger after
> the thread is named, and they show up in ETW traces, for easier
> profiling.
> 
> The sctp_create_thread_adapter threads are still not named but since
> those are in C files they would require a C++-with-extern-C interface
> to fix, so I'm leaving them for now.
> 
> Bug: webrtc:10745
> Change-Id: I68f6aa780e2417ce706764d69e5b64cc48aba333
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175280
> Commit-Queue: Tommi <tommi@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31285}

TBR=kwiberg@webrtc.org,tommi@webrtc.org,brucedawson@chromium.org

Change-Id: Icf877afbd82918ebe0c42a93b8a763cdab9a73ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10745
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175347
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31289}
2020-05-17 12:40:50 +00:00