Commit Graph

30920 Commits

Author SHA1 Message Date
e6e7f6a473 Reland "Re-enable absl FailureSignalHandler in tests."
This is a reland of 46e9629dda1de4315b5106741cc7072b4e01548c.

Relanding this one since it looks unrelated from the death tests
failure, see https://bugs.chromium.org/p/webrtc/issues/detail?id=11577.

Original change's description:
> Re-enable absl FailureSignalHandler in tests.
>
> It was not the cause of the SIGSEGV on iossim, so it is fine to
> re-enable it.
>
> TBR: titovartem@webrtc.org
> Bug: None
> Change-Id: I593a010f83f1a0df6b3419dd4f925380210844c9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175105
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31277}

TBR: titovartem@webrtc.org
Bug: None
Change-Id: I8d57c102e175bf66819f58057dd961830c2ab094
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175345
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31288}
2020-05-17 12:05:17 +00:00
fd5ae7f959 Pass datachannel priority in DC open messages
This adds priority to the API configuration of datachannels,
and passes the value in the OPEN message.

It does not yet influence SCTP prioritization of messages.

Bug: chromium:1083227
Change-Id: I46ddd1eefa0e3d07c959383788b9e80fcbfa38d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175107
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31287}
2020-05-17 10:57:27 +00:00
49a5e3ec3c Logging of demuxer conflicts and sink bindings.
Bug: webrtc:10139
Change-Id: I7e49069c636a2aa4abc76dd0ee7cacaaa06007fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175114
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31286}
2020-05-17 07:43:41 +00:00
e35004dffb 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}
2020-05-17 07:38:21 +00:00
c17587484e Disable SequenceCheckerTest.TestAnnotationsOnWrongQueueDebug due to flake
Bug: webrtc:11577
Change-Id: Ia55eebfe3e4c3137309890bbdf96c488417e9e28
Tbr: mbonadei@webrtc.org
NoTry: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175342
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31284}
2020-05-16 14:09:41 +00:00
29a5fe8a4f Reland "Revert back to using the task_queue_ for guarding access."
This reverts commit af1b9ceb62dce3462083f9a44e26ee6d79639cef.

Reason for revert: Speculative reland after looking into downstream
failures. It's possible that carryover state from unrelated tests
running in parallel was causing failures.

Original change's description:
> Revert "Revert back to using the task_queue_ for guarding access."
> 
> This reverts commit 475006d4a30f8bc47f82eb540a6a066da2829095.
> 
> Reason for revert: Speculative revert. Breaks downstream project
> 
> Original change's description:
> > Revert back to using the task_queue_ for guarding access.
> > 
> > This removes the SequenceChecker that was temporarily used while
> > the rtc::Thread TQ implementation was being fixed.
> > 
> > Bug: none
> > Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31256}
> 
> TBR=tommi@webrtc.org,srte@webrtc.org
> 
> Change-Id: I17a12bdca888a63f2fd161da30c0def5b9c3d04e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: none
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175103
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31258}

TBR=tommi@webrtc.org,srte@webrtc.org,titovartem@webrtc.org

# Not skipping CQ checks because this is a reland.

Bug: none
Change-Id: I23992643126d7d6dae63da1bb14420b2b8794fd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175135
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31283}
2020-05-15 18:22:53 +00:00
b4baf102bc in DependencyDescriptor writer do not leave remaing bits uninitialized
Bug: b/156462854
Change-Id: Iaceadb9cebdf5c4a34ff794966535cc873a53399
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175109
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Varga <erikvarga@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31282}
2020-05-15 18:13:04 +00:00
576ad5d510 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}
2020-05-15 17:46:20 +00:00
4515a55eed Revert "Re-enable absl FailureSignalHandler in tests."
This reverts commit 46e9629dda1de4315b5106741cc7072b4e01548c.

Reason for revert: Speculative revert.

Original change's description:
> Re-enable absl FailureSignalHandler in tests.
> 
> It was not the cause of the SIGSEGV on iossim, so it is fine to
> re-enable it.
> 
> TBR: titovartem@webrtc.org
> Bug: None
> Change-Id: I593a010f83f1a0df6b3419dd4f925380210844c9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175105
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31277}

TBR=mbonadei@webrtc.org,titovartem@webrtc.org,handellm@webrtc.org

Change-Id: I5e8456ea2918f740428517ee7eb5c561cb016652
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175112
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31280}
2020-05-15 15:54:36 +00:00
cf6544aef7 Avoids unnecessary calls to audio encoder.
As of this CL:
https://webrtc-review.googlesource.com/c/src/+/173704
...we now call AudioEncoder::OnReceivedOverhead() too often, since we
don't check if overhead has actually changed.
This CL rectifies that.

Bug: webrtc:10809
Change-Id: I0b86e0296a7860dde3e62e817f9b941fa82afe4a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175009
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31279}
2020-05-15 15:26:46 +00:00
b471ac791c Introduce layering controller interface for av1 encoder
Add TODOs into AV1 encoder wrapper where it suppose to be used.

Bug: webrtc:11404
Change-Id: If049066b84be72829867d5084827a7d275648a7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174806
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31278}
2020-05-15 15:25:42 +00:00
46e9629dda Re-enable absl FailureSignalHandler in tests.
It was not the cause of the SIGSEGV on iossim, so it is fine to
re-enable it.

TBR: titovartem@webrtc.org
Bug: None
Change-Id: I593a010f83f1a0df6b3419dd4f925380210844c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175105
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31277}
2020-05-15 13:54:16 +00:00
9a5efe925d In call/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: I81d06041b80ce470e4859c4d0ebad7ff0f831af9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175134
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31276}
2020-05-15 13:36:00 +00:00
fa8019c3c3 Clear address:port in icecandidateerror for tcp servers with private IP
Bug: chromium:1072401
Change-Id: I6af81a2b2b22b5f8d7edb8fb7f66f69b866db1c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174753
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Eldar Rello <elrello@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#31275}
2020-05-15 11:30:20 +00:00
f9c6b68057 In audio/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: Ibdefed35fc73c8bf74db47df7469af7968f8e59d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175138
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31274}
2020-05-15 10:54:00 +00:00
6866dc7806 Reland "Make sure that "current" rtc::Thread instances are always current for TaskQueueBase."
This reverts commit 28685dc08cb34f756f9200519fba3222ba3a66f2.

Reason for revert: Speculative reland after looking into downstream
failures. It's possible that carryover state from unrelated tests
running in parallel was causing failures.

Original change's description:
> Revert "Make sure that "current" rtc::Thread instances are always current for TaskQueueBase."
> 
> This reverts commit 46b3bc6c24c233fe41a2401ce6e8eb8204a2d5a8.
> 
> Reason for revert: Speculative revert. Breaks downstream project
> 
> Original change's description:
> > Make sure that "current" rtc::Thread instances are always current for TaskQueueBase.
> > 
> > This is a necessary part of fulfilling the TaskQueueBase
> > interface. If a thread does not register as the current TQ, yet offers
> > the TQ interface, TQ 'current' checks will not work as expected and
> > code that relies them (TaskQueueBase::Current() and IsCurrent())
> > will run in unexpected ways.
> > 
> > Bug: webrtc:11572
> > Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31254}
> 
> TBR=mbonadei@webrtc.org,tommi@webrtc.org
> 
> Change-Id: I69ff3355f0ec447b25604bd95fdacbdb4d4f3f27
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11572
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175104
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31259}

TBR=mbonadei@webrtc.org,tommi@webrtc.org,titovartem@webrtc.org

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11572
Change-Id: I00c82d99af8e05851769e09cb682b5b73895a6f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175133
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31273}
2020-05-15 10:20:03 +00:00
bb13f38a9e Add MockTransformableVideoFrame to api/test/.
Define MockTransformableVideoFrame in api/test to be use in Blink
tests.

Bug: chromium:1069295
Change-Id: I960d8228eddbdf8263b731814a00fd02d0a6c54e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175136
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31272}
2020-05-15 09:50:19 +00:00
e7864f5894 FakeNetworkInterface: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I28b18256e627f43dc0d01d28452b2bcbf59cebac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175124
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31271}
2020-05-15 09:49:17 +00:00
772b1494a9 MediaChannel: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I2730e8159673e7a2802ab0525ebcf26be0e36fd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175100
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31270}
2020-05-15 09:48:12 +00:00
8133ffb187 In GenericFrameInfo do not set frame_id and frame_diff
No code reads these properties.
They are recalculated by RtpPayloadParams
and set directly into RTPVideoHeader::generic.

Bug: webrtc:10342
Change-Id: Ib7bda4e6e5b0d0b3a585a848e3312fb66f8ae36d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175127
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31269}
2020-05-15 09:43:34 +00:00
9b7232a68c Set up a new rtc::Thread instance per test.
Several tests leave pending tasks behind after executing, which may
affect the state of subsequent tests. This CL isolates each test in
the sense that a dedicated Thread instance is created per test and
then pending tasks are flushed and the Thread instance deleted.

Down the line we may want to improve on this and flag those tests
that leave pending tasks/timers etc.

Change-Id: Ibaf3719a9974c57ac2169edca0e2a06a9ea6c78f
Bug: webrtc:11574
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175132
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31268}
2020-05-15 09:13:02 +00:00
54706d68f6 In test/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: I75496d2f9f5612c4677057ce6fab2a55efa8674a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175129
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31267}
2020-05-15 08:15:02 +00:00
42748d8e22 In rtc_base/ and api/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: I8f4171490df39c683276f9d401a4083962ee409a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175130
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31266}
2020-05-14 19:33:26 +00:00
cdc89b4d14 Add GetMetadata() to TransformableVideoFrameInterface API.
Define VideoHeaderMetadata, containing a subset of the metadata in RTP
video header, and expose it the TransformableVideoFrameInterface, to
enable web application to compute additional data according to their own
logic, and eventually remove GetAdditionalData() from the interface.

Bug: chromium:1069295
Change-Id: Id85b494a72cfd8bdd4c0614844b9f0ffae98c956
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174822
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31265}
2020-05-14 19:26:55 +00:00
91fdc607d8 In video/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: Iec9dded7a3f045e048d0546c268ae206a7d3a7c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175128
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31264}
2020-05-14 18:12:40 +00:00
37120ab59d in RtpSenderVideo propagate chain_diffs into dependency descriptor
Bug: webrtc:10342
Change-Id: I14644c38792616a2002d1420770640d9b6f5099a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175085
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31263}
2020-05-14 15:41:48 +00:00
2b7d969599 RtpVideoSender: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: Ib3341a96ab896a3c10696182d6a30c133988dc44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175102
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31262}
2020-05-14 14:56:08 +00:00
e1b526444c RtpSenderEgress: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: I300272038764359d6612f28606730d1f44ffc759
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175101
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31261}
2020-05-14 14:55:03 +00:00
02ba1d252e AudioProcessingImpl: remove lock recursions.
This change removes lock recursions and adds thread annotations.

Bug: webrtc:11567
Change-Id: Ibefb49bb5b865cb0bb33e4580d34d9837fb41bff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31260}
2020-05-14 14:53:58 +00:00
28685dc08c Revert "Make sure that "current" rtc::Thread instances are always current for TaskQueueBase."
This reverts commit 46b3bc6c24c233fe41a2401ce6e8eb8204a2d5a8.

Reason for revert: Speculative revert. Breaks downstream project

Original change's description:
> Make sure that "current" rtc::Thread instances are always current for TaskQueueBase.
> 
> This is a necessary part of fulfilling the TaskQueueBase
> interface. If a thread does not register as the current TQ, yet offers
> the TQ interface, TQ 'current' checks will not work as expected and
> code that relies them (TaskQueueBase::Current() and IsCurrent())
> will run in unexpected ways.
> 
> Bug: webrtc:11572
> Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31254}

TBR=mbonadei@webrtc.org,tommi@webrtc.org

Change-Id: I69ff3355f0ec447b25604bd95fdacbdb4d4f3f27
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11572
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175104
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31259}
2020-05-14 13:55:22 +00:00
af1b9ceb62 Revert "Revert back to using the task_queue_ for guarding access."
This reverts commit 475006d4a30f8bc47f82eb540a6a066da2829095.

Reason for revert: Speculative revert. Breaks downstream project

Original change's description:
> Revert back to using the task_queue_ for guarding access.
> 
> This removes the SequenceChecker that was temporarily used while
> the rtc::Thread TQ implementation was being fixed.
> 
> Bug: none
> Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
> Commit-Queue: Tommi <tommi@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31256}

TBR=tommi@webrtc.org,srte@webrtc.org

Change-Id: I17a12bdca888a63f2fd161da30c0def5b9c3d04e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175103
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31258}
2020-05-14 13:52:53 +00:00
87a6e5ab4d objc: Export RTCStatistics and RTCStatisticsReport
These two types need to be exported in order to access the stats report
from an ObjC / Swift codebase.

Bug: webrtc:11158
Change-Id: Ibb2f81f289b56f824f02df70971c28accd5a1350
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174900
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31257}
2020-05-14 13:26:01 +00:00
475006d4a3 Revert back to using the task_queue_ for guarding access.
This removes the SequenceChecker that was temporarily used while
the rtc::Thread TQ implementation was being fixed.

Bug: none
Change-Id: Iaa46e47371211ac0a97b2dcaf23cef12b43ee8ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175081
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31256}
2020-05-14 12:54:54 +00:00
97755813dd Reland "Add an optional override for AudioRecord device"
This is a reland of 1b8ef63876ebfa55a51c8ca9b1d8206bf8233e01. It was
previously reverted (https://webrtc-review.googlesource.com/c/src/+/175008)
but the revert was found to be unnecessary.

Original change's description:
> Add an optional override for AudioRecord device
>
> This is important when we have multiple named devices connected over
> USB (eg. "Webcam", "Microphone", "Headset") and there is some way to
> choose a specific input device to route from.
>
> Bug: b/154440591
> Change-Id: I8dc1801a5e4db7f7bb439e855d43897c1f7d8bc4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173748
> Commit-Queue: Robin Lee <rgl@google.com>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31130}

TBR=henrika@webrtc.org,sakal@webrtc.org,rgl@google.com

Bug: b/154440591, b/155256727
Change-Id: Ic9bf8305c85552a0dc0d2cde6190988423e7fc70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175084
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31255}
2020-05-14 12:51:02 +00:00
46b3bc6c24 Make sure that "current" rtc::Thread instances are always current for TaskQueueBase.
This is a necessary part of fulfilling the TaskQueueBase
interface. If a thread does not register as the current TQ, yet offers
the TQ interface, TQ 'current' checks will not work as expected and
code that relies them (TaskQueueBase::Current() and IsCurrent())
will run in unexpected ways.

Bug: webrtc:11572
Change-Id: Iab747bc474e74e6ce4f9e914cfd5b0578b19d19c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175080
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31254}
2020-05-14 12:40:42 +00:00
f8cb70a343 Roll chromium_revision 9330db6b76..8ffd72401d (768590:768712)
Change log: 9330db6b76..8ffd72401d
Full diff: 9330db6b76..8ffd72401d

Changed dependencies
* src/base: 30efa1491c..e6c0c5b9ad
* src/build: a93cb809d6..f70e3b9685
* src/ios: 4103cdaed8..7b694bd936
* src/testing: 0f7b49cc2a..5a5fb44e80
* src/third_party: 5c2856e2f2..57686d64cb
* src/tools: b5323198e7..b64de32dc9
DEPS diff: 9330db6b76..8ffd72401d/DEPS

No update to Clang.

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

Change-Id: Ifa2e3a297e768ddc6e7d013122350ce186862571
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174991
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@{#31253}
2020-05-14 11:12:54 +00:00
a0a4480f12 Migrate CallStats and RtpStreamsSynchronizer timers over to RepeatingTask
Bug: none
Change-Id: Ib49a3de74c6d3a6d4ea158383a5e4b69a1e58ab9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175000
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31252}
2020-05-14 09:58:22 +00:00
6ee67936bd Reland "Delete unused code to handle posix signals in PhysicalSocketServer"
This is a reland of d2490aef20457f4e981e5cc14e84552389d2363b
Earlier link errors were likely a single trybot with corrupted dep files.

Original change's description:
> Delete unused code to handle posix signals in PhysicalSocketServer
>
> Bug: None
> Change-Id: I3abddef4f1af5499f39a8d3f643c779effe9e01d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175006
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31237}

Bug: webrtc:11571
Change-Id: I7ea14f26a2186a9d51a75493b7280fc0ad6b8c77
Tbr: kwiberg@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175042
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31251}
2020-05-14 09:39:45 +00:00
2e2f67443e Add VideoStreamEncoder tests for DegredationPreference switching.
This test ensures that when changing degradation preference,
a resource that was previously downgraded in a different degradation
preference can not adapt up.

Bug: webrtc:11522, webrtc:11523
Change-Id: Id362530408db4c49b0d0b2516be9a11ccc7c8f37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175012
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#31250}
2020-05-14 09:21:32 +00:00
2f4b0106c2 docs: Improve Android testing docs
The current documentation seems outdated: Building the `AppRTCMobile`
target does not generate a `run_modules_unittests` binary and the
`AppRTCMobileTest` target does not exist.

No-Try: True
Bug: None
Change-Id: Ia9156fe475188f07d13898b4d83a606c49119a2e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175013
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31249}
2020-05-14 08:05:37 +00:00
b088a952ee Roll chromium_revision 1f82a0280b..9330db6b76 (768300:768590)
Change log: 1f82a0280b..9330db6b76
Full diff: 1f82a0280b..9330db6b76

Changed dependencies
* src/base: d3e2c5e998..30efa1491c
* src/build: 665b41e921..a93cb809d6
* src/ios: 56d162893a..4103cdaed8
* src/testing: c9f85e9d97..0f7b49cc2a
* src/third_party: 23a952e0a7..5c2856e2f2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ca8802d27b..087cffcba4
* src/tools: b4bbcec8d9..b5323198e7
DEPS diff: 1f82a0280b..9330db6b76/DEPS

No update to Clang.

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

Change-Id: I2fd8070a3e4d095948875a1f409a4655c99f2235
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174987
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@{#31248}
2020-05-14 03:16:25 +00:00
47173c9f60 Hunch that something might be broken wrt Thread and TQ
integration in Chromium.

Change-Id: I5322fce1e874412a6b0a21ce16902d8846bcaf74
Bug: webrtc:11572
Tbr: henrika@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175041
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31247}
2020-05-13 20:54:49 +00:00
adaec45f36 Removes RepairedRtpStreamId from overhead calculation.
In https://webrtc-review.googlesource.com/c/src/+/173704 the overhead
calculations were made more static, so that "volatile" extensions
(those that are not set on every packet) are ignored. The intent, as
the comments specify, was to ignore RepairedRtpStreamId since that is
only used on RTX packets.
This CL makes us actually count that extension as volatile.

Bug: webrtc:10809
Change-Id: If42ae84e4c09ff9112e93f8d872ee890c6253a23
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175010
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31246}
2020-05-13 16:53:12 +00:00
da76ad3c49 Roll chromium_revision 7a46078a3f..1f82a0280b (768198:768300)
Change log: 7a46078a3f..1f82a0280b
Full diff: 7a46078a3f..1f82a0280b

Changed dependencies
* src/base: a4ea6a9188..d3e2c5e998
* src/build: 995e5d1e59..665b41e921
* src/ios: 9e7aab0d66..56d162893a
* src/third_party: b289306719..23a952e0a7
* src/third_party/depot_tools: 8280ae5e0a..30ef5cb437
* src/tools: 2205024628..b4bbcec8d9
DEPS diff: 7a46078a3f..1f82a0280b/DEPS

No update to Clang.

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

Change-Id: I07c92a0f49904725fdbc42a7a68d625204149300
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174985
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@{#31245}
2020-05-13 16:52:07 +00:00
ec02eef1ff Android: Remove min_sdk_version in GN (reland)
Android lint is changing, so min_sdk_version is no longer needed in GN.

Relanding because webrtc was able to roll chromium.

Bug: chromium:1017190
Change-Id: I3e351381cb735d511da648d4ef41613c923d62c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174983
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31244}
2020-05-13 15:46:45 +00:00
5bf60e446d VideoStreamEncoderTest: Wait for QP usage handled callback event.
(Misc cleanup associated with
https://webrtc-review.googlesource.com/c/src/+/174441.)

This test was previously assuming what when QP usage is handled it
first posts to the adaptation queue and then back with the result from
the encoder queue.

While the assumption is correct it is not an implementation detail that
the test was trying to assert, nor do we need such a test.

TriggerQualityScalerHighQpAndReturnIfQpSamplesShouldBeCleared() is
updated to wait for an event associated with QP having been handled,
which is all that the test really cares about.

Bug: webrtc:11542, webrtc:11520
Change-Id: I3286c3ab631f09c43abe0fd59f31c3997aedd9f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175004
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#31243}
2020-05-13 15:23:25 +00:00
611fba4517 Mark construction time members of PhysicalSocketServer as const
Bug: webrtc:11567
Change-Id: I06d48aa1636ce1dc684e6a1f6332366be9df22d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175007
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31242}
2020-05-13 14:37:35 +00:00
a98cea863d Remove the PendingTaskSafetyFlag::Pointer type add ScopedTaskSafety.
ScopedTaskSafety simplifies usage of PendingTaskSafetyFlag,
so this CL also includes ToQueuedTask support for ScopedTaskSafety
and test updates.

This is following up on feedback in the following CL:
https://webrtc-review.googlesource.com/c/src/+/174262

Change-Id: Idd38dfc1914b24a05fdc4ad256b409dcf1795fc0
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174740
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31241}
2020-05-13 14:17:39 +00:00
ff88a64b67 Revert "Delete unused code to handle posix signals in PhysicalSocketServer"
This reverts commit d2490aef20457f4e981e5cc14e84552389d2363b.

Reason for revert: peerconnection_client fails to link.

Original change's description:
> Delete unused code to handle posix signals in PhysicalSocketServer
> 
> Bug: None
> Change-Id: I3abddef4f1af5499f39a8d3f643c779effe9e01d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175006
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31237}

TBR=kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: Ia5a44b4f1a54f6b444b8c53e64d1a3972d166728
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175011
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31240}
2020-05-13 13:48:28 +00:00
21433cae74 Add field trial to let idle connection live longer than 30s
A connection is currently deleted if it has not recevied anything for
30s. This patch adds a field trial that allows modifying this value
if no pings are outstanding.

The motivation for this is to experiment with pinging slower than
once per 30s in order to save battery.

Bug: webrtc:10282
Change-Id: I3272b9d68d44fc30379bd9a6c643db6b09766486
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175005
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31239}
2020-05-13 13:20:09 +00:00