Commit Graph

28713 Commits

Author SHA1 Message Date
0a7d5d8408 Set console window NOTOPMOST flag after WindowFinderTest.FindDrawerWindow on Windows
Otherwise it's inconvenient to run the test interactively, since
it leaves the interactive console window topmost preventing any other
window visibility even when the console window is deactivated.

Bug: webrtc:7950
Change-Id: I80a19509f1518550fe93b26feea9e8964b0e405d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150943
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Cr-Commit-Position: refs/heads/master@{#29181}
2019-09-13 12:02:38 +00:00
01be33b35e Using lambdas instead of rtc::Bind in BaseChannel.
This makes it easier to follow the flow in a debugger and reduces
the number of methods.

Bug: webrtc:9883
Change-Id: If485ff08a223a3986ff24b29ebf4d37c325f0f26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152669
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29180}
2019-09-13 12:01:36 +00:00
262bbaee61 Fix rare audioLevel flake in RTCStatsIntegrationTest.
The integration test sets up a loopback call, verifies media is flowing,
and then asserts which metrics should be available.

One of the things it asserted was that audioLevel is positive. This
could flake in rare circumstances because audioLevel requires a certain
number of samples to have been received before it is updated or else it
would have its default value zero.

This test is a broad asserting things about 150+ metrics; it's not worth
adding a dependency on the "implementation detail" about how long you
have to wait before this specific metric is non-zero. The fix for the
flake is to only require the metric to have been set, but zero is also
an acceptable value.

We don't lose much test coverage; we're still asserting that other
audio metrics originating from the same class have positive values.

Bug: webrtc:10962
Change-Id: I5def9193da7150492d89ea62031858bac5c41646
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152821
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29179}
2019-09-13 11:35:22 +00:00
65f17ca6b4 Move MediaTransportInterface out of the libjingle_peerconnection_api target
And move related files into api/transport/ and api/transport/media/.
The moved files are unchanged, except that
congestion_control_interface.h and datagram_transport_interface.h
no longer include media_transport_interface.h, instead, they forward
declare the few MediaTransport* types they reference.

Bug: webrtc:8733
Change-Id: I4f4000d0d111f10d15a54c99af27ec26c46ae652
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152482
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29178}
2019-09-13 10:49:56 +00:00
5f15f86f7c Add plotter script to plot internal test's stats
Bug: webrtc:10138
Change-Id: I2b9d55559cf6a123914e5a597a5bf6ea6e2aa4d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152721
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29177}
2019-09-13 09:05:03 +00:00
3f17221d98 AEC3: Make RenderSignalAnalyzer multi-channel
In this CL:
 - Render signal analyzer considers a frequency bin a narrow band
(peak) if any channel exhibits narrowband (-peak) behavior.
 - The unit tests have to fill frames with noise because small
inaccuracies in the FFT spectrum lead to consistent "narrow bands"
despite spectrum being essentially flat.

Bug: webrtc:10913
Change-Id: I8fa181412c0ee1beeacfda37ffef18251d5f0cd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151912
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29176}
2019-09-13 06:07:09 +00:00
b5a4ae8a57 Roll chromium_revision f34aba1c4b..f7cd88eb51 (696142:696270)
Change log: f34aba1c4b..f7cd88eb51
Full diff: f34aba1c4b..f7cd88eb51

Changed dependencies
* src/base: f4abcfef40..4e0f45b08e
* src/build: 84f457cd3a..9feeba1e09
* src/buildtools: cd73d21598..cf454b247c
* src/ios: daccfbb8f2..d26da0c53d
* src/testing: f10bc9f2a6..3eeaff6f9f
* src/third_party: ade1bb5565..88bce8c16d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/18bc4ae25c..3732ed115b
* src/third_party/depot_tools: 0910f787eb..2d75cf6238
* src/tools: de937bd3ad..c698ad2923
DEPS diff: f34aba1c4b..f7cd88eb51/DEPS

No update to Clang.

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

Change-Id: Ic1f17a6586f5197b209491edfea8114c45460180
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152781
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@{#29175}
2019-09-13 02:34:08 +00:00
1e6c415703 Roll chromium_revision 783ccff90c..f34aba1c4b (696001:696142)
Change log: 783ccff90c..f34aba1c4b
Full diff: 783ccff90c..f34aba1c4b

Changed dependencies
* src/base: 93be3297f6..f4abcfef40
* src/build: bc4f8d5f5c..84f457cd3a
* src/ios: def494d616..daccfbb8f2
* src/testing: a892674cce..f10bc9f2a6
* src/third_party: aa98b6f250..ade1bb5565
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c979465c52..18bc4ae25c
* src/third_party/googletest/src: 33a0d4f6d7..c7a03daa99
* src/third_party/libvpx/source/libvpx: 5a0242ba5c..c094391e95
* src/tools: d0b466c553..de937bd3ad
DEPS diff: 783ccff90c..f34aba1c4b/DEPS

No update to Clang.

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

Change-Id: I6a425bc4c3f105f023f167b25dcdcd5a1b52f0ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152703
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@{#29174}
2019-09-12 20:36:06 +00:00
087be5cfd4 Add ability to export internal state of SamplesStatsCounter.
Add ability to export internal state of SamplesStatsCounter to be able
then to plot that data.

Bug: webrtc:10138
Change-Id: I5aae5b7dea2989e9f82820933a9ab6f21db17556
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152542
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29173}
2019-09-12 19:04:58 +00:00
cc46b10cd0 Add a usage pattern bit for host-host connections.
Bug: None
Change-Id: I66dee594295212fcc40a7706f688c9ab15967775
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149341
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29172}
2019-09-12 18:55:48 +00:00
352b5d836a Stop explicitly setting use_prebuilt_instrumented_libraries on msan bots.
After https://chromium-review.googlesource.com/c/chromium/src/+/1797468
(rolled in https://webrtc-review.googlesource.com/c/src/+/152601) it's set by
default in is_msan=true builds.

Bug: webrtc:10967
Change-Id: I380ef3bf1cfdc2aba983c8506e27e3a6b2868e6d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152720
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29171}
2019-09-12 18:21:38 +00:00
a74e47759e Deprecate legacy RtpHeaderExtensionMap::Register function
Bug: None
Change-Id: Ia27ecf4d316563c5f7693162aedff535855c403b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152667
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29170}
2019-09-12 17:04:01 +00:00
aa5a75d5e3 Embed Deceleration Target Level Offset Field Trial.
Bug: webrtc:10619
Change-Id: I4ef75ae03d6071bf84d2c1b6e50290ea26e83496
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152663
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29169}
2019-09-12 14:55:13 +00:00
ef85f2bdb8 Clean away unused enum RtpPacketSendResult
Also updates outdated comment.

Bug: webrtc:8052
Change-Id: Ib88c2894bdda5efcf36d8d7dfbacbe96edf1b549
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152180
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29168}
2019-09-12 13:52:22 +00:00
ca79dc6779 Delete VideoReceiver2::TriggerDecoderShutdown.
This method used to be wired down to VCMReceiver and to
VCMJitterBuffer::Stop, but has become a nop. Also delete some
obsoleted comments.

Bug: webrtc:7408
Change-Id: I4c1e67272b1ffda786cc0ff358fa38e594aff304
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152620
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29167}
2019-09-12 13:44:13 +00:00
d8ac383bba Delete temporary accessors in RtpDepacketizer::ParsedPayload
Bug: webrtc:10397
Change-Id: I86f4623b12e2a92ca541c0c22680fa6ab1ea7f44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152665
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29166}
2019-09-12 12:57:34 +00:00
3d5825eead Roll chromium_revision 0d1efbbba4..783ccff90c (695897:696001)
Change log: 0d1efbbba4..783ccff90c
Full diff: 0d1efbbba4..783ccff90c

Changed dependencies
* src/build: f92855e31b..bc4f8d5f5c
* src/ios: a75b2b7bd2..def494d616
* src/testing: f61324781d..a892674cce
* src/third_party: 2250890ea2..aa98b6f250
* src/third_party/depot_tools: 0e85f633c7..0910f787eb
* src/tools: 3555a687ba..d0b466c553
DEPS diff: 0d1efbbba4..783ccff90c/DEPS

No update to Clang.

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

Change-Id: If1f92b40f960dc91848fd6aa6b7ac380a2a97236
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152681
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@{#29165}
2019-09-12 12:35:10 +00:00
69f8c42d2c [RELAND] Add support of AudioRecord.Builder in the ADM for Android
Now fixed issue which caused http://b/140707892

First version was reverted in https://webrtc-review.googlesource.com/c/src/+/152526.
The mistake I had done in the original version was that I missed that the new
builder could throw a different type of exception and it was never caught.

TBR: glaznev@webrtc.org
Bug: webrtc:10942
Change-Id: I0e11511936d2d25681a1ffae3bbd367095fee7a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152664
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29164}
2019-09-12 11:44:20 +00:00
dc7d2c6fd7 Backoff to acked bitrate during first overuse detection
In DelayBasedBwe, in experiment WebRTC-Bwe-AlrLimitedBackoff, back off relative the BWE only after the first detected overuse. The first time overuse is detected, back down to the acked bitrate.

The idea is to faster drop BWE in the beginning of the call when the initial BWE guess may be too high. Withouth this, it may take a too long time to initially back down.

BUG=webrtc:10542

Change-Id: I2a11457d2391ad25658e7c13d9cae02a38973ecb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152541
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29163}
2019-09-12 10:51:45 +00:00
626f7ff2bb Update video_replay.
Bug: none
Change-Id: I83eb11f7c67cb32fc46e46c26b9461c8ef5b04f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152621
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29162}
2019-09-12 09:27:04 +00:00
e373bb6ea5 Roll chromium_revision fe8ed20c77..0d1efbbba4 (695755:695897)
Change log: fe8ed20c77..0d1efbbba4
Full diff: fe8ed20c77..0d1efbbba4

Changed dependencies
* src/base: aa802bbdbc..93be3297f6
* src/build: 0988d5b211..f92855e31b
* src/ios: e806038a1c..a75b2b7bd2
* src/testing: 10cab916a3..f61324781d
* src/third_party: f11deed8c1..2250890ea2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fc09aa89b9..c979465c52
* src/third_party/depot_tools: 2ae039a065..0e85f633c7
* src/third_party/icu: 53f6b233a4..faee8bc705
* src/tools: 2531a4ffe6..3555a687ba
DEPS diff: fe8ed20c77..0d1efbbba4/DEPS

No update to Clang.

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

Change-Id: I10fc5c7c3808db67f079dc9a9b8bd1490fdfbe53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152601
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@{#29161}
2019-09-12 02:36:32 +00:00
9805913bb5 Roll chromium_revision 58a2bab7bd..fe8ed20c77 (695605:695755)
Change log: 58a2bab7bd..fe8ed20c77
Full diff: 58a2bab7bd..fe8ed20c77

Changed dependencies
* src/base: a8b47403c0..aa802bbdbc
* src/build: 9112428bb9..0988d5b211
* src/ios: 9101b264f6..e806038a1c
* src/testing: 3d7e946f5b..10cab916a3
* src/third_party: 2ce10380bd..f11deed8c1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c5f9c06821..fc09aa89b9
* src/third_party/depot_tools: cc6f585f05..2ae039a065
* src/tools: a9a3a3075b..2531a4ffe6
DEPS diff: 58a2bab7bd..fe8ed20c77/DEPS

No update to Clang.

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

Change-Id: I98894cfb64f30d2aec072bfd01c22274cee92fcd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152560
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@{#29160}
2019-09-11 20:34:38 +00:00
a1727db1ac Revert "Add support of AudioRecord.Builder in the ADM for Android"
This reverts commit 24b945d60526f8074d0db1329ba20e9b49602794.

Reason for revert: Caused http://b/140707892

Original change's description:
> Add support of AudioRecord.Builder in the ADM for Android
> 
> Use the latest builder class for AudioRecord instead of the old
> constructor. AudioTrack has been updated for a while now.
> 
> Bug: webrtc:10942
> Change-Id: Ia68b12e5aaf1525cfa630650fbaaa02d70ada15f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151305
> Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29072}

TBR=henrika@webrtc.org,glaznev@webrtc.org

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

Bug: webrtc:10942
Change-Id: Idbc487cf8d42e76f6a3435be6fef6634aa0cd62b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152526
Reviewed-by: Daixiang Mou <dmou@webrtc.org>
Commit-Queue: Daixiang Mou <dmou@webrtc.org>
Commit-Queue: Hari Molabanti <harimb@google.com>
Cr-Commit-Position: refs/heads/master@{#29159}
2019-09-11 18:37:03 +00:00
7e2441234b Roll chromium_revision 95ebb2b7ff..58a2bab7bd (695497:695605)
Change log: 95ebb2b7ff..58a2bab7bd
Full diff: 95ebb2b7ff..58a2bab7bd

Changed dependencies
* src/base: 18d2a7bbf9..a8b47403c0
* src/build: 4ab78ab2d7..9112428bb9
* src/ios: 2dcc2d0a13..9101b264f6
* src/third_party: 5fa2200e5a..2ce10380bd
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/050abd8dd5..c5f9c06821
* src/tools: 3f2e054770..a9a3a3075b
DEPS diff: 95ebb2b7ff..58a2bab7bd/DEPS

No update to Clang.

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

Change-Id: I027407d0dd3727e017622f6768b03f65613b3497
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152523
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@{#29158}
2019-09-11 14:37:28 +00:00
ff060eef97 Disable AudioDeviceTest unittests under sanitizers.
Both the tests and the code under test are very old, unstaffed and not
a part of webRTC stack.
Here sanitizers make the tests hang, without providing useful report.
So we are just disabling them, without intention to re-enable them.

Bug: webrtc:10951
Change-Id: I40e97208606ba3f0eb5b19d404f7d038e6cc2bdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152487
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29157}
2019-09-11 14:25:08 +00:00
0ba1705c6a Increase allowed jitter buffer size in ScenarioAnalyzerTest.PsnrIsLowWhenNetworkIsBad.
Change-Id: I6f3d7ce9d8c3821b824a95c8d3c6e913d8051127
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152484
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29156}
2019-09-11 11:40:39 +00:00
1af0f908c8 VP9 screenshare: use CONSTRAINED_FROM_ABOVE_DROP mode
This mode was added by libvpx team specificaly for this usecase: if a
layer is dropped, all lower layers have to be dropped also.

This ensures that higher layers always have higher framerate than the
lower layers and stream is RTP compatible.

This CL also renames full_superframe_drop_ to !layer_buffering, as it
closer reflects the purpose of that flag (in screenshare mode, no
buffering is needed, because the highest layer is always present in the
superframe, yet, it's not a full-superframe dropping mode).

Bug: webrtc:10257
Change-Id: I2589bfd2b9b63de0e410f277a716276234993843
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151764
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29155}
2019-09-11 11:21:39 +00:00
6fcdbc1d8d Store timestamp for each sample to be able to plot them in future
Bug: webrtc:10138
Change-Id: Ifde909ac4f92e5d0f089e5d2f6fc544c9ae97db1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151652
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29154}
2019-09-11 11:13:49 +00:00
7ddea57e94 Add field-trial parameter to enable tests simulating a slow decoder
This CL adds a field trial parameter WebRTC-SlowDownDecoder that is
used to simulate a slow decoder. The parameter specifies how many
extra ms it takes to decode each video frame. This must only be used
in manual testing.

Bug: None
Change-Id: Iad4079100d67b95c224277aaeaf572e38068717f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151911
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29153}
2019-09-11 11:08:59 +00:00
2d7b2f5f72 Reland "Improve performance of RtpPacketHistory"
This is a reland of 9e380fd484db09c37323b90a19c5ce7965927975

Patchset 1 is the original CL. The follow-ups adds fix for a test failure
and test for that change.

Original change's description:
> Improve performance of RtpPacketHistory
>
> The data structures in RtpPacketHistory were chosen based on assumption
> of few packets with possible sparse segments due to missing acking.
> In practice high bitrate usages with full histories seem to be more of
> a problem.
> Due to that, change storage from an std::map to an std::deque and live
> with potential segments of nullptr. Also limit size of padding prio
> set so that doesn't become a bottleneck.
>
> Bug: webrtc:8975
> Change-Id: I3b6314fb3255937d25362ff2cd906efb7b1397f7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145901
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29117}

Bug: webrtc:8975
Change-Id: I5038e5ad2eb79ce75710d2d8b0b3ac01dd41c013
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152282
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29152}
2019-09-11 11:07:29 +00:00
9a91161b9f Fixing way of printing logs because RTC_LOG() on Android has limit on printing 1024-60 characters in line.
Bug: webrtc:10885
Change-Id: I42c365555b682f3352644330167e2a4331ba0527
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149180
Commit-Queue: Marin Kišić <kisicmar@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29151}
2019-09-11 10:44:07 +00:00
2eecfc1f9a Trim dependencies in modules/video_coding/
And move jitter_buffer_common.h to the legacy build target.

Bug: None
Change-Id: I986649f2f0773cadfa7dd9c8b533af7ecf01f3a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152382
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29150}
2019-09-11 09:31:10 +00:00
16cb1f61c0 Stop using rtc_event.h forward header
Bug: webrtc:10206
Change-Id: I16905ec745673178195d6715fda6175c31500163
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151601
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29149}
2019-09-11 08:20:29 +00:00
fcfeefe033 Move rtc_error.{h,cc} to its own build target.
Bug: webrtc:8733
Change-Id: Idd34d9a88ae62a01b9ea50719872f8188069211e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152320
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29148}
2019-09-11 07:12:22 +00:00
47287d546d Reland "Adds peer scenario connection interface."
This is a reland of d181ee798da57ce5b955f09e8dcb755fba70b51b

Original change's description:
> Adds peer scenario connection interface.
>
> This allows implementing custom clients for test in peer connection
> scenario tests. For example server side behavior.
>
> Bug: webrtc:10839
> Change-Id: I5627b7a4d967d401f31d2e9a8f861d0849eb0184
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151907
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29125}

TBR=perkj@webrtc.org

Bug: webrtc:10839
Change-Id: I5e0857dc7647587eab2a9b61965f627bf310b88c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152481
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29147}
2019-09-11 07:10:52 +00:00
70767cba42 Roll chromium_revision d65ce76c39..95ebb2b7ff (695395:695497)
Change log: d65ce76c39..95ebb2b7ff
Full diff: d65ce76c39..95ebb2b7ff

Changed dependencies
* src/base: 33f39abb40..18d2a7bbf9
* src/build: f02b4d31e1..4ab78ab2d7
* src/ios: 1668c95d24..2dcc2d0a13
* src/testing: 73d164100d..3d7e946f5b
* src/third_party: f4e6f18b5a..5fa2200e5a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/369f46e374..050abd8dd5
* src/third_party/depot_tools: dbca865e55..cc6f585f05
* src/third_party/googletest/src: 3a45039862..33a0d4f6d7
* src/third_party/harfbuzz-ng/src: bbad1b8298..170b5dd856
* src/tools: e038a4025e..3f2e054770
DEPS diff: d65ce76c39..95ebb2b7ff/DEPS

No update to Clang.

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

Change-Id: I466a301558b148e744ca36f101b9822250cef5e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152500
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@{#29146}
2019-09-11 06:42:12 +00:00
55f663f5dd Roll chromium_revision b5e2f0208d..d65ce76c39 (695291:695395)
Change log: b5e2f0208d..d65ce76c39
Full diff: b5e2f0208d..d65ce76c39

Changed dependencies
* src/base: ab8ef8c8fb..33f39abb40
* src/ios: 5814bdd32f..1668c95d24
* src/testing: e18fb794d2..73d164100d
* src/third_party: c6ee6c7538..f4e6f18b5a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1f562b7ad6..369f46e374
* src/third_party/depot_tools: d9c1c856c6..dbca865e55
* src/tools: f2382ec5c7..e038a4025e
DEPS diff: b5e2f0208d..d65ce76c39/DEPS

No update to Clang.

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

Change-Id: I513b5916cd34c5a465347b536aa3452bfed80d80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152440
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@{#29145}
2019-09-11 00:35:06 +00:00
c5d2958860 Roll chromium_revision 56140e7d8b..b5e2f0208d (695187:695291)
Change log: 56140e7d8b..b5e2f0208d
Full diff: 56140e7d8b..b5e2f0208d

Changed dependencies
* src/base: a010a63daa..ab8ef8c8fb
* src/build: 2d9fa32455..f02b4d31e1
* src/buildtools: fce87d1a32..cd73d21598
* src/ios: 9ef7ed3f92..5814bdd32f
* src/testing: 8399ced293..e18fb794d2
* src/third_party: 3c62019002..c6ee6c7538
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/884c81e170..1f562b7ad6
* src/third_party/depot_tools: e5641be5fe..d9c1c856c6
* src/tools: 76bd6ba3d5..f2382ec5c7
DEPS diff: 56140e7d8b..b5e2f0208d/DEPS

No update to Clang.

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

Change-Id: If24f41e6969bcd909394cd4ad7b9879bd556505a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152424
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@{#29144}
2019-09-10 20:33:48 +00:00
52f7ae7c89 Make NetworkStateEstimator injectable in RemoteBitrateEstimator
The NetworkStateEstimator is updated on every incoming RTP packet if available.

A rtcp::RemoteEstimate packet is sent every time a rtcp::TransportFeedback packet is sent.

BUG=webrtc:10742

Change-Id: I4cd8e9d85d35faf76aeefd2e26c2a9fe1a62ca3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152161
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29143}
2019-09-10 18:47:36 +00:00
467073a0c1 Revert "Adds peer scenario connection interface."
This reverts commit d181ee798da57ce5b955f09e8dcb755fba70b51b.

Reason for revert: the dependent API changing cl is reverted

Original change's description:
> Adds peer scenario connection interface.
> 
> This allows implementing custom clients for test in peer connection
> scenario tests. For example server side behavior.
> 
> Bug: webrtc:10839
> Change-Id: I5627b7a4d967d401f31d2e9a8f861d0849eb0184
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151907
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29125}

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

Change-Id: I8bc5dd4fdc9d72288baa74ff94c1ad8b3e7772a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10839
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152423
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29142}
2019-09-10 18:19:48 +00:00
437077dd45 Revert "Reland "Refactor SCTP data channels to use DataChannelTransportInterface.""
This reverts commit 487f9a17e426fd14bb06b13e861071b3f15d119b.

Reason for revert: speculative revert

Original change's description:
> Reland "Refactor SCTP data channels to use DataChannelTransportInterface."
> 
> Also clears SctpTransport before deleting JsepTransport.
> 
> SctpTransport is ref-counted, but the underlying transport is deleted when
> JsepTransport clears the rtp_dtls_transport.  This results in crashes when
> usrsctp attempts to send outgoing packets through a dangling pointer to the
> underlying transport.
> 
> Clearing SctpTransport before DtlsTransport removes the pointer to the
> underlying transport before it becomes invalid.
> 
> This fixes a crash in chromium's web platform tests (see
> https://chromium-review.googlesource.com/c/chromium/src/+/1776711).
> 
> Original change's description:
> > Refactor SCTP data channels to use DataChannelTransportInterface.
> >
> > This change moves SctpTransport to be owned by JsepTransport, which now
> > holds a DataChannelTransport implementation for SCTP when it is used for
> > data channels.
> >
> > This simplifies negotiation and fallback to SCTP.  Negotiation can now
> > use a composite DataChannelTransport, just as negotiation for RTP uses a
> > composite RTP transport.
> >
> > PeerConnection also has one fewer way it needs to manage data channels.
> > It now handles SCTP and datagram- or media-transport-based data channels
> > the same way.
> >
> > There are a few leaky abstractions left.  For example, PeerConnection
> > calls Start() on the SctpTransport at a particular point in negotiation,
> > but does not need to call this for other transports.  Similarly, PC
> > exposes an interface to the SCTP transport directly to the user; there
> > is no equivalent for other transports.
> 
> Bug: webrtc:9719
> Change-Id: I64e94b88afb119fdbf5f22750f88c8a084d53937
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151981
> Reviewed-by: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29120}

TBR=steveanton@webrtc.org,mellem@webrtc.org,benwright@webrtc.org

Change-Id: Ibd1a7f30931c114212c90824fec414d276d3f915
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152421
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29141}
2019-09-10 17:52:36 +00:00
f6aa572e36 First step for introducing multichannel support for the AEC3 capture
This CL introduces the handling of multiple microphone channels in
the EchoRemover layer.
The implementation is done such as to support an arbitrary number of
channels in a way that balances stack and heap-space usage.

Bug: webrtc:10913
Change-Id: I475369de6c463b8fe2d7e53799d7322eefb6938f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151647
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29140}
2019-09-10 16:44:18 +00:00
2dc1425616 Roll chromium_revision a87779d34b..56140e7d8b (695071:695187)
Change log: a87779d34b..56140e7d8b
Full diff: a87779d34b..56140e7d8b

Changed dependencies
* src/base: 2593ef8132..a010a63daa
* src/ios: 6c7a089224..9ef7ed3f92
* src/testing: 0fb5737633..8399ced293
* src/third_party: 82bfbbfe6a..3c62019002
* src/tools: 7fdcd44406..76bd6ba3d5
DEPS diff: a87779d34b..56140e7d8b/DEPS

No update to Clang.

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

Change-Id: Ia55fa019a607da2353569d8b05f96de39684e02d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152420
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@{#29139}
2019-09-10 16:34:58 +00:00
de5f63910e Removes decoder thread fallback from VideoReceiveStream.
The task queue variant has been the default without issues for a few
months.

Bug: webrtc:10365
Change-Id: I1e1707a80788243eba1b439c8db4f8f6162774ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152283
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29138}
2019-09-10 16:27:48 +00:00
29ab487ea7 Revert "Removes string support in field trial parser."
This reverts commit e74156f7d05cf3c9858e554789b3f4bb3b93cc19.

Reason for revert: This turned out to be useful :)

Original change's description:
> Removes string support in field trial parser.
> 
> This prepares for simplifying the behavior of optionals so that
> an empty parameter value resets the optional.
> 
> Bug: webrtc:9883
> Change-Id: I8ef8fe9698235044cac66bc4a587abe874c8f854
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150883
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29061}

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

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

Bug: webrtc:9883
Change-Id: Idbb4061f4b423987e62f3a9ad9bee2410e2cec96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152383
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29137}
2019-09-10 14:39:55 +00:00
507f43465b Reland "Make relative arrival delay mode default in NetEq delay manager."
This is a reland of 77c71d1488b1c821b2b3481f23a3264f1b1d37a5

Original change's description:
> Make relative arrival delay mode default in NetEq delay manager.
> 
> Bug: webrtc:10333
> Change-Id: I9b1e0bec0b1813cf31259492f83eb2ca86a44d3f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150782
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29075}

Bug: webrtc:10333
Change-Id: I9c726cec1afc1147a4618fc224404a83962e6ae2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152281
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29136}
2019-09-10 14:05:48 +00:00
3354157d36 Add support for 192kHz input audio sample rate.
The existing restriction of max 48k seems old and outdated. I am unable to
see any issues by simply extending the support to 96 and utilize the existing
resampler in WebRTC. There are no memory limitations involved either.

It is a rather common case today in Chrome that users need 96k/192k input; hence this
simple change will have a positive impact for many WebRTC clients using gUM.

Bug: webrtc:10958
Test: https://webrtc.github.io/samples/src/content/peerconnection/audio/ using mic @96k
Change-Id: I8123da886ef7d48cbec9482795ec837ec1f61d81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152162
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29135}
2019-09-10 13:01:58 +00:00
45b01c7962 Delete some dead code in vcm::VideoReceiver and VCMReceiver
Bug: None
Change-Id: I9cb8bd57af697762a9fc76007e139695afaf1fa4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152381
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29134}
2019-09-10 12:40:58 +00:00
fe407b7a1d Move code related to VideoCodingModule to its own build target
The new target, modules/video_coding:video_coding_legacy, is not
depended upon by any webrtc non-test code.

Bug: webrtc:7408
Change-Id: I94127e2b8b3b8f15917bfa38e602f8face91fcdb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152163
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29133}
2019-09-10 12:34:38 +00:00
01b7e929e2 Mark test::DriftingClock constants as constexpr
Bug: None
Change-Id: Ie9e2772c00a57c6020e8d60b0f125b6c442f205b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152380
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29132}
2019-09-10 12:14:50 +00:00