Commit Graph

29397 Commits

Author SHA1 Message Date
577c580cd0 Do not stop SingleThreadedTaskQueueForTestingTest near the end of the tests
That brings usage of that queue closer to the production.
In particular that should surface race conditions on destruction.
Those should be fixed rather than avoided.

Bug: webrtc:10933
Change-Id: Iff60cf5a4b87bd848117ef543ffc97f6504dc979
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157898
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29665}
2019-10-31 13:07:30 +00:00
fb075d558d Removing unused Opus wrapper API: WebRTCOpus_DecodePlc.
Bug: None
Change-Id: I5b613b4c13ec5f6ad13d8430043d006f6d83c11f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158671
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29664}
2019-10-31 12:01:31 +00:00
0cbb58e046 Reland "Refactoring of the noise suppressor and adding true multichannel support"
This is a reland of 87a7b82520b83a6cf42da27cdc46142c2eb6248c

Original change's description:
> Refactoring of the noise suppressor and adding true multichannel support
> 
> This CL adds proper multichannel support to the noise suppressor.
> To accomplish that in a safe way, a full refactoring of the noise
> suppressor code has been done.
> 
> Due to floating point precision, the changes made are not entirely
> bitexact. They are, however, very close to being bitexact.
> 
> As a safety measure, the former noise suppressor code is preserved
> and a kill-switch is added to allow revering to the legacy noise
> suppressor in case issues arise.
> 
> Bug: webrtc:10895, b/143344262
> Change-Id: I0b071011b23265ac12e6d4b3956499d122286657
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158407
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29646}

Bug: webrtc:10895, b/143344262
Change-Id: I236f1e67bb0baa4e30908a4cf7a8a7bb55fbced3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158747
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29663}
2019-10-31 11:56:01 +00:00
159b417c98 Keep the video send stream alive if the encoder drop frames.
The encoder can drop all frames for extended periods if it has produced over budget. After 2 seconds without any encoded frames, the video send stream times out and deallocates the stream.

Ideally the send stream should keep track if frames are captured instead of encoded, but keeping the stream alive using OnDroppedFrame can work as a proxy for that.

Bug: webrtc:11062
Change-Id: Id7ec1ff333427643453c4a36d1db03ca826cd9ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158700
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29662}
2019-10-31 11:30:47 +00:00
c35333d1fd Add RTC_EXPORT_TEMPLATE_{DECLARE,DEFINE} macros.
This CL adds macros to correctly export template instantiation
declarations and definitions. These macros have been borrowed from
Chromium's //base/export_template.h [1] and are supposed to be used
together with RTC_EXPORT [2].

The goal is to start using explicit template instatiation declarations
(introduced in C++11) [3] and remove workarounds that are not compatible
with all the compilers. An example can be found in [4], where in order
to workaround crbug.com/1018579, another workaround was almost created
before being stopped at code review time.

[1] - https://cs.chromium.org/chromium/src/base/export_template.h
[2] - https://cs.chromium.org/chromium/src/third_party/webrtc/rtc_base/system/rtc_export.h
[3] - https://en.cppreference.com/w/cpp/language/class_template#Explicit_instantiation
[4] - https://webrtc-review.googlesource.com/c/src/+/158674

Bug: webrtc:9419
Change-Id: I2e9287a15e28f619462e0b9a5deb0b672be248c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158742
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29661}
2019-10-31 11:12:52 +00:00
de365955dc Added new Apple devices.
Added new apple devices to corresponding enumeration.
Added H264 profile level infromation.
Previous update was done as part of:
https://webrtc-review.googlesource.com/c/src/+/107625
Device machine names obtained from:
https://gist.github.com/adamawolf/3048717

Bug: None
Change-Id: I14aca9dbf495cf50835b388caf38b43145724bd4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158744
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29660}
2019-10-31 10:09:15 +00:00
32913c128a Removes the flakiness in PeerConnectionUsageHistogramTest.
Bug: webrtc:9494, webrtc:11048
Change-Id: I5e6498f10259ee76af682d7019b89bf1f5bb9699
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158760
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29659}
2019-10-31 00:18:16 +00:00
5bd8cb74a6 Revert "Reland "Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate extension version 1.5.""
This reverts commit a0adf3d4409036d095480e9bfa0fc06990362f84.

Reason for revert: Suspected of breaking chromium trybots, blocking
webrtc from rolling into chromium.

- First failed roll:
https://chromium-review.googlesource.com/c/chromium/src/+/1889997

- Second failed roll:
https://chromium-review.googlesource.com/c/chromium/src/+/1890837

Example failure:
https://ci.chromium.org/p/chromium/builders/try/linux-rel/230122
Log:
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8898155661969383856/+/steps/browser_tests__with_patch_/0/logs/Deterministic_failure:_DesktopCaptureApiTest.ChooseDesktopMedia__status_FAILURE_/0

Including lines like:
[12413:12413:1030/102514.183135:INFO:CONSOLE(0)] "[FAIL] screenShareWithAudioPermissionGetStream: NotReadableError: Could not start video source
Error", source: chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/_generated_background_page.html (0)

Original change's description:
> Reland "Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate extension version 1.5."
> 
> This is a reland of e7153012682ccd3d1eacc18f802cab7820e3bad3
> 
> Original change's description:
> > Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate entension version 1.5.
> >
> > Bug: chromium:396091
> > Change-Id: Ia1b36c771632c536bb8d15322461b479fabc409e
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148768
> > Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> > Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#29083}
> 
> Bug: chromium:396091
> Change-Id: I0d9171ae5f340e0489e4b45ce5d97bc52b0a4904
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156067
> Commit-Queue: Tommi <tommi@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29655}

TBR=zijiehe@chromium.org,tommi@webrtc.org,julien.isorce@chromium.org,sergeyu@chromium.org,trevor.axiom@gmail.com,jonringle@gmail.com

Change-Id: I2af6a0d5eaf74a0ee536d1c5440049a21d6f7dbf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:396091
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158740
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29658}
2019-10-30 18:14:52 +00:00
54d027843a Renaming opus_interface.c to opus_interface.cc.
This is to allow advanced features of WebRTC/Chrome e.g., field trials.

More style compliant changes may follow up. Only a minimal (not in terms of line changes) is applied, so that presubmit does not complain. These changes include

1. removing unused headers.
2. eliminating c-style casting.

Bug: b/143582588
Change-Id: I6d0fd926c542ab0afdc38cc4bf03aaf584ec13dd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158670
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29657}
2019-10-30 15:48:28 +00:00
09860e0bc3 Split out counting unique rtp timestamps from packet_buffer
Bug: None
Change-Id: Ia6fd05f284e8304cf56ab9ddf944fb222a4c9573
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158676
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29656}
2019-10-30 15:27:48 +00:00
a0adf3d440 Reland "Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate extension version 1.5."
This is a reland of e7153012682ccd3d1eacc18f802cab7820e3bad3

Original change's description:
> Implemented screen enumeration and selection for desktop capture under X11 using the X Resize and Rotate entension version 1.5.
>
> Bug: chromium:396091
> Change-Id: Ia1b36c771632c536bb8d15322461b479fabc409e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148768
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#29083}

Bug: chromium:396091
Change-Id: I0d9171ae5f340e0489e4b45ce5d97bc52b0a4904
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156067
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29655}
2019-10-30 12:20:20 +00:00
9560d7dc58 Make update_rect optional in VideoFrame
For the automatic content type detection we need to know if the update
rect is trusted or just not available.

Currently we only care if it's not empty, so in case of no update rect
available, full frame resolution was set as a changed region.

This CL makes the update_rect field optional but should be a no-op in the
current code, as absence of update_rect is treated as a full update via
a new getter method |update_rect_or_full_frame()|.

Bug: webrtc:11058
Change-Id: I913545b71ac2fc845861549ac34eb1b630012109
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158673
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29654}
2019-10-30 11:27:54 +00:00
4e19670d3a [PeerConnection] Implement parameterless SetLocalDescription().
For background, motivation, requirements and implementation notes, see
https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing

The parameterless SetLocalDescription() will implicitly create an
offer or answer to be set by chaining create offer or answer with
setting the session description, as per spec:
https://w3c.github.io/webrtc-pc/#dom-peerconnection-setlocaldescription

Bug: chromium:980885
Change-Id: Ia430160869df18fd47b756b9adf9e7e23ba8e969
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157444
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29653}
2019-10-30 10:24:44 +00:00
9b66114878 Disable rendering statistics while video is paused.
Bug: b/142685093
Change-Id: Ie350335f139a82ae247271c3a5a7a9b78a236084
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157887
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29652}
2019-10-30 10:04:21 +00:00
4778f6ce7a Revert "Refactoring of the noise suppressor and adding true multichannel support"
This reverts commit 87a7b82520b83a6cf42da27cdc46142c2eb6248c.

Reason for revert: Speculative revert. Breaks downstream projects.

Original change's description:
> Refactoring of the noise suppressor and adding true multichannel support
> 
> This CL adds proper multichannel support to the noise suppressor.
> To accomplish that in a safe way, a full refactoring of the noise
> suppressor code has been done.
> 
> Due to floating point precision, the changes made are not entirely
> bitexact. They are, however, very close to being bitexact.
> 
> As a safety measure, the former noise suppressor code is preserved
> and a kill-switch is added to allow revering to the legacy noise
> suppressor in case issues arise.
> 
> Bug: webrtc:10895, b/143344262
> Change-Id: I0b071011b23265ac12e6d4b3956499d122286657
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158407
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29646}

TBR=gustaf@webrtc.org,peah@webrtc.org

Change-Id: I4d4025bda01f484979961fe57380a705e4d78397
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10895, b/143344262
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158701
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29651}
2019-10-30 09:49:31 +00:00
9c712bb404 Fix invalid @Nullable handling in TextureBufferImpl.
Bug: None
Change-Id: Ic0b75c62512e9bcb88d562c754e4ed38058a5ece
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157886
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29650}
2019-10-30 09:18:54 +00:00
f298855981 Cleanup of feedback observer interface
Removes all unused features, reducing the exposed interface surface.
This makes refactoring and maintenance simpler as we can change
TransportFeedbackAdapter without making corresponding changes
to RtpVideoSender.

Bug: webrtc:9883
Change-Id: If372a868e0765e94df52b4de52d3bb619ce11471
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156943
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29649}
2019-10-30 07:50:29 +00:00
470b2d5144 Stop relying on GN's sources_assignment_filter.
Recently, on the gn-dev mailing list [1] and on chromium-dev [2] a
consensus about not using "sources_assignment_filter" [3] has been
reached.

This CL removes the implicit dependency on this feature from the
WebRTC codebase in order to make it easier to remove it from GN [4].

[1] - https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/oQcYStl_WkI
[2] - https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/hyLuCU6g2V4
[3] - https://gn.googlesource.com/gn/+/master/docs/reference.md#func_set_sources_assignment_filter
[4] - https://bugs.chromium.org/p/gn/issues/detail?id=125

Bug: webrtc:11057
Change-Id: Ia77820f1b4f9dbc47df2b670148b90928860111a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158677
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29648}
2019-10-30 07:37:39 +00:00
ae40e19805 AEC3: Adding a configurable render signal gain
Bug: webrtc:8671
Change-Id: I405d669517382ce195065caa3147eabace5ec18a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158669
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29647}
2019-10-29 23:26:38 +00:00
87a7b82520 Refactoring of the noise suppressor and adding true multichannel support
This CL adds proper multichannel support to the noise suppressor.
To accomplish that in a safe way, a full refactoring of the noise
suppressor code has been done.

Due to floating point precision, the changes made are not entirely
bitexact. They are, however, very close to being bitexact.

As a safety measure, the former noise suppressor code is preserved
and a kill-switch is added to allow revering to the legacy noise
suppressor in case issues arise.

Bug: webrtc:10895, b/143344262
Change-Id: I0b071011b23265ac12e6d4b3956499d122286657
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158407
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29646}
2019-10-29 23:23:38 +00:00
c6c3f862e2 Expose TLS version and SRTP cipher to API
Bug: webrtc:10261
Change-Id: I5e0821e66a34448042cf73866511d79eefe40dfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158662
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29645}
2019-10-29 22:20:49 +00:00
6981fb5fbd Add support to not use turn server as stun server.
If a stun server is already there, the benefit of adding turn servers as stun servers is small,
and it may create unnecessary stun candidates.

Bug: webrtc:11059
Change-Id: Ia37b43b787180af4d91c1c07c866ccbf1db80262
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158680
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29644}
2019-10-29 19:50:35 +00:00
74f96eccd6 Removes unused late feedback plot from analyzer.
Due to changes in how the transport feedback is processed, the late
feedback results plot doesn't get any entries anymore.

Bug: webrtc:9883
Change-Id: I9df8e86a35bedddf78407128f0ab0b6b321a6f28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158668
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29643}
2019-10-29 18:48:55 +00:00
9cdc9cc1c4 Cleanup of deprecated RTPSender code
Also reformats RtpRtcpImpl::RtpSender by removing _ suffixes from
struct members.

Bug: webrtc:11036
Change-Id: I52cdcdff0727b62673323f64a6dc37d56ba4efbc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158532
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29642}
2019-10-29 10:08:12 +00:00
cb30726646 Remove deprecated Audio Processing APIs
This change removes the deprecated ChannelLayout versions of ProcessStream
and AnalyzeReverseStream.

Bug: webrtc:5298
Change-Id: I8a7e33e89cffac5eceecd00dfd3c96000643f51b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158529
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29641}
2019-10-29 10:07:08 +00:00
6e4e68852a Fixed MSAN issue with usrsctp reliability test.
There is still an TSAN issues, but they are inside
usrsctp library, that's why tests are still disabled
by default.

Bug: None
Change-Id: I55f7c66b4d9a5feccd2121e2dd3b131cf1564804
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158522
Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29640}
2019-10-29 09:53:40 +00:00
fbec2ec292 Detach H264 sps pps tracker from VCMPacket
Bug: webrtc:10979
Change-Id: I6ec5db570c3957dd068109accad88d2f62304163
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158523
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29639}
2019-10-29 09:52:38 +00:00
05c47926ff Removes OnPacketAdded callback from feedback adapter.
The code path it calls is no longer actually used and will be cleaned
up in a follow-up CL.

This prepares for simplifying the transport feedback adapter and moving
it to run on a task queue.

Bug: webrtc:9883
Change-Id: I750398069414ffa782067d021c0a3837049d98eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158621
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29638}
2019-10-29 09:28:00 +00:00
9c71e4936b Remove redundant BitrateProber::OnIncomingPacket() call
The extra call doesn't appear to have any side effects, but should be
removed nonetheless.

Bug: None
Change-Id: I45a98261828211b7bc7954acb779913249dc2b01
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158620
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29637}
2019-10-29 08:21:24 +00:00
01a21f71f4 Roll chromium_revision 9109135db0..7ce0264138 (709913:710014)
Change log: 9109135db0..7ce0264138
Full diff: 9109135db0..7ce0264138

Changed dependencies
* src/base: fca6c87102..cccddae48a
* src/build: 114fe8652e..c0d6bd0031
* src/buildtools: cf454b247c..140e4d7c45
* src/ios: 2db5ae2009..23c87f0723
* src/testing: 3a2c7fc05f..09a3f2a9c4
* src/third_party: 30cdf5b0ac..82bf503214
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e44b5225db..d039ea0c17
* src/third_party/depot_tools: ebba8d75bf..27eb01c355
* src/tools: efa9758841..2d5d164a8d
DEPS diff: 9109135db0..7ce0264138/DEPS

No update to Clang.

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

Change-Id: If7df1cafa469cff6f34ec6ee7cc962bef2a51a61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158584
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@{#29636}
2019-10-28 20:41:40 +00:00
77b7529515 Reland "Use RtpSenderEgress directly instead of via RTPSender"
This is a reland of b533010bc66a0628c8efa4d6c3dd60b8336f2736

Patchset 1 is identical to previously landed CL.
Patchset 2 contains a workaround to migrate downstream tests.

Original change's description:
> Use RtpSenderEgress directly instead of via RTPSender
>
> Bug: webrtc:11036
> Change-Id: Ida4e8bc705ae43ceb1b131114707b30d10ba8642
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158521
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29626}

Bug: webrtc:11036
Change-Id: I8054169036a7f9f262308cac59f12ac8f9c73c17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158531
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29635}
2019-10-28 17:13:30 +00:00
79e653c46d Apply bitrate boosting depending on field-trial.
This field-trial allows us to provide multipliers for the opus target
bitrate.

Bug: webrtc:11055
Change-Id: I79c4c6389c6908daadda355e5ce0668413d0aaa1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158530
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29634}
2019-10-28 17:05:30 +00:00
6f5b9e01bc Roll chromium_revision d68d92fb45..9109135db0 (709806:709913)
Change log: d68d92fb45..9109135db0
Full diff: d68d92fb45..9109135db0

Changed dependencies
* src/base: d3a63c2892..fca6c87102
* src/build: 2b40e7bc8b..114fe8652e
* src/ios: 010771296a..2db5ae2009
* src/testing: 85152663b9..3a2c7fc05f
* src/third_party: 42240c35cd..30cdf5b0ac
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7c5920efc2..e44b5225db
* src/tools: 2c37082a08..efa9758841
DEPS diff: d68d92fb45..9109135db0/DEPS

No update to Clang.

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

Change-Id: Iaa22a8a4a7c72711c9ac1ca0b8bef2579757dcf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158582
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@{#29633}
2019-10-28 16:33:10 +00:00
70770accb3 Make AudioFrame member instead of raw pointer in APM test fixture
Bug: webrtc:11045
Change-Id: I35adbb675185629088ee8fd65ef4be74276c9db3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158085
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29632}
2019-10-28 15:34:29 +00:00
cff20c2615 Adds protected bitrate helper methods to RtpRtcpImpl
Bug: webrtc:11036
Change-Id: Iac7f79b60b9f4150868e4e2c59c04c6f866011de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158527
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29631}
2019-10-28 12:52:37 +00:00
a3728d310d Reland "[PeerConnection] Use an OperationsChain in PeerConnection for async ops."
This is a reland of 1dddaa1a84330091ca083c950ef2e24a85a48fc8

The regression that caused the original CL to be reverted was the fact that
invoking SetLocalDescription() inside of the CreateOffer() callback was no
longer executing synchronously and immediately.

In this CL, the original CL is patched so that the CreateOffer() operation
is marked as completed just before invoking the CreateOffer() callback
(versus doing it just afterwards). This ensures that the OperationsChain is
popped before the callback runs. The same applies for CreateAnswer().

See diff between Patch Set 1 (Original CL) and the latest Patch Set.

Original change's description:
> [PeerConnection] Use an OperationsChain in PeerConnection for async ops.
>
> For background, motivation, requirements and implementation notes, see
> https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing
>
> Using the OperationsChain will unblock future CLs from chaining multiple
> operations together such as implementing parameterless
> setLocalDescription().
>
> In this CL, the OperationsChain is used in existing signaling operations
> with little intended side-effects. An operation that is chained onto an
> empty OperationsChain will for instance execute immediately, and
> SetLocalDescription() and SetRemoteDescription() are implemented as
> "synchronous operations".
>
> The lifetime of the PeerConnection is not indended to change as a result
> of this CL: All chained operations use a WeakPtr to the PC to ensure
> use-after-free does not happen.
>
> There is one notable change though: CreateOffer() and CreateAnswer() will
> asynchronously delay other signaling methods from executing until they
> have completed.
>
> Drive-by fix: This CL also ensures that early failing
> CreateOffer/CreateAnswer operation's observers are invoked if the
> PeerConnection is destroyed while a PostCreateSessionDescriptionFailure
> is pending.
>
> Bug: webrtc:11019
> Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29605}

TBR=steveanton@webrtc.org

Bug: webrtc:11019
Change-Id: I57b4496e63378c91c24679ee496e21f5cb6a0e59
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158524
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29630}
2019-10-28 12:35:50 +00:00
f50d58b87b Add .clangd to .gitignore
Bug: None
Change-Id: I07496ecaaac72d4bb43cb67baa364abe6df82693
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158528
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29629}
2019-10-28 12:27:50 +00:00
5cb7807a36 Implement crypto stats on DTLS transport
Bug: chromium:1018077
Change-Id: I585d4064f39e5f9d268b408ebf6ae13a056c778a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158403
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29628}
2019-10-28 11:30:23 +00:00
a81e2b4510 Revert "Use RtpSenderEgress directly instead of via RTPSender"
This reverts commit b533010bc66a0628c8efa4d6c3dd60b8336f2736.

Reason for revert: Breaks downstream tests.

Original change's description:
> Use RtpSenderEgress directly instead of via RTPSender
> 
> Bug: webrtc:11036
> Change-Id: Ida4e8bc705ae43ceb1b131114707b30d10ba8642
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158521
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29626}

TBR=ilnik@webrtc.org,sprang@webrtc.org

Change-Id: Ib3354f6907d21462a8ad0c37eb8f6e94c48af217
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11036
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158526
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29627}
2019-10-28 11:17:18 +00:00
b533010bc6 Use RtpSenderEgress directly instead of via RTPSender
Bug: webrtc:11036
Change-Id: Ida4e8bc705ae43ceb1b131114707b30d10ba8642
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158521
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29626}
2019-10-28 10:38:14 +00:00
3eae7e4e3c Add exponential backoff of retransmissions for a given packet
Bug: webrtc:8624
Change-Id: I8900c54935bf1da11ac74665426b0d198bd6d814
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/30900
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29625}
2019-10-28 10:06:23 +00:00
632d57d3d0 Ignore low probe results when using NetworkStateEstimator under field trial
The feature is added as part a new field trial WebRTC-Bwe-IgnoreProbesLowerThanNetworkStateEstimate

Bug: webrtc:10498
Change-Id: I72b3c73256a35e0583f4d595edef45848f8bbb22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158260
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29624}
2019-10-28 08:36:01 +00:00
1230fb787f ICE : add field trial for initial select dampening
The existing ICE stack will choose *the first* connection
that becomes writable.

It is possible that waiting a fixed time will choose a
better connection, avoiding a switch, and making the experience better
in total.

This patch is add two field trials to *explore*
that dimension. I.e the code will be rolled back once
experiments has been performed.

- initial_select_dampening, delays selection by X ms.
- initial_select_dampening_ping_received, delays selection for
  candidate that has received ping by X ms.

BUG=webrtc:11054

Change-Id: Ifcdde5183f318815e0f5db5802fbf6b542a95f5b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158410
Reviewed-by: Honghai Zhang <honghaiz@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29623}
2019-10-28 07:57:16 +00:00
c189ace20a Roll chromium_revision 04c3c4c8f1..d68d92fb45 (709704:709806)
Change log: 04c3c4c8f1..d68d92fb45
Full diff: 04c3c4c8f1..d68d92fb45

Changed dependencies
* src/base: 0c079a0e85..d3a63c2892
* src/build: 5ffa0f30c9..2b40e7bc8b
* src/ios: ec7400c287..010771296a
* src/testing: 34597bd01c..85152663b9
* src/third_party: d17c91fa4f..42240c35cd
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4b1db19bd4..7c5920efc2
* src/third_party/depot_tools: b964662972..ebba8d75bf
* src/tools: 0a66c3867f..2c37082a08
DEPS diff: 04c3c4c8f1..d68d92fb45/DEPS

No update to Clang.

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

Change-Id: I0878f78ae4d03b4e015ff974316680e2c06cc568
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158565
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@{#29622}
2019-10-28 06:30:17 +00:00
e38e11986f Roll chromium_revision 98ef1d6866..04c3c4c8f1 (709549:709704)
Change log: 98ef1d6866..04c3c4c8f1
Full diff: 98ef1d6866..04c3c4c8f1

Changed dependencies
* src/base: 4b2a1bb7bb..0c079a0e85
* src/build: 72c4ea529a..5ffa0f30c9
* src/ios: 14ebf43f34..ec7400c287
* src/testing: f443db3bd0..34597bd01c
* src/third_party: 7234d4b58a..d17c91fa4f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/59c3eac206..4b1db19bd4
* src/third_party/depot_tools: 86244d6913..b964662972
* src/third_party/ffmpeg: d7ba23c234..83304c4e52
* src/tools: 6ae436b4a1..0a66c3867f
DEPS diff: 98ef1d6866..04c3c4c8f1/DEPS

No update to Clang.

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

Change-Id: I13fe74eb59f96155e60ad4744217fa3c59ff7a37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158482
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@{#29621}
2019-10-26 00:38:22 +00:00
e95fc85cb7 Roll chromium_revision 3c5165bebc..98ef1d6866 (709394:709549)
Change log: 3c5165bebc..98ef1d6866
Full diff: 3c5165bebc..98ef1d6866

Changed dependencies
* src/base: a90d12d9e1..4b2a1bb7bb
* src/build: a193dcc697..72c4ea529a
* src/ios: 596015ccb2..14ebf43f34
* src/testing: 6aa713bd7b..f443db3bd0
* src/third_party: 694eaf9c8e..7234d4b58a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a38631cd74..59c3eac206
* src/tools: e4ec472d6e..6ae436b4a1
DEPS diff: 3c5165bebc..98ef1d6866/DEPS

No update to Clang.

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

Change-Id: I94fd70e446ad67c09bdbe8552020ca78e9d4c841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158329
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@{#29620}
2019-10-25 18:41:28 +00:00
91e3ebe468 Revert "Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.""
This reverts commit 29db239fed94bbe40dfddefa9f02409b951efc18.

Reason for revert: The test is on its way on https://chromium-review.googlesource.com/c/chromium/src/+/1874722.

Original change's description:
> Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
> 
> This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed
> 
> Original change's description:
> > Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
> >
> > In order to land the component build support in Chromium, it is
> > easier to turn on symbols export every time that is_component_build=true
> > instead of setting rtc_enable_symbol_export=is_component_build in
> > Chromium (since is_component_build is not available in .gn).
> >
> > rtc_enable_symbol_export is still kept in the mix in order to turn
> > on symbol exports in any case a shared library will be added to the
> > WebRTC build.
> >
> > Bug: webrtc:9419
> > Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#29540}
> 
> TBR: kwiberg@webrtc.org
> Bug: webrtc:9419
> Change-Id: I6a184290f3f1a60c1ed6cbc86aafe3e7df248ce1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158327
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29618}

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

Change-Id: Ie3bac3393d6ce0f147f3d79d08d20cc9798b464a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158328
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29619}
2019-10-25 17:54:32 +00:00
29db239fed Reland "Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true."
This is a reland of 03bc15c646d5b41d3169f2686316944788f640ed

Original change's description:
> Define WEBRTC_ENABLE_SYMBOL_EXPORT if is_component_build=true.
>
> In order to land the component build support in Chromium, it is
> easier to turn on symbols export every time that is_component_build=true
> instead of setting rtc_enable_symbol_export=is_component_build in
> Chromium (since is_component_build is not available in .gn).
>
> rtc_enable_symbol_export is still kept in the mix in order to turn
> on symbol exports in any case a shared library will be added to the
> WebRTC build.
>
> Bug: webrtc:9419
> Change-Id: I5a7195826dea13d9a6f10a1160c35f2864bfa6c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157108
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29540}

TBR: kwiberg@webrtc.org
Bug: webrtc:9419
Change-Id: I6a184290f3f1a60c1ed6cbc86aafe3e7df248ce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158327
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29618}
2019-10-25 17:10:48 +00:00
e114fb61e1 Added usrsctp reliablitiy stress test.
The reliability test is intended to reproduce a deadlock issue in usrsctp
known as https://github.com/sctplab/usrsctp/issues/325.

Bug: None
Change-Id: If3c1ff70f41dcc5ec27a4fb529eb4cc6fd343a48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157107
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29617}
2019-10-25 16:51:38 +00:00
67ac9e8ecb Prepares RTPSender for extracting RtpSenderEgress
The post-pacing part of the RTP sender has been moved from RTPSender
into the new RtpSenderEgress class. However, that class is not directly
used and instead a subset of method calls are passed through RTPSender.

This CL prepares for removing dependencies between RTPSender and
RtpSenderEgress. All current behavior is preserved, and unit tests are
unchanged to verify this.

For more context, see patch set 2.

Change-Id: If795f2603aeb6302ac1565d9efaea514af240dc7
Bug: webrtc:11036
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158020
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29616}
2019-10-25 14:11:51 +00:00