Commit graph

25509 commits

Author SHA1 Message Date
Mirko Bonadei
254ecffacf Using absl::string_view to stringify an RTCErrorType.
Bug: webrtc:10198
Change-Id: Ie7fdba08df219a03ebe2ee5521c2840f28571bba
Reviewed-on: https://webrtc-review.googlesource.com/c/117162
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26277}
2019-01-16 11:49:00 +00:00
Chen Xing
0acffb5b36 Expose jitterBufferEmittedCount in addition to the existing jitterBufferDelay for getStats().
NetEq currently only passes `jitterBufferDelay` to `getStats()`. We need its paired `jitterBufferEmittedCount` denominator stat for the calculations to be accurate.

Bug: webrtc:10192
Change-Id: I655aea629026ce9101409c2e0f18c2fa57a1c3ab
Reviewed-on: https://webrtc-review.googlesource.com/c/117320
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#26276}
2019-01-16 11:44:10 +00:00
Sebastian Jansson
876d1d3fed Revert "Reland "Adds richer packet and ice processing to ParsedRtcEventLog.""
This reverts commit 20aae1de5c.

Reason for revert: Accidental revert.

Original change's description:
> Reland "Adds richer packet and ice processing to ParsedRtcEventLog."
> 
> This reverts commit 5586d7fb57.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
> > 
> > This reverts commit 4306a25dfc.
> > 
> > Reason for revert: Breaks downstream project
> > 
> > Original change's description:
> > > Adds richer packet and ice processing to ParsedRtcEventLog.
> > > 
> > > Bug: webrtc:10170
> > > Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> > > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#26268}
> > 
> > TBR=terelius@webrtc.org,srte@webrtc.org
> > 
> > Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:10170
> > Reviewed-on: https://webrtc-review.googlesource.com/c/117780
> > Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
> > Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26270}
> 
> TBR=terelius@webrtc.org,srte@webrtc.org,amithi@webrtc.org
> 
> Change-Id: I5e87fb472b91dd4b6fa177418f03a9031035ec60
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10170
> Reviewed-on: https://webrtc-review.googlesource.com/c/117721
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26274}

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

Change-Id: Ie020006b02dda628c638ba00ac519f6da2aaa090
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117723
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26275}
2019-01-16 08:26:37 +00:00
Sebastian Jansson
20aae1de5c Reland "Adds richer packet and ice processing to ParsedRtcEventLog."
This reverts commit 5586d7fb57.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
> 
> This reverts commit 4306a25dfc.
> 
> Reason for revert: Breaks downstream project
> 
> Original change's description:
> > Adds richer packet and ice processing to ParsedRtcEventLog.
> > 
> > Bug: webrtc:10170
> > Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> > Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26268}
> 
> TBR=terelius@webrtc.org,srte@webrtc.org
> 
> Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10170
> Reviewed-on: https://webrtc-review.googlesource.com/c/117780
> Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26270}

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

Change-Id: I5e87fb472b91dd4b6fa177418f03a9031035ec60
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117721
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26274}
2019-01-16 07:44:23 +00:00
Niels Möller
77536a2b81 Rename EncodedImage::_length --> size_, and make private.
Use size() accessor function. Also replace most nearby uses of _buffer
with data().

Bug: webrtc:9378
Change-Id: I1ac3459612f7c6151bd057d05448da1c4e1c6e3d
Reviewed-on: https://webrtc-review.googlesource.com/c/116783
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26273}
2019-01-16 07:40:47 +00:00
chromium-webrtc-autoroll
7491e8f17b Roll chromium_revision c6a258bb5d..ac86e0cdbd (622808:623074)
Change log: c6a258bb5d..ac86e0cdbd
Full diff: c6a258bb5d..ac86e0cdbd

Changed dependencies
* src/base: 8ce4edcd7d..3512d309cf
* src/build: e93ee685fe..7a1aacd97b
* src/ios: db8e83dc0f..25a53b6238
* src/testing: fa73c7d74f..26ed96a6ec
* src/third_party: 6f2ff74300..7006d02fbe
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/96320b5151..78448d9008
* src/third_party/depot_tools: 8432ec24a3..e229a0e3c5
* src/third_party/libFuzzer/src: 2a53098584..ee7a5b85c7
* src/tools: 43be1b9a51..8c251b2ca5
DEPS diff: c6a258bb5d..ac86e0cdbd/DEPS

No update to Clang.

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

Change-Id: I5ad2e64bd9f6b45b9495158701d980c78db43b94
Reviewed-on: https://webrtc-review.googlesource.com/c/117820
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@{#26272}
2019-01-16 03:52:56 +00:00
Qingsi Wang
a0d4580936 Add the equals method to IceServer.
Bug: None
Change-Id: I4bac54489a44a4577cc221ba51351e4a3a92e69b
Reviewed-on: https://webrtc-review.googlesource.com/c/116081
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Honghai Zhang <honghaiz@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26271}
2019-01-16 01:06:17 +00:00
Amit Hilbuch
5586d7fb57 Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
This reverts commit 4306a25dfc.

Reason for revert: Breaks downstream project

Original change's description:
> Adds richer packet and ice processing to ParsedRtcEventLog.
> 
> Bug: webrtc:10170
> Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26268}

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

Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117780
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26270}
2019-01-15 21:58:02 +00:00
Jonas Olsson
7a6739eda8 Make Ice Transports signal failures.
The new iceTransportState depends on the transports to signal when they have disconnected, this change ensures that they do so.

The logic is similar to what the old iceConnectionState did, but it uses the ice transports writable() flag instead of the one from the containing dtls transport.

Bug: webrtc:10199, webrtc:9308
Change-Id: I8a2a71a689b2a7027fe9117c79144811367d2165
Reviewed-on: https://webrtc-review.googlesource.com/c/117565
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26269}
2019-01-15 16:48:58 +00:00
Sebastian Jansson
4306a25dfc Adds richer packet and ice processing to ParsedRtcEventLog.
Bug: webrtc:10170
Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
Reviewed-on: https://webrtc-review.googlesource.com/c/116069
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26268}
2019-01-15 16:30:38 +00:00
Artem Titov
66a29b9953 Introduce CopyToFileAudioCapturer.
It will be used to dump generated audio from TestAudioDeviceModule into
user defuned file in peer connection level test framework.

Bug: webrtc:10138
Change-Id: I6e3db36aaf1303ab148e8812937c4f9cd1b49315
Reviewed-on: https://webrtc-review.googlesource.com/c/117220
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26267}
2019-01-15 15:06:55 +00:00
Mirta Dvornicic
ccc1b57e32 Poll is_hardware_accelerated from VideoEncoder instead of VideoEncoderFactory.
Currently, CPU overuse settings for HW encoders are sometimes being used
even though the actual encoder is a SW encoder, e.g. in case of SW fallback
when the encoder is initialized. Polling is_hardware_accelerated after the
encoder has been created and initialized will improve choosing the correct
CPU overuse settings.

Bug: webrtc:10065
Change-Id: Ic6bd67630a040b5a121c13fa63dd074006973929
Reviewed-on: https://webrtc-review.googlesource.com/c/116688
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26266}
2019-01-15 14:12:12 +00:00
Mirko Bonadei
29cbd85cce Fix rtc_media_unittests deps (crbug.com/908819 is now fixed).
It is now possible to have dependencies with suffix _module without
clashing with the Android GN templates.

Bug: chromium:908819
Change-Id: I1b34aac60af93485ce23ebce295ab97c7c163d20
Reviewed-on: https://webrtc-review.googlesource.com/c/117161
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26265}
2019-01-15 13:25:58 +00:00
Mirko Bonadei
921d366aed Remove comments about using std::shared_ptr.
There are no plans to start using std::shared_ptr in WebRTC.

Bug: webrtc:10198
No-Try: True
Change-Id: I87a6c32b33b30d1b6b98eccda3400ce755a0ae95
Reviewed-on: https://webrtc-review.googlesource.com/c/117362
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26264}
2019-01-15 13:15:58 +00:00
Niels Möller
36faf0b397 Delete setting of unused variable nack_window_ms
Dead code accidentally kept in cl
https://webrtc-review.googlesource.com/c/src/+/103640

Bug: webrtc:9801
Change-Id: Id7a8a8282e4eeeabc7e95486f4f96d4594711a26
Reviewed-on: https://webrtc-review.googlesource.com/c/117563
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26263}
2019-01-15 13:02:07 +00:00
Ilya Nikolaevskiy
173d198020 Revert "Ensure correct decoding for unfiltered KSVC streams"
This reverts commit cd7c21bfad.

Reason for revert: Regression in VP9 tests on perf bots

Original change's description:
> Ensure correct decoding for unfiltered KSVC streams
> 
> Set render timestamp for all frames in the superframe.
> 
> Bug: chromium:912122
> Change-Id: Ic9604620da9fb4176ad5c21b95df47fca8ddea31
> Reviewed-on: https://webrtc-review.googlesource.com/c/116985
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26247}

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

Change-Id: I2d137d36d343bc0204ab80edb3cd55a3f89bbc33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:912122
Reviewed-on: https://webrtc-review.googlesource.com/c/117564
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26262}
2019-01-15 12:19:30 +00:00
Elad Alon
e4b5023f65 Avoid repeated semi-expensive field_trials read in frame_buffer2.cc
Bug: webrtc:10202
Change-Id: Ib8bfe7c1d62bc5091a8bfb2ce137ba749f9042e6
Reviewed-on: https://webrtc-review.googlesource.com/c/117361
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26261}
2019-01-15 12:12:01 +00:00
chromium-webrtc-autoroll
c259a3b0e9 Roll chromium_revision 783044b798..c6a258bb5d (621838:622808)
Change log: 783044b798..c6a258bb5d
Full diff: 783044b798..c6a258bb5d

Changed dependencies
* src/base: 992951c2bf..8ce4edcd7d
* src/build: 19c19422cd..e93ee685fe
* src/buildtools: 7d88270de1..40194ab039
* src/ios: 40f164ac1e..db8e83dc0f
* src/testing: e2343647af..fa73c7d74f
* src/third_party: 9132ba856f..6f2ff74300
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0cc582388f..96320b5151
* src/third_party/depot_tools: 80a1cf66b8..8432ec24a3
* src/third_party/freetype/src: d01e28f41f..1e7a8f30c2
* src/third_party/harfbuzz-ng/src: 26c5b54fb0..0d2727f4fe
* src/third_party/libvpx/source/libvpx: 57f7c6f191..759d1de9d0
* src/tools: f1f7eab58d..43be1b9a51
DEPS diff: 783044b798..c6a258bb5d/DEPS

Clang version changed 349417:350768
Details: 783044b798..c6a258bb5d/tools/clang/scripts/update.py

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

Change-Id: Ic8f22732201f4d0c8851189b9bbfc14a89fd76c4
Reviewed-on: https://webrtc-review.googlesource.com/c/117601
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@{#26260}
2019-01-15 11:40:42 +00:00
Alessio Bazzica
c25fa89e9e RNN VAD: fix pitch gain type and change pitch period type
The pitch gain type in ComputePitchGainThreshold() is wrong
(size_t instead of float).
The pitch period is an unsigned integer type, but it is safer to
switch to a signed type and add checks on the sign.

Bug: webrtc:9076
Change-Id: If69d182071edab9750a320f0fbfac24aa8052ee0
Reviewed-on: https://webrtc-review.googlesource.com/c/117302
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26259}
2019-01-15 10:28:23 +00:00
Ilya Nikolaevskiy
49ea47b90e Fix fuzzer identified crash in DecodeFramesHistory
Bug: chromium:921933,chromium:921935
Change-Id: I10f2a4783a717d9541bfc9f9bc0c76eaa2e62f30
Reviewed-on: https://webrtc-review.googlesource.com/c/117562
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26258}
2019-01-15 10:26:13 +00:00
Mirko Bonadei
ee0a85cee2 Roll //third_party/ffmpeg and disable H264 when MSVC is used.
FFmpeg hasn't been rolled since [1] in order to avoid to break MSVC
trybots (//third_party/ffmpeg dropped MSVC support, in theory it is
possible to bring the support back but some work is needed every time
//third_party/ffmpeg gets updated).

Not rolling //third_party/ffmpeg is not enough to keep the Chromium
Roll working because -Wstring-plus-int becomes more chatty with clang 350768
and it has been suppressed in //third_party/ffmpeg/BUILD.gn [2].

Since WebRTC needs to update clang, //third_party/ffmpeg needs to be
updated. The only way to do it without fixing MSVC errors in
//third_party/ffmpeg is to enforce rtc_use_h264=False when MSVC is used.

PSA: https://groups.google.com/forum/#!topic/discuss-webrtc/cfkPPq5nvNE.

[1] - https://webrtc-review.googlesource.com/78402
[2] - https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/1376376

Bug: webrtc:9213
Change-Id: I36bd7fb2db21012760e4ff7a791d81350e402ec0
Reviewed-on: https://webrtc-review.googlesource.com/c/116982
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26257}
2019-01-15 10:25:01 +00:00
Niels Möller
45ccd8488e Don't set the screenshare flag on FakeVideoCapturerWithTaskQueue
A capturer with this flag was set in
WebRtcVideoChannelTest.PreviousAdaptationDoesNotApplyToScreenshare.
But the flag is used only by the VideoCapturerTrackSource class, which
isn't used in this test.

Bug: webrtc:6353
Change-Id: I58058c882c5a65b5cfa9921e302c422c8ccb20a9
Reviewed-on: https://webrtc-review.googlesource.com/c/117561
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26256}
2019-01-15 10:22:13 +00:00
Benjamin Wright
9db8b88bd4 Added JSON generator for VideoReceiveStream::Config objects.
This change adds a new way for test code to serialize the important information
from a VideoReceiveStream::Config so that it can be stored as configuration data
for WebRTC fuzzers. This code isn't included in the object itself as it is only
going to be used to generate new configurations for the fuzzer each time a new
error_correction or video format is added to WebRTC.

Bug: webrtc:10117
Change-Id: I9b6fb8e0345890ab16f6d319d91e4e316d1f2888
Reviewed-on: https://webrtc-review.googlesource.com/c/116920
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26255}
2019-01-15 00:51:29 +00:00
Qiang Chen
fa1ca1e781 Bug Fix: iOS H264 Encoder Crash Issue
When using H264 encoder with profile level 3.1, the encoder may crash.
The reason is that we set the expected frame rate using kVTCompressionPropertyKey_ExpectedFrameRate
to the VideoToolBox. However, by iOS implementation, if our setting violates the sample rate limit
[1], the encoder will crash.

This CL fixes the bug by capping the expected frame rate with max allowed frame rate computed from the sample rate limit.

Change-Id: I090d7be8c20713c6a5a4ec80ed243c8fa7b4aa14
Bug: webrtc:10172
Reviewed-on: https://webrtc-review.googlesource.com/c/116056
Commit-Queue: Qiang Chen <qiangchen@chromium.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26254}
2019-01-14 19:23:56 +00:00
Mirko Bonadei
c2c733e21b Remove unused methods from cricket::BaseChannel.
Bug: webrtc:10198
Change-Id: If510e6f508e34aaa36c9ccbbdc90dd33ad5fef10
Reviewed-on: https://webrtc-review.googlesource.com/c/116991
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26253}
2019-01-14 19:08:10 +00:00
Benjamin Wright
8efafdf84b Move VideoStreamReceiver JSON configuration parser to test source_set.
This change moves the configuration parser that converts a JSON representation
of the VideoStreamReceiver::Config structure into a native object into the test
directory so that it can be shared with the new corpus_generator utility that is
being built. This rtc_source_set will have an additional utility function added
in a subsequent CL that will allow the generation of a VideoStreamSender::Config
from a given VideoStreamReceiver::Config and visa versa.

Bug: webrtc:10117
Change-Id: I3035826f799f8d1fcdeaa76997391f030c855a5c
Reviewed-on: https://webrtc-review.googlesource.com/c/116880
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26252}
2019-01-14 18:40:24 +00:00
Artem Titov
4895b45703 Introduce EncodedImageIdInjector.
EncodedImageIdInjector is responsible for injection of frame id into
encoded image before it will be sent to the transport layer. It will
help to track video frame from capturing on 1st peer side to rendering
on 2nd peer side and will make it possible to calculate video quality
stats between these frames.

This CL also introduces two different implementations for injector:
  1. DefaultEncodedImageIdInjector will prepend all encoded images with
     extra data and then will restore them on another side. This injector
     can work even if peers are running on different devices.
  2. SingleProcessEncodedImageIdInjector can work only when all peers
     are running in the same process, but won't use any extra data
     to propagate frame id between peers, so it won't affect any
     transport level metrics and bitrate estimator.

This CL is first part of new video quality analyzer for end-2-end
peer connection level test framework.

Bug: webrtc:10138
Change-Id: I77defc8e8c95cb244a695a9732980a47bd7a2e9b
Reviewed-on: https://webrtc-review.googlesource.com/c/116682
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26251}
2019-01-14 17:59:42 +00:00
Benjamin Wright
c6521a73dd Add benwright@webrtc.org to test/fuzzers/OWNERS.
I am planning to do a lot of work on adding additional fuzzing to WebRTC in Q1
of 2019. Given the limited number of available owners in this directory, and it
being non-prod I think this makes sense.

Bug: webrtc:10117
Change-Id: If2ad52fbce120c4d2bce51f4bfed99d83d78e6a5
Reviewed-on: https://webrtc-review.googlesource.com/c/117043
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26250}
2019-01-14 17:45:20 +00:00
Mirko Bonadei
4e5ffbe95d Remove unneeded deps from api:call_api.
Bug: webrtc:10198
Change-Id: I0c86ea3afd68b959774e2f41b8ca7957b9b6c138
Reviewed-on: https://webrtc-review.googlesource.com/c/117160
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26249}
2019-01-14 16:20:09 +00:00
Sam Zackrisson
235131303b Add noise suppression settings to AudioProcessing::Config
This Config configuration will eventually replace the AudioProcessing::noise_suppression() interface.

This also introduces a proxy NoiseSuppression, returned by AudioProcessing::noise_suppression.
Without this proxy, ApplyConfig could overwrite NS settings for clients who currently use noise_suppression(). For example, the following code will not preserve the noise suppression level:

apm->noise_suppression()->set_level(NoiseSuppression::kHigh);
auto cfg = apm->GetConfig();
apm->ApplyConfig(cfg);

The NoiseSuppression instance returned by noise_suppression() has no way to update the config inside APM, so GetConfig() will return an out-of-date config which is then re-applied. This CL adds a proxy that makes this update, by forwarding Enable() and set_level() calls to ApplyConfig().

Drive-by change: AudioProcessing::Config substructs are reordered to mirror the capture processing pipeline.

Tested: Ran ToT and this CL builds of audioproc_f and verified identical settings/aecdumps.
Bug: webrtc:9947
Change-Id: I823eade894be115c254d656562564108b2b63b1f
Reviewed-on: https://webrtc-review.googlesource.com/c/116521
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26248}
2019-01-14 16:17:19 +00:00
Ilya Nikolaevskiy
cd7c21bfad Ensure correct decoding for unfiltered KSVC streams
Set render timestamp for all frames in the superframe.

Bug: chromium:912122
Change-Id: Ic9604620da9fb4176ad5c21b95df47fca8ddea31
Reviewed-on: https://webrtc-review.googlesource.com/c/116985
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26247}
2019-01-14 16:06:38 +00:00
Mirko Bonadei
dcfe484f2e Remove definition of macro WEBRTC_THREAD_RR (it's unused).
Bug: None
Change-Id: Id0ba90502ca3acb9e44665fd4cf788679f2c6652
Reviewed-on: https://webrtc-review.googlesource.com/c/117163
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26246}
2019-01-14 15:01:38 +00:00
Anders Carlsson
45340ca824 Remove legacy video codec factories.
Removes the deprecated video codec factories and the related flag and
helper classes.

Bug: webrtc:7925
Change-Id: I0a6d1666ece9ad074fefc79b626ba241765e1b98
Reviewed-on: https://webrtc-review.googlesource.com/c/113940
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26245}
2019-01-14 14:56:40 +00:00
Danil Chapovalov
959e9b6b57 Publish rtc::QueuedTask in api as webrtc::QueuedTask
Bug: webrtc:10191
Change-Id: I7dcba28615c2f3e44442be410dedde15f5fb1deb
Reviewed-on: https://webrtc-review.googlesource.com/c/113502
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26244}
2019-01-14 14:48:12 +00:00
Artem Titov
645df9e3b5 Introduce Y4mFrameReader.
Bug: webrtc:10138
Change-Id: I213a4309a8a4b1a7afd296bf45566c9b3f9a215c
Reviewed-on: https://webrtc-review.googlesource.com/c/117301
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26243}
2019-01-14 14:03:08 +00:00
Karl Wiberg
a8c7326524 RefCounter::DecRef: Remove obsolete TODO and update comment
Bug: webrtc:10198
Change-Id: Icbcb849bdc789d9e3bb7ea6a902475a8263980bf
Reviewed-on: https://webrtc-review.googlesource.com/c/117300
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26242}
2019-01-14 14:01:36 +00:00
Artem Titov
ebd9770b05 Add extra documentation and minor fixes into video quality analyzer
Bug: webrtc:10138
Change-Id: Ia4ce55ca5ff92237c8d58811df8fd96cd650a5b0
Reviewed-on: https://webrtc-review.googlesource.com/c/116685
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26241}
2019-01-14 13:27:02 +00:00
Ilya Nikolaevskiy
13717842df Introduce DecodedFramesHistory class and use it in FrameBuffer
This is a space efficient way to store more records about decoded frames,
which is needed for long term references.

Bug: webrtc:9710
Change-Id: I051d59d34a966d48db011142466d9cd15304b7d9
Reviewed-on: https://webrtc-review.googlesource.com/c/116792
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26240}
2019-01-14 13:09:39 +00:00
Niels Möller
d0f0f68953 Refactor WebRtcVideoEngine tests to not use cricket::VideoCapturer, part 1.
Replaced with a combination of cricket::FakeFrameSource and
webrtc::test::FrameForwarder. This cl converts the first three
affected tests, the rest will follow.

Bug: webrtc:6353
Change-Id: I556f6b58f4ca81234ffae3dc6e1319f9c60a76ae
Reviewed-on: https://webrtc-review.googlesource.com/c/117260
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26239}
2019-01-14 12:34:51 +00:00
Niels Möller
5d7cf3d4eb Fix RTC_CHECK in neteq_rtp_fuzzer
The change in
https://webrtc-review.googlesource.com/c/116683 made the fuzzer crash
at startup.

Bug: chromium:921050, webrtc:10185
Change-Id: Ie3eb26e12b4ae9b29c1c424af0d3eb287b5f1a73
Reviewed-on: https://webrtc-review.googlesource.com/c/117261
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26238}
2019-01-14 12:24:02 +00:00
Niels Möller
1a86b78180 Delete StreamInterface methods GetPosition, SetPosition and Rewind
Keep methods on subclasses where they are used: FifoBuffer and
MemoryStream. Also FileStream gets to keep SetPosition, because it's
used by a downstream subclass.

Bug: webrtc:6424
Change-Id: If2a00855aba7c2c9dc0909cda7c8a8ef00e0b9af
Reviewed-on: https://webrtc-review.googlesource.com/c/116487
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26237}
2019-01-14 12:22:22 +00:00
Mirko Bonadei
eb0de2284e Remove explicit -fsanitize=memory from BUILD.gn.
There is no need to explicitly do this, because when the GN
argument is_msan is True, the -fsanitize=memory is added by the
toolchain.

Bug: None
Change-Id: Id21dbd56df65636ca038e1abccaada0f44abfbb0
Reviewed-on: https://webrtc-review.googlesource.com/c/116992
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26236}
2019-01-14 11:26:27 +00:00
Mirko Bonadei
dc71420e78 Remove deprecated code from logging.
Bug: webrtc:10198
Change-Id: I00c74751c5c71e515c3208a558677215ac547b78
Reviewed-on: https://webrtc-review.googlesource.com/c/116994
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26235}
2019-01-14 11:02:49 +00:00
Artem Titov
e893772559 Add new owners to the test/ directory.
Add Artem Titov and Niels Möller as additional owners of test/ directory.

Bug: webrtc:10138
Change-Id: If195f7dfa892c34c3f727523777f1cd99b796fcb
Reviewed-on: https://webrtc-review.googlesource.com/c/117223
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26234}
2019-01-14 10:55:37 +00:00
Sebastian Jansson
083fc3f7ed Adds nisse@ and sprang@ to test/OWNERS
Bug: None
Change-Id: If535cb41c128ccbb9e9550a2311645fadd44a2f8
Reviewed-on: https://webrtc-review.googlesource.com/c/117222
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26233}
2019-01-14 10:20:03 +00:00
Mirko Bonadei
b2e21b014c Remove rtc_enable_android_opensl.
This GN argument is unused.

Bug: webrtc:10198
Change-Id: I470e3725758fc7d6e80673842fd36fa2f22339a3
Reviewed-on: https://webrtc-review.googlesource.com/c/116993
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26232}
2019-01-14 10:00:40 +00:00
Gary Kacmarcik
2bb29f018a Set callback_ member at start of desktop capturer Start()
Some callback wrappers set the callback_ member at the start, but
most set it after calling any owned implementation of Start().

Setting it after the call means that the callback_ is not set up
for any callbacks that happen during the call.

This cl fixes that by setting the callback_ member before any
calls are made in Start().

Bug: chromium:916961
Change-Id: Id26f8cc98377ef217f928095834162f5526c1fdf
Reviewed-on: https://webrtc-review.googlesource.com/c/117040
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Commit-Queue: Gary Kacmarcik <garykac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#26231}
2019-01-11 21:16:22 +00:00
braveyao
b46235c1cc desktopCapture: skip non-responsive windows in the picker
This is a following up cl to the fix of crbug.com/911110. On Windows,
if an App window is suspended, it will block some queries (which
causes Chromium freezing and is fixed in Chromium.) and won't be captured.
So there is no reason to list it in the window capture picker.

Notes: this cl can't fix the case that the select app window becomes
non-responsive just before capturing starts. Hope that an extreme corner
case that can be safely ingored.

Bug: chromium:911110
Change-Id: I0d14872ac699d559f40b3bff70f048efc67ca5d9
Reviewed-on: https://webrtc-review.googlesource.com/c/115441
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26230}
2019-01-11 19:21:22 +00:00
Mirko Bonadei
977c82020c Rename AttachCurrentThreadIfNeeded to avoid clash with function.
A function with the same name exists here [1]. If the two headers are included
together this causes compilation errors.

[1] - https://cs.chromium.org/chromium/src/third_party/webrtc/sdk/android/src/jni/jvm.h?l=27&rcl=82f96e6a56e6230e98ee70de5178d7de69795c26

Bug: None
Change-Id: Icbc680f24a02ec66ea2b5e2b6584a53042cf45c7
Reviewed-on: https://webrtc-review.googlesource.com/c/116662
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26229}
2019-01-11 19:09:23 +00:00
Steve Anton
07dc1e8594 (6) Rename files to snake_case: remove scripts and temp files
Tbr: kwiberg@webrtc.org
Bug: webrtc:10159
Change-Id: I8e3c8b0d42bffd85e8b582adb492523c9fb18eaa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/117026
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26228}
2019-01-11 17:17:04 +00:00