Commit Graph

32423 Commits

Author SHA1 Message Date
5686e3457e Optimize calls to std::string::find() and friends for a single char.
The character literal overload is more efficient.

No-Presubmit: True
No-Try: True
Bug: None
Change-Id: Ice0b8478accd8a252ab81a0496d46c0f71db3db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197810
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32841}
2020-12-16 09:01:44 +00:00
0e7b3a9dad Add a Clone() method to SessionDescriptionInterface
This should allow us to remove some SDP parsing in Chromium.

Bug: webrtc:12215
Change-Id: Ib85593d1c9226b29f2ec18617f945c76eca3b2d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197806
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32840}
2020-12-16 08:05:10 +00:00
ebe5acb27a VideoCodecTextFixture and YuvFrameReader improvements.
Adds ability to specify desired frame size separate from actual clip
resolution, as well as clip and desired fps.
This allows e.g. reading an HD clip but running benchmarks in VGA, and
to specify e.g. 60fps for the clip but 30for encoding where frame
dropping kicks in so that motion is actually correct rather than just
plaing the clip slowly.

Bug: webrtc:12229
Change-Id: I4ad4fcc335611a449dc2723ffafbec6731e89f55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195324
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32839}
2020-12-15 23:18:06 +00:00
8987c88190 Refactor test window creation functions to be reusable.
This change moves several functions used to create test windows from
WindowCaptureUtilsTest into a reusable file test_window.cc. This is so
we can reuse this code in the window capturer tests in this CL:
196624: Finish implementing WGC Window Capturer and add unit tests. |
https://webrtc-review.googlesource.com/c/src/+/196624

Bug: webrtc:9273
Change-Id: I62dc53e6c3475e49ca4ae4cf6d1ef02fc8781b89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196623
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#32838}
2020-12-15 20:52:45 +00:00
4190ce995b Add unit test ReportsUpdatedVideoLayersAllocationWhenResolutionChanges
This test that a new allocation is reported if the input resolution
changes.

Bug: webrtc:12000
Change-Id: Iaf8be1af62bbc8a2ca19b58f0587ceacfcfa5991
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197807
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32837}
2020-12-15 17:51:05 +00:00
46ea5d7f82 Surface the number of encoded channels
Two audio channels going into the AudioSource::Sink can either be
down-mixed to mono or encoded as stereo. This change enables WebRTC
users (such as Chromium) to query the number of audio channels actually
encoded. That information can in turn be used to tailor the audio
processing to the number of channels actually encoded.

This change fixes webrtc:8133 from a WebRTC perspective and will be
followed up with the necessary Chromium changes.

Bug: webrtc:8133
Change-Id: I8e8a08292002919784c05a5aacb21707918809c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197426
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32836}
2020-12-15 16:38:04 +00:00
c72733dc95 Clarify thread/TaskQueue requirements for internal::CallStats
Bug: webrtc:11581
Change-Id: Idec96b14e61d9f9c53dd81fa4325b5ed63da448e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197424
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32835}
2020-12-15 16:02:43 +00:00
16dd6b0ce4 Fixing the bounds for the max and min erle in the erle instantaneous estimation.
Bug: webrtc:12283
Change-Id: I534a5da30e575f9b100046fff31a84774afbf67f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196654
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32834}
2020-12-15 14:29:52 +00:00
a13b47ffc0 Refresh rtc_base/OWNERS.
This CL removes two owners who don't actively work on WebRTC and adds
mbonadei@.

Bug: None
Change-Id: I771e3ce2f97e20d043e074428829d05b39154025
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196650
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32833}
2020-12-15 13:59:32 +00:00
b08b23e989 Fix typo in auto-updater.
No-Try: True
No-Presubmit: True
Bug: webrtc:12159
Change-Id: I116d1cbe63d2b6b2d18446e2d550ca61e6c34db8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197805
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32832}
2020-12-15 12:30:53 +00:00
3c5d5824a3 Add last_data_sent timestamp to Connection.
Add a timestamp for last data sent in Connection.

Move calling of rtc::TimeMillis() to Connection and remove it from RateTracker::AddSamples.

This timestamp will be used to further improve fail over logic.

BUG=None

Change-Id: I4cbc7693a0e081277590b9cb13264dc2a998202e

No-Try: True
Change-Id: I4cbc7693a0e081277590b9cb13264dc2a998202e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197421
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32831}
2020-12-15 12:17:12 +00:00
3942380d32 Fix Authors Check presubmit.
Adding the account that performs the auto-update of the WebRTC version
string.

No-Presubmit: True
No-Try: True
Bug: webrtc:12159
Change-Id: Ie24d0de30a08bb5e21955a90059af982d019110c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197803
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32830}
2020-12-15 11:59:03 +00:00
cf8ec1f686 Introduce empty rtc_base:async_resolver target.
This is needed in order to prepare Chromium to depend on the new
target to land (https://webrtc-review.googlesource.com/c/src/+/196903).

No-Try: True
Bug: webrtc:9987
Change-Id: Ic7337f1c57c135d541eb424fb06dae32acacaea8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197801
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32829}
2020-12-15 10:45:52 +00:00
a6c236f933 Add TBR to the WebRTC code freshness updater and send to CQ.
No-Try: True
No-Presubmit: True
Bug: webrtc:12159
Change-Id: Ia8db420f779e3d9140208db7cf47e4632a1c19b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197625
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32828}
2020-12-15 10:42:03 +00:00
2412602b68 Using absl::optional for round trip time return type handling.
No-Try: True
Bug: webrtc:11989
Change-Id: If2ed9b83468c03b82b372e64d8012e5786295476
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197060
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32827}
2020-12-15 08:38:12 +00:00
c70bd1837d Get rid of recently added rtc_openssl_is_boringssl build argument.
It's unlikely to be used, so just rely on rtc_build_ssl instead.

No-Try: True
Bug: webrtc:11410
Change-Id: I74049bebfdde61b713eb187a48eabedf04da9369
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197040
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32826}
2020-12-15 08:34:42 +00:00
b985748f66 Add WebRTC code freshness version string.
This CL adds a string to the resulting WebRTC library (trying to make
sure the version string will be there no matter how WebRTC is packaged).

This CL should be followed by some process to regularly and
automatically update the version string.

No-Try: True
No-Presubmit: True
Bug: webrtc:12159
Change-Id: I9143aeae2cd54d0d4048c138772888100d7873cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191223
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32825}
2020-12-14 16:22:35 +00:00
6a646905b9 Use a task queue for call interaction in video_replay tool
After some recent change current thread while creating the receive stream is
used as a task queue for stats calculation.

Currently, video_replay tool doesn't create streams inside a task queue, so
it ends up posting tasks to a "dead" task queue, which doesn't run message
processing loop at all.

Bug: webrtc:12204
Change-Id: Ieb97a10f44a11e92e2ac08df5b39b7cd695c852e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196860
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philipp Hancke <philipp.hancke@googlemail.com>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32824}
2020-12-14 15:25:43 +00:00
9ff23bad06 Fix order-dependent tests.
webrtc::test::GetPerfResults() relies on a singleton and this makes
some tests be order dependent (running in a different order makes them
fail).

A good fix is to remove the singleton but this CL at least makes the
fragile test set up the environment correctly.

No-Try: True
Bug: None
Change-Id: I7ad25f685f0bc5d246beeadedfa9f5a39f3547e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197425
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32823}
2020-12-14 12:59:52 +00:00
cc02721090 Extend LibvpxInterface with VP9 support and use it from LibvpxVp9Encoder
Bug: webrtc:12274
Change-Id: I7a66a91f6a21ba482347af3c8af53544f9eb2269
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196900
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32822}
2020-12-13 18:07:05 +00:00
9325d343e5 Enforcing return type handling on VoIP API.
- This CL also affects some return type handling in Android Voip demo
app due to changes in return type handling.

Bug: webrtc:12193
Change-Id: Id76faf7c871476ed1f2d08fb587211ae234ae8d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196625
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tim Na <natim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32821}
2020-12-11 20:38:15 +00:00
1a9be30702 Add tests for adding many transceivers and renegotiating.
These tests create multiple transceivers, and attempt to renegotiate.

They serve to show where the limit is for adequate performance (arbitrarily
set as one second).

This version should pass on all platforms; it only tests up to 16 tracks.

Bug: webrtc:12176
Change-Id: I1561a56f6a392dbfa954319c538a9959c3a6f590
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193061
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32820}
2020-12-11 16:35:55 +00:00
064be38380 Reland "Enable FlexFEC as a receiver video codec by default"
This is a reland of f08db1be94e760c201acdc3a121e67453960c970

Original change's description:
> Enable FlexFEC as a receiver video codec by default
>
> - Add Flex FEC format as default supported receive codec
> - Disallow advertising FlexFEC as video sender codec by default until implementation is complete
> - Toggle field trial "WebRTC-FlexFEC-03-Advertised"s behavior for receiver to use as kill-switch to prevent codec advertising
>
> Bug: webrtc:8151
> Change-Id: Iff367119263496fb335500e96641669654b45834
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191947
> Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Ying Wang <yinwa@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32639}

Bug: webrtc:8151
Change-Id: I36cbe833dc2131d72f1d7e8f96d058d0caa94ff9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195363
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32819}
2020-12-11 16:01:27 +00:00
165c618bb9 Reland: Use CRYPTO_BUFFER APIs instead of X509 when building with BoringSSL.
Using CRYPTO_BUFFERs instead of legacy X509 objects offers memory and
security gains, and will provide binary size improvements as well once
the default list of built-in certificates can be removed; the code
dealing with them still depends on the X509 API.

Implemented by splitting openssl_identity and openssl_certificate
into BoringSSL and vanilla OpenSSL implementations.

No-Try: True
Bug: webrtc:11410
Change-Id: I86ddb361b94ad85b15ebb8743490de83632ca53f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196941
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32818}
2020-12-11 09:58:40 +00:00
c1ad1ff178 Do all BaseChannel operations within a single Thread::Invoke.
Instead of doing a separate Invoke for each channel, this CL first
gathers a list of operations to be performed on the signaling thread,
then does a single Invoke on the worker thread (and nested Invoke
on the network thread) to update all channels at once.

This includes the methods:
* Enable
* SetLocalContent/SetRemoteContent
* RegisterRtpDemuxerSink
* UpdateRtpHeaderExtensionMap

Also, removed the need for a network thread Invoke in
IsReadyToSendMedia_w by moving ownership of was_ever_writable_ to the
worker thread.

Bug: webrtc:12266
Change-Id: I31e61fe0758aeb053b09db84f234deb58dfb3d05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194181
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32817}
2020-12-11 03:25:43 +00:00
0186d2d626 Splits vp9_impl into libvpx_vp9_encoder and libvpx_vp9_decoder.
Also moves the LibvpxVp8Interface from codec/vp8 to codec/interface and
drops vp8 from the name.

Follow-up CLs will wire up actual usage in the new classes through the
interface so that we can unit test them more easily.

Bug: webrtc:12274
Change-Id: I95f66e90245d9320e5fc23cdc845fbeb2648b38b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196522
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32816}
2020-12-10 19:31:11 +00:00
370e60098c Remove EncodedFrame::inter_layer_predicted.
Bug: webrtc:12206
Change-Id: I52246e81aa9a814fc211df19fbe27aff197a85b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196743
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32815}
2020-12-10 18:11:49 +00:00
cb327d9162 Remove use of inter_layer_predicted in FrameBuffer2.
Now that RtpVp9RefFinder sets an additional reference on the frame instead of marking it as inter_layer_predicted it is no longer used.

Bug: webrtc:12206
Change-Id: I10e0930336eafc32dc86feb2f690cb131e55be2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196740
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32814}
2020-12-10 14:18:09 +00:00
b95d90b78a Rename UNIT_TEST to WEBRTC_UNIT_TEST
Current name conflicts with upstream project code.

Bug: webrtc:12247
Change-Id: Ibd78273a75262772fc18fca688c29b9ba9525ce5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196653
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32813}
2020-12-10 11:04:58 +00:00
7e6290d1d2 Revert "Use CRYPTO_BUFFER APIs instead of X509 when building with BoringSSL."
This reverts commit 72f638a9a279e7abb5534fa66a0ade2cf18ec1a7.

Reason for revert: downstream build failures

Original change's description:
> Use CRYPTO_BUFFER APIs instead of X509 when building with BoringSSL.
>
> Using CRYPTO_BUFFERs instead of legacy X509 objects offers memory and
> security gains, and will provide binary size improvements as well once
> the default list of built-in certificates can be removed; the code
> dealing with them still depends on the X509 API.
>
> Implemented by splitting openssl_identity and openssl_certificate
> into BoringSSL and vanilla OpenSSL implementations.
>
> Bug: webrtc:11410
> Change-Id: Idc043462faac5e4ab1b75bedab2057197f80aba6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174120
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: David Benjamin <davidben@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Taylor <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32811}

TBR=deadbeef@webrtc.org,mbonadei@webrtc.org,davidben@webrtc.org,hta@webrtc.org

Change-Id: Ib5e55cb5798a2f3d25a4460f5311d2e650d3fa82
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11410
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196742
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32812}
2020-12-10 07:55:40 +00:00
72f638a9a2 Use CRYPTO_BUFFER APIs instead of X509 when building with BoringSSL.
Using CRYPTO_BUFFERs instead of legacy X509 objects offers memory and
security gains, and will provide binary size improvements as well once
the default list of built-in certificates can be removed; the code
dealing with them still depends on the X509 API.

Implemented by splitting openssl_identity and openssl_certificate
into BoringSSL and vanilla OpenSSL implementations.

Bug: webrtc:11410
Change-Id: Idc043462faac5e4ab1b75bedab2057197f80aba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174120
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: David Benjamin <davidben@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32811}
2020-12-10 02:19:47 +00:00
20ecd8f777 sdp: add missing continue after parsing b= lines
otherwise this shows up in the logs as unhandled when it has been handled.

BUG=None

Change-Id: Ic081312a266d7a7ffff6220d2979cefa29a8591e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196652
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32810}
2020-12-09 13:16:25 +00:00
3bda2362f1 Erle metric: avoid the decreasing of the metric when there is no render activity.
This change just affects the ERLE metric that is reported. The rest is unaffected and bitexact.

Bug: webrtc:12280
Change-Id: I2d28ef14a9b704c83aba18b624f67671eec4a042
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196649
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32809}
2020-12-09 11:48:11 +00:00
0cb7326b54 Stop using inter_layer_predicted flag for VP9.
Instead of signaling an inter layer dependency with the inter_layer_prediction flag we instead flatten the frame IDs so that an inter layer dependency can be signaled as a regular frame reference.

Bug: webrtc:12206, webrtc:12221
Change-Id: I0390fd3d0f5494cde59eece227db938dbc5d7992
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196648
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32808}
2020-12-09 09:45:50 +00:00
9795306330 Roll chromium_revision a89d00b391..708cc13de4 (834813:835045)
Change log: a89d00b391..708cc13de4
Full diff: a89d00b391..708cc13de4

Changed dependencies
* src/base: 5a7b0101ce..008c159e0b
* src/build: 397a38cc3f..68a15805c2
* src/ios: 9682135803..4c7c2fe022
* src/testing: 89b962e015..a509699f6d
* src/third_party: edaa63e5d6..418971e2fb
* src/third_party/depot_tools: 1742f98791..0e323e7bff
* src/third_party/icu: 6a33b647c0..8bb622d674
* src/third_party/libjpeg_turbo: bbb828223e..e9a659a09e
* src/third_party/perfetto: 3bf9804260..c6b219431a
* src/tools: 01d25b1dc2..0825ae7287
DEPS diff: a89d00b391..708cc13de4/DEPS

No update to Clang.

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

Change-Id: If158091eb20803526278ace0a6332d49c379f62e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196700
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@{#32807}
2020-12-09 05:00:30 +00:00
e8ee462681 RNN VAD: FC layer simplified
The implementations for the fully connected layer can be simlpified by
using `VectorMath:DotProduct()`. In this way, it is also possible to
remove (nearly) duplicated SIMD code, reduce the binary size and more
easily maintain the code.

This CL also forces unoptimized code for the output layer of the VAD,
which is a FC 24x1 layer. A slight improvement of the realtime has
been measured (delta ~ +5x).

Bug: webrtc:10480
Change-Id: Iee93bd59f7905ebf96275dbbfeb3c921baf4e8db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195580
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32806}
2020-12-09 00:04:50 +00:00
e3dd5660ea Roll chromium_revision 2be5b61c67..a89d00b391 (834670:834813)
Change log: 2be5b61c67..a89d00b391
Full diff: 2be5b61c67..a89d00b391

Changed dependencies
* src/base: 141f4a58ae..5a7b0101ce
* src/build: 7004e93217..397a38cc3f
* src/buildtools: 6302c11756..86a7f72ab1
* src/ios: 859e38a604..9682135803
* src/testing: 6a543e2453..89b962e015
* src/third_party: ffaf5c2799..edaa63e5d6
* src/tools: 25a96514f6..01d25b1dc2
DEPS diff: 2be5b61c67..a89d00b391/DEPS

No update to Clang.

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

Change-Id: I2088abf11a9f3f93ccf9ebf57ea5ebfe2c6baec4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196661
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@{#32805}
2020-12-08 20:59:18 +00:00
d7808f1c46 Add DVQA support for scenarios with new participants joining
Bug: webrtc:12247
Change-Id: Id51a2ab34e0b802e11931cad13f48ce8eefddcae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196361
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32804}
2020-12-08 18:24:08 +00:00
4e9c5b592a RNN VAD: GRU layer optimized
Using `VectorMath::DotProduct()` in GatedRecurrentLayer to reuse existing
SIMD optimizations. Results:
- When SSE2/AVX2 is avilable, the GRU layer takes 40% of the unoptimized
  code
- The realtime factor for the VAD improved as follows
  - SSE2: from 570x to 630x
  - AVX2: from 610x to 680x

This CL also improved the GRU layer benchmark by (i) benchmarking a GRU
layer havibng the same size of that used in the VAD and (ii) by prefetching
a long input sequence.

Bug: webrtc:10480
Change-Id: I9716b15661e4c6b81592b4cf7c172d90e41b5223
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195545
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32803}
2020-12-08 15:37:38 +00:00
df9245c09a sdp: log unhandled lines at LS_VERBOSE level
for consistency with
  https://webrtc-review.googlesource.com/c/src/+/196526

Bug: None
Change-Id: Iddeb5e1639444e855e61d10d13c7a741916b658e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196642
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32802}
2020-12-08 15:12:48 +00:00
992a96f68e AEC3: Prevent diverging coarse filter from influencing the refined filter
After the refined filter has been determined to perform better than
the coarse filter, and the coefficients of the coarse filters are
overwritten by the ones from the refined filter, at least 100 ms have
to pass before the adaptation of the refined filter is allowed to speed
up due to good coarse filter performance.

This change solves the vicious circle described in webrtc:12265, where
the coarse and refined filters can diverge over time.

This feature can be disabled remotely via a kill-switch. When disabled
the AEC output is bit-exact to before the change.

Bug: webrtc:12265,chromium:1155477
Change-Id: Iacd6e325e987dd8a475bb3e8163fee714c65b20a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196501
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32801}
2020-12-08 15:05:23 +00:00
04ed0a0773 Change LS_ERROR to LS_WARNING for unsupported decoder formats
There is currently an error reported about unsupported formats
for most users when an WebRTC connection is setup. This CL
changes the error to a warning.

The reason is that some H264 profiles are supported in hardware
but not in software. When the decoder is created we will try to
create pair of both software and hardware decoders for the
union of supported formats. The creation of the software
decoder will then fail. There is a small risk that this leads
to errors later but only in rare circumstances. Most of the time
this log line only confuses consumers as well as developers.

Bug: none
Change-Id: Ib2119016fa91bc270437a2bcf7892e9fdd7c419c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196645
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32800}
2020-12-08 15:04:18 +00:00
5c4c836ac4 use [35,65] rtp payload type range for new codecs
Changes the video payload type allocation to use the
lower dynamic payload type range [35,65] described in
  https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-1
for new codecs such as FlexFEC.

BUG=webrtc:12194

Change-Id: I71782199074e0fc94fa6aa8c36afeb68221a2839
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195822
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32799}
2020-12-08 14:56:44 +00:00
ba90b7f171 Don't log errors on a=rtcp lines
The a=rtcp:9 IN IP4 0.0.0.0 line is required by JSEP to be generated,
but is also required to be ignored. This reduces log spew.

Bug: None
Change-Id: I984060d9693b9df4c4cfdf2c5dea0ea620f4bc83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196641
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32798}
2020-12-08 14:28:34 +00:00
92ff651f59 Roll chromium_revision 3d828369f4..2be5b61c67 (834461:834670)
Change log: 3d828369f4..2be5b61c67
Full diff: 3d828369f4..2be5b61c67

Changed dependencies
* src/base: 609d7b0359..141f4a58ae
* src/build: 2cd8181d89..7004e93217
* src/ios: 8a30717b09..859e38a604
* src/testing: 7dba255dba..6a543e2453
* src/third_party: f0036973fd..ffaf5c2799
* src/third_party/depot_tools: 3b055d329e..1742f98791
* src/tools: cdf1df3e79..25a96514f6
DEPS diff: 3d828369f4..2be5b61c67/DEPS

No update to Clang.

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

Change-Id: I886b299105383790f7d837733587f5e825020c0c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196631
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@{#32797}
2020-12-08 12:51:23 +00:00
d62c19e53f Removes spammy SDP log
Example of current output in appr.tc:

https://paste.googleplex.com/4582802164023296

No-Try: True
Bug: None
Change-Id: I9b717b9c13e771e84682d9e3d3ee6b0920a85a44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196526
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32796}
2020-12-08 11:01:13 +00:00
12dc274749 Make the static variable kChunkSizeMs constexpr
This CL makes the static variable kChunkSizeMs constexpr to avoid
potential issues on some compilers.

Bug: None
Change-Id: I8e2b1819561ec96fb17d3899af95405cc36a6097
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196640
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32795}
2020-12-08 10:46:15 +00:00
2f0dcc8eb9 Clean up RtpVp9RefFinder unittests.
Bug: webrtc:12221
Change-Id: I2ad77475bd62775452c7b81ba7ad193bea66cc8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196527
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32794}
2020-12-08 10:05:33 +00:00
717c6b5269 Roll chromium_revision eb89725d5b..3d828369f4 (834328:834461)
Change log: eb89725d5b..3d828369f4
Full diff: eb89725d5b..3d828369f4

Changed dependencies
* src/base: 4eb63a4a37..609d7b0359
* src/build: 72de072a65..2cd8181d89
* src/ios: a3602f529d..8a30717b09
* src/testing: ea45715036..7dba255dba
* src/third_party: e30927394d..f0036973fd
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/88efddc6a1..4565794f5e
* src/third_party/depot_tools: 55e9ddf219..3b055d329e
* src/third_party/perfetto: e1502e7972..3bf9804260
* src/tools: 44067df94b..cdf1df3e79
DEPS diff: eb89725d5b..3d828369f4/DEPS

No update to Clang.

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

Change-Id: Ib6dd75b5673692af0a5f0d272d7e77a92d5f9d03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196626
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@{#32793}
2020-12-08 00:46:37 +00:00
476859d38b Stop threadjumping to get RTP transport in channel.cc
This moves the code for threadjumping to get the RTP transport
despite its thread guard from the main function to two functions
marked especially "ForTesting".

Bug: webrtc:12230
Change-Id: I4473ed38e6fdedb05e2fbc97c2521bc1993fdd1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196521
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32792}
2020-12-07 22:24:06 +00:00