Commit Graph

26825 Commits

Author SHA1 Message Date
e5b94160b5 Decoder for multistream Opus.
See https://webrtc-review.googlesource.com/c/src/+/121764 for the
overall vision.

This CL adds a multistream Opus decoder. It's a new code-path to not
interfere with the standard Opus decoder. We introduce new SDP syntax,
which uses terminology of RFC 7845. We also set up the decoder side to
parse it. The encoder part will come in a later CL.

E.g. this is the new SDP syntax for 6.1 surround sound:
"multiopus/48000/6 channel_mapping=0,4,1,2,3,5 num_streams=4 coupled_streams=2"

Bug: webrtc:8649
Change-Id: Ifbc584cbb6d07aed373f223512a20d6d72cec5ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129768
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27493}
2019-04-08 16:15:37 +00:00
e9d2b4efdd Revert "Remove old audio device implementation."
This reverts commit 0cfa4cba5cae5e942f5d8e0e4e93b94982d0bfc3.

Reason for revert: audio_device_ios_objc target is removed, but still referenced by iPhone Meetins:Meeting_build_test, which now fails to build

Original change's description:
> Remove old audio device implementation.
> 
> The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.
> 
> Bug: webrtc:10514
> Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27488}

TBR=henrika@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org

Change-Id: I5be10b3d17403a79ea30afc255cde01171bc9f5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10514
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131960
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27492}
2019-04-08 15:00:10 +00:00
57f2a5485a Revert "Remove TaskQueue constructor that uses GlobalTaskQueueFactory"
This reverts commit 7b7485b796ad77809e3343f3256013488b418235.

Reason for revert: Breaks Chrome autoroll 

video/video_stream_decoder_impl.cc:28:7: error: no matching constructor for initialization of 'rtc::TaskQueue'
      bookkeeping_queue_("video_stream_decoder_bookkeeping_queue"),

Original change's description:
> Remove TaskQueue constructor that uses GlobalTaskQueueFactory
> 
> Bug: webrtc:10284
> Change-Id: I9547fb7110222ce3a3c2323ae2a004024eab911e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130471
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27464}

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

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

Bug: webrtc:10284
Change-Id: I7684f7c7d5501cc910ac9f9daa8ccf6bdb10f8e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131338
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27491}
2019-04-08 14:44:48 +00:00
14d1c9d968 Rename EncoderKeyFrameCallback back to EncoderRtcpFeedback
The name EncoderRtcpFeedback is more appropriate because:
1. "Callback" implies a single function exposed, which is
   not the case.
2. We intend to add OnLossNotification() to the same class.

Bug: webrtc:10501
Change-Id: I75b2e06eb070e85e872eba9fbc354aa4b68c7993
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131289
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27490}
2019-04-08 14:33:19 +00:00
8b60e8bc34 Give VideoSendStreamImpl access to RTP timestamps
When a LossNotification RTCP message is received, the sequence numbers
it refers to must be converted to timestamps before passing the message
down to the encoder. This CL gives VideoSendStreamImpl access to that
information via VideoSendStreamImpl::rtp_video_sender_.

TBR=sprang@webrtc.org

Bug: webrtc:10501
Change-Id: If207f0b6d2fb344da35b525cc104e8ba5cc614ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131323
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27489}
2019-04-08 14:29:38 +00:00
0cfa4cba5c Remove old audio device implementation.
The iOS ADM implementation now lives in sdk/objc/native/api/audio_device_module.{h,mm}.

Bug: webrtc:10514
Change-Id: Ib0b162027b5680ebc40d621a57f1155f08e7a057
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131326
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27488}
2019-04-08 14:08:48 +00:00
4c6ca30019 Update VideoStreamEncoder to use new VideoEncoder::SetRates() method.
This CL wires up the new SetRates() method of the video encoders, and
refactors a few things in the process:

Most notably, the VideoStreamEncoderInterface is update so that the
|target_headroom| parameter is replaced with |link_allocation|, meaning
that instead of indicating bitrate capacity in excess of the target
bitrate, it indicates to total network capacity allocated for the
stream including the target bitrate. This matches the VideoEncoder API.

The VideoEncoder::RateControlParameters struct gets a few new helper
methods.

In VideoStreamEncoder, instead of adding more fields to the
|last_observed_bitrate*| family, uses an optional struct that
inherits from VideoEncoder::RateControlParameters.

Bug: webrtc:10481
Change-Id: Iee3965531142ae9b964ed86c0d51db59b1cdd61c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131123
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27487}
2019-04-08 14:01:28 +00:00
e893bfc336 Roll chromium_revision baccefbc73..7987ebdc29 (648532:648632)
Change log: baccefbc73..7987ebdc29
Full diff: baccefbc73..7987ebdc29

Changed dependencies
* src/base: 7f42cc431e..d7aa74b479
* src/build: 3eaa797fa2..8a35cbf302
* src/ios: d927186141..15e721b56a
* src/third_party: bbcbf51c30..7daeadc33d
* src/tools: d151b62130..96a2fd13fd
DEPS diff: baccefbc73..7987ebdc29/DEPS

No update to Clang.

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

Change-Id: I7c3e07594de8c9da1e55d1d955f9687b3fea4733
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131921
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@{#27486}
2019-04-08 13:44:48 +00:00
28d13cb886 Add RtpSequenceNumberMap::InsertFrame()
This will make code using RtpSequenceNumberMap simpler.

Bug: webrtc:10501
Change-Id: I74b11f3562d5962efb42b5bb7662489d7d411388
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131386
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27485}
2019-04-08 12:39:08 +00:00
3fcc5be59d Remove unused members in VCMJitterEstimator.
Bug: none
Change-Id: I0b6649906d4e73ef0819e00884b5a17d317c7619
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131260
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27484}
2019-04-08 12:27:47 +00:00
61e2753500 Delete placeholder code for Windows Media Foundation capturer.
Any new capture implementation for windows should use VideoSourceInterface,
like current capturers for android, mac and ios.

Bug: None
Change-Id: I0dffa9fde5ba069aab6273bfef826d17f03877d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131337
Commit-Queue: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27483}
2019-04-08 12:19:48 +00:00
800a10309d Fix timeout in rtcp_receiver_fuzzer - limit input length
rtcp_receiver_fuzzer was running over inputs of unreasonable
length, leading to timeouts. RTCP typically runs over UDP.
This CL limits the inputs to a bit over the max UDP payload length.

Bug: chromium:948469
Change-Id: I669a5b24c265bb3b6da2503da109efed32c25182
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131393
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27482}
2019-04-08 11:50:37 +00:00
f59666b3b2 Fix potential bug due to malformed input
A reasonable amount of incoming packets could generate feedback
for millions of packets.

Bug: chromium:949020
Change-Id: I7f3e6b75b683af5b2732c472cc92c6788540486b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131333
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27481}
2019-04-08 11:46:47 +00:00
1e2d436cbf Change PlayoutLatency setLatency zero-threshold value.
This is needed to match behaviour described in this spec:
https://github.com/henbos/webrtc-timing/pull/2

Bug: webrtc:10287
Change-Id: Idce9af2ec63705dfbfb500b7dbbf755ed3eab571
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131336
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#27480}
2019-04-08 10:27:06 +00:00
8b9f51132a Add stream labels into PeerConnection level smoke test.
Bug: webrtc:10138
Change-Id: I779a8eb0516471273ddb313df3c2a34e66dff869
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131396
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27479}
2019-04-08 09:58:51 +00:00
e0b9355aa8 Move enum VideoType out of common_types.h
New location is common_video/libyuv/include/webrtc_libyuv.h.

Bug: webrtc:5876
Change-Id: Ied439a83417008a086bd496a8d13042398ff1e99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131330
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27478}
2019-04-08 09:47:54 +00:00
0d32a737dc Fix naming in NetworkEmulationManager: endpoint_controller -> endpoint_container
Bug: webrtc:10138
Change-Id: If5d6a9e6b25619278d32477e6c44c8fd5ad0faf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131331
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27477}
2019-04-08 09:35:39 +00:00
5a0665bea4 Make UDP receive buffer size configurable via field trial
Bug: chromium:939340
Change-Id: I2ab18554d12a1e9c62f5d3d8f8237cc4d0a1a78c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131395
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27476}
2019-04-08 09:31:39 +00:00
d1c6085cb3 Added FrameDecryptorInterface::Result constructor and IsOk() member function.
Bug: webrtc:10512
Change-Id: I48bdaad57739382b5c1040d94f4e3657e2054e4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131364
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27475}
2019-04-08 07:04:07 +00:00
f948eb66aa Implement DefaultAudioQualityAnalyzer.
The DefaultAudioQualityAnalyzer will read stats reports (temporarily
using the old PeerConnectionInterface::GetStats) and for each audio
stream it will collect some NetEq related stats.

When DefaultAudioQualityAnalyzer::Stop is invoked by the framework,
it will report the following metrics:
- expand_rate
- accelerate_rate
- preemptive_rate
- speech_expand_rate
- preferred_buffer_size_ms

Bug: webrtc:10138
Change-Id: Ie493456fcb9ed86455b12dabdab98a317387ef46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125980
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27474}
2019-04-07 14:32:33 +00:00
0b2bf9590f Roll chromium_revision 58ec016f06..baccefbc73 (648432:648532)
Change log: 58ec016f06..baccefbc73
Full diff: 58ec016f06..baccefbc73

Changed dependencies
* src/base: f41d59faf0..7f42cc431e
* src/build: 25794eb5ee..3eaa797fa2
* src/ios: be52df3518..d927186141
* src/third_party: f26e86be04..bbcbf51c30
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bf0179e27c..979fc35bbc
* src/third_party/depot_tools: 9198ef8ede..0b62ed79ed
* src/tools: 1920aa9d40..d151b62130
DEPS diff: 58ec016f06..baccefbc73/DEPS

No update to Clang.

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

Change-Id: I6a55b450a2e8b153a647ddb7bf494e7d51eafb3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131600
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@{#27473}
2019-04-07 09:16:49 +00:00
a5b8220f2e Roll chromium_revision 0a611f37b8..58ec016f06 (648329:648432)
Change log: 0a611f37b8..58ec016f06
Full diff: 0a611f37b8..58ec016f06

Changed dependencies
* src/base: 1d63e15e13..f41d59faf0
* src/build: 23a5e22ba7..25794eb5ee
* src/ios: 1b45cc0d32..be52df3518
* src/testing: 8a96030944..a428665e17
* src/third_party: 5c95ab592b..f26e86be04
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/27980609ac..bf0179e27c
* src/third_party/depot_tools: dbc721d65f..9198ef8ede
* src/tools: f63001b39e..1920aa9d40
DEPS diff: 0a611f37b8..58ec016f06/DEPS

No update to Clang.

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

Change-Id: Iacdbe2c09deb55f99f1eae1e57c1f65afe6fbcba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131500
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@{#27472}
2019-04-06 01:29:38 +00:00
0694d1fce5 Roll chromium_revision 37663bcca7..0a611f37b8 (648215:648329)
Change log: 37663bcca7..0a611f37b8
Full diff: 37663bcca7..0a611f37b8

Changed dependencies
* src/base: 9ddc023f80..1d63e15e13
* src/ios: fe51fcc2c1..1b45cc0d32
* src/testing: 8b5edd181c..8a96030944
* src/third_party: a5a1eb9b53..5c95ab592b
* src/third_party/android_deps/libs/com_google_ar_core: version:1.6.0-cr0..version:1.8.0-cr0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9057b413d4..27980609ac
* src/tools: d6f4e3aa56..f63001b39e
DEPS diff: 37663bcca7..0a611f37b8/DEPS

No update to Clang.

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

Change-Id: I4d66339337e19d7827f26c19bab96d4f52ec85ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131442
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@{#27471}
2019-04-05 22:14:43 +00:00
72e977135c Add Result FrameDecryptorInterface::Decrypt
This change adds FrameDecryptorInterface::Result to the FrameDecryptorInterface
API. Result contains a Status and bytes_written. This removes requiring out
parameters from the API and provides a simpler status return code for the
function. This is in response to comments suggested here:
https://webrtc-review.googlesource.com/c/src/+/131358

int FrameDecryptorInterface::Decrypt() will be removed in a follow up CL.

Bug: webrtc:10512
Change-Id: I47f19f154d1d8430acd6e4a6f433ab24c455fd51
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131362
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27470}
2019-04-05 21:07:16 +00:00
2a3cf05af7 Roll chromium_revision f91f825874..37663bcca7 (648096:648215)
Change log: f91f825874..37663bcca7
Full diff: f91f825874..37663bcca7

Changed dependencies
* src/base: fb54341f11..9ddc023f80
* src/build: e4948d79f2..23a5e22ba7
* src/ios: 8e699376f3..fe51fcc2c1
* src/testing: c562c291be..8b5edd181c
* src/third_party: af977ed4ee..a5a1eb9b53
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/810aaa1e18..9057b413d4
* src/tools: 973c47f044..d6f4e3aa56
DEPS diff: f91f825874..37663bcca7/DEPS

Clang version changed 356356:357692
Details: f91f825874..37663bcca7/tools/clang/scripts/update.py

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

Change-Id: Ia2871f209fe49c1ca016cc3391121ecbbaaa465a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131421
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@{#27469}
2019-04-05 17:32:37 +00:00
ebd94f6df1 Using simulated time for GoogCC tests.
Bug: webrtc:10365
Change-Id: I482e544f1585fdb54dc49740ba81870104dd58a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130509
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27468}
2019-04-05 15:58:29 +00:00
8f32b6c18c AEC3: Enable usage of external delay estimator
This change makes it possible to disable AEC3's render delay
controller and delay estimator, and instead rely on an external
delay estimator. The delay is communicated via SetAudioBufferDelay.

When the feature is enabled, no echo removal will be performed
until the first delay is provided.

The delay is

Bug: b/130016532
Change-Id: I16643109d78d770ff1d2713cf247b0b9cce1bc1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131327
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27467}
2019-04-05 15:34:39 +00:00
a553c72659 Tune VideoCodecTestLibvpx.TemporalLayersVP8 thresholds.
After https://webrtc-review.googlesource.com/c/src/+/131141 there are some minor
changes to the encoding performance, hence the updated values.

Bug: none
Change-Id: I070a62ce725b0a79e5cb5c4679ab643de50c46c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131334
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27466}
2019-04-05 14:43:40 +00:00
363fb7e050 Running scenario quality unit tests in simulated time.
This is to avoid inconsistent/flaky behavior on mobile bots.

Bug: webrtc:10365
Change-Id: I52ab4f9ef92b10329c1eac502adfcf2886058114
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131329
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27465}
2019-04-05 14:35:40 +00:00
7b7485b796 Remove TaskQueue constructor that uses GlobalTaskQueueFactory
Bug: webrtc:10284
Change-Id: I9547fb7110222ce3a3c2323ae2a004024eab911e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130471
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27464}
2019-04-05 13:34:26 +00:00
59e875ce18 Tune VideoCodecTestLibvpx.MultiresVP8 thresholds.
After https://webrtc-review.googlesource.com/c/src/+/131141 there are some minor
changes to the encoding performance, hence the updated values.

Bug: none
Change-Id: Ifa661eea15a0d52f4760f4aac9294074faab757f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131382
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27463}
2019-04-05 13:15:34 +00:00
c46a999342 Reduce flakiness of repeating task test.
Bug: webrtc:9883
Change-Id: I9027de52dc6e3e20bbd7b5b977116b3be9077941
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131324
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27462}
2019-04-05 12:58:04 +00:00
ae2213b38d Delete compatibility alias webrtc::kI420
Bug: webrtc:7385, webrtc:10198
Change-Id: Ib18b6fc45f1bac7f4145d4fca384978a85b6c85e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130481
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27461}
2019-04-05 11:47:38 +00:00
ff39312958 Add ability to have multiple connected remote endpoints
Bug: webrtc:10138
Change-Id: Ic305c2f247588d75b6ced17052ba12d937d1a056
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128864
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27460}
2019-04-05 10:27:14 +00:00
5684af5d63 VideoSendStream::Stats::total_encode_time_ms added.
This is a standard stat:
https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-totalencodetime

This is collected by SendStatisticsProxy. A follow-up CL will plumb
this to the RTCStatsCollector.

Bug: webrtc:10448
Change-Id: I236afa5576edc26afd54bd166f7faaf7e38e7c7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130517
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27459}
2019-04-05 10:16:14 +00:00
a556448138 Don't recreate the VideoReceiveStream on SetFrameDecryptor in the MediaEngine.
This change introduces new logic to allow the injection of the FrameDecryptor
into an arbitrary already running VideoReceiveStream without resetting it. It
does this by taking advantage of the BufferedFrameDecryptor which will
forcefully be created regardless of whether a FrameDecryptor is passed in
during construction of the VideoReceiver if the
crypto_option.require_frame_encryption is true. By allowing the
BufferedFrameDecryptor to swap out which FrameDecryptor it uses this allows the
Receiver to switch decryptors without resetting the stream.

This is intended to mostly be used when you set your FrameDecryptor at a point
post creation for the first time.

Bug: webrtc:10416
Change-Id: If656b2acc447e2e77537cfa394729e5c3a8b660a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130361
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27458}
2019-04-05 07:58:05 +00:00
144575b65a Roll chromium_revision e05071635b..f91f825874 (647992:648096)
Change log: e05071635b..f91f825874
Full diff: e05071635b..f91f825874

Changed dependencies
* src/base: 6a69ac92e1..fb54341f11
* src/build: 372b912a6d..e4948d79f2
* src/ios: a101508a26..8e699376f3
* src/testing: 2c43c44509..c562c291be
* src/third_party: 76e8ba9855..af977ed4ee
* src/third_party/depot_tools: 9f74913e51..dbc721d65f
* src/tools: 7fbfd73192..973c47f044
DEPS diff: e05071635b..f91f825874/DEPS

No update to Clang.

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

Change-Id: I03b78a15943c3a4f92de2f9fe484fc39cd60778a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131361
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@{#27457}
2019-04-05 07:18:44 +00:00
4e95e17a66 Roll chromium_revision b95224d1f4..e05071635b (647872:647992)
Change log: b95224d1f4..e05071635b
Full diff: b95224d1f4..e05071635b

Changed dependencies
* src/base: a90642899f..6a69ac92e1
* src/build: 089a33ed0f..372b912a6d
* src/ios: 07a8f68d15..a101508a26
* src/third_party: 57a96905da..76e8ba9855
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/144122958b..810aaa1e18
* src/third_party/icu: b10cc9f714..69c72a6dfe
* src/tools: 8491393d76..7fbfd73192
DEPS diff: b95224d1f4..e05071635b/DEPS

No update to Clang.

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

Change-Id: I4066fa5c905d60e9254637812bdb3295d90c7fdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131350
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@{#27456}
2019-04-05 01:02:21 +00:00
0ae222a62f Roll chromium_revision 4aff3b8e0f..b95224d1f4 (647765:647872)
Change log: 4aff3b8e0f..b95224d1f4
Full diff: 4aff3b8e0f..b95224d1f4

Changed dependencies
* src/base: 178202a54c..a90642899f
* src/build: 96d2ee3e71..089a33ed0f
* src/ios: cfa6ed29d0..07a8f68d15
* src/testing: cac71cb59f..2c43c44509
* src/third_party: 68b93d0ceb..57a96905da
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/63e0762df0..144122958b
* src/third_party/depot_tools: b8268cad11..9f74913e51
* src/third_party/libvpx/source/libvpx: ecae7f8f81..4117995a8e
* src/tools: 9ef99fc9b2..8491393d76
DEPS diff: 4aff3b8e0f..b95224d1f4/DEPS

No update to Clang.

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

Change-Id: Ic33bab3541a2c0ea590e545e7590cae440f73d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131347
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@{#27455}
2019-04-04 20:46:15 +00:00
1c747f5717 Preparing VideoReceiveStream for move to TaskQueue.
Extracting the work that's thread dependent from the work that will
also be done when using task queue.

Bug: webrtc:10365
Change-Id: I648796fe016c966c731c9b7f85d2a871c1f2a349
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131241
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27454}
2019-04-04 17:01:42 +00:00
f75d458951 Roll chromium_revision e839e72818..4aff3b8e0f (647650:647765)
Change log: e839e72818..4aff3b8e0f
Full diff: e839e72818..4aff3b8e0f

Changed dependencies
* src/base: d04d0d4279..178202a54c
* src/build: 6fdec9fe12..96d2ee3e71
* src/ios: db67ecd5eb..cfa6ed29d0
* src/third_party: 7b588e18a3..68b93d0ceb
* src/tools: 75c78ba595..9ef99fc9b2
DEPS diff: e839e72818..4aff3b8e0f/DEPS

Clang version changed 357569:356356
Details: e839e72818..4aff3b8e0f/tools/clang/scripts/update.py

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

Change-Id: I792578151ff82d351b5030c591e4657e1755a749
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131343
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@{#27453}
2019-04-04 16:32:49 +00:00
50b8c399c9 Generalize the C-language Opus interface.
Switch to explicit channel mappings (RFC 7845) when creating
multi-stream Opus en/de-coders. The responsibility of setting up the
channel mappings will shift from WebRTC to the WebRTC user.

See https://webrtc-review.googlesource.com/c/src/+/121764 for the
current vision. See also the first child CL
https://webrtc-review.googlesource.com/c/src/+/129768
that sets up the Decoder to use this code.

Bug: webrtc:8649
Change-Id: I55959a293d54bb4c982eff68ec107c5ef8666c5c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129767
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27452}
2019-04-04 14:06:44 +00:00
21f6fd79ad Add preemptive rate and preferred buffer size plots to event log visualizer.
Bug: None
Change-Id: I185f1cd9645a850ba42cb122373d73613d118ac1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131128
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27451}
2019-04-04 13:50:29 +00:00
ec51ce0ce1 AEC3: Remove unused config parameters
This change removes the following unused parameters from the AEC3
configuration:
- render_pre_window_size_init
- render_post_window_size_init
- nonlinear_hold
- nonlinear_release

Bug: webrtc:8671
Change-Id: I8f7a3d350387cd8ada4d507c3a9fab43b7813f5c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131321
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27450}
2019-04-04 12:36:48 +00:00
6c371ca700 Add OnLossNotification() to VideoEncoder and Vp8FrameBufferController
Bug: webrtc:10501
Change-Id: I33e8bfcf16cf24aadcfdf214d7d9bcd495bf9348
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131021
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27449}
2019-04-04 10:57:02 +00:00
f88aa97c52 Introduce RtpSequenceNumberMap
The video encoder should be informed of incoming LossNotification
RTCP messages. Since it is unaware of RTP sequence numbers,
or anything else RTP-related, the sequence numbers mentioned
in the RTCP message must first be mapped to timestamps,
since those are meaningful to the encoder.

This CL introduces RtpSequenceNumberMap, which maps RTP sequence
numbers to timestamps, while providing:
1. Capping the number of entries.
2. Wrap-around handling.

RtpSequenceNumberMap also remembers which packets were first
and/or last in the frame.

Later CLs will wire this up.

Bug: webrtc:10501
Change-Id: Ie0662cdb5706a3bcf63aa2934816a9df88439357
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130497
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27448}
2019-04-04 10:50:12 +00:00
086b9073d4 Update codecs/h264 owners.
- Removed hbos@webrtc.org
- Added ssilkin@webrtc.org

Bug: none
Change-Id: I520be843cbb28652393cb0e0e05d7e0c1786e562
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131125
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27447}
2019-04-04 10:21:32 +00:00
1770ddb7a4 Remove obsolete TODO in default_encoded_image_data_injector.h
Bug: webrtc:10138
Change-Id: I401dea607feb2f1ea967dd2473bf4f0ba7a7d43e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131280
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27446}
2019-04-04 09:31:16 +00:00
2579047cc0 Roll chromium_revision 8524e2aded..e839e72818 (647205:647650)
Change log: 8524e2aded..e839e72818
Full diff: 8524e2aded..e839e72818

Changed dependencies
* src/base: 4d7d3409f7..d04d0d4279
* src/build: c2f2e5ab0f..6fdec9fe12
* src/buildtools: 459baaf66b..218cb3d12e
* src/buildtools/linux64: git_revision:0790d3043387c762a6bacb1ae0a9ebe883188ab2..git_revision:64b846c96daeb3eaf08e26d8a84d8451c6cb712b
* src/buildtools/mac: git_revision:0790d3043387c762a6bacb1ae0a9ebe883188ab2..git_revision:64b846c96daeb3eaf08e26d8a84d8451c6cb712b
* src/buildtools/third_party/libc++/trunk: 955113db37..fbddc46986
* src/buildtools/win: git_revision:0790d3043387c762a6bacb1ae0a9ebe883188ab2..git_revision:64b846c96daeb3eaf08e26d8a84d8451c6cb712b
* src/ios: b5be7e7906..db67ecd5eb
* src/testing: 946f832584..cac71cb59f
* src/third_party: 8ae85677bd..7b588e18a3
* src/third_party/android_deps/libs/android_arch_core_common: version:1.0.0-cr0..version:1.1.1-cr0
* src/third_party/android_deps/libs/android_arch_lifecycle_common: version:1.0.0-cr0..version:1.1.1-cr0
* src/third_party/android_deps/libs/android_arch_lifecycle_runtime: version:1.0.0-cr0..version:1.1.1-cr0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e1fc0b0b3d..63e0762df0
* src/third_party/depot_tools: 865445eb8a..b8268cad11
* src/tools: f05d4a5db9..75c78ba595
Added dependency
* src/third_party/android_deps/libs/android_arch_lifecycle_common_java8
DEPS diff: 8524e2aded..e839e72818/DEPS

No update to Clang.

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

Change-Id: If7c3d904c8b2394f820ee5c80f2931722d00f020
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131227
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@{#27445}
2019-04-04 09:14:26 +00:00
4bac79ece2 Add SetJitterBufferMinimumDelay method to RtpReceiverInterface.
This change is required to allow modification of Jitter Buffer delay
in javascript via Origin Trial Experiment.
Link to experiment description:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/Tgm4qiNepJc

Bug: webrtc:10287
Change-Id: I4f21380aad5982a4a60c55683b5173ce72ce0392
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131144
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27444}
2019-04-04 09:00:16 +00:00