19863 Commits

Author SHA1 Message Date
Gustaf Ullberg
84634b8634 Temporarily disabled failing death test.
Some death tests for AEC3 cause memory leaks on trybots. This CL
temporarily disables BlockProcessor.VerifyRenderBlockSizeCheck.

Bug: webrtc:8449,webrtc:6985
Change-Id: I2900a73f7c7d5bf0e8b58a20f9a40bd5d654629a
Reviewed-on: https://webrtc-review.googlesource.com/15500
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20431}
2017-10-25 15:24:46 +00:00
Alex Loiko
b9f536167c Removing undefined left shifts in AudioProcessing
This CL replaces 5 left shifts where the shifted value may be 
negative. The shifts are replaced with equivalent multiplications.

Bug: chromium:777231, chromium:776719, chromium:776624, chromium:776286
Change-Id: Ifb27d5506eac779e60f238432bdf9e4bc5b2da4c
Reviewed-on: https://webrtc-review.googlesource.com/14800
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20430}
2017-10-25 13:35:36 +00:00
Bjorn Terelius
a194e58e79 Move sequence_number_utils.h to rtc_base/
Bug: webrtc:8440
Change-Id: I36e70da6ce70b95db7d3fce8b0013bff5c795bfc
Reviewed-on: https://webrtc-review.googlesource.com/14860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20429}
2017-10-25 12:33:57 +00:00
Alex Loiko
ddfd9c5fd2 Fix AudioProcessing fuzzer crash.
When audio_processing_fuzzer runs with 'DCHECK_ALWAYS_ON', it crashes
when both AEC and AECM is enabled at the same time. This change
detects that case and fixes
https://clusterfuzz.com/v2/testcase-detail/6389429496446976.

It also removes an unnecessary safeguard that didn't allow fuzzing
with 8kHz input signals.

Bug: chromium:776358
Change-Id: I33c18a2a235e50ae410f7be24637872823e432eb
Reviewed-on: https://webrtc-review.googlesource.com/15320
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20428}
2017-10-25 12:00:36 +00:00
Karl Wiberg
ef52d8b859 Presubmit: Don't forget to warn when changing headers in subdirs of api/
Unlike all the other API directories, api/ is the root of an entire
tree of directories that are also API directories.

BUG=webrtc:8445

Change-Id: I218befe6fb6113b95599512f062ebe63abc98889
Reviewed-on: https://webrtc-review.googlesource.com/15321
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20427}
2017-10-25 11:53:16 +00:00
Mirko Bonadei
d71997941a Adding win_more_configs to CQ
Bug: chromium:759980
Change-Id: Ie33931eae67b90a648735856a26e3b86dcf7c0e1
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14960
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20426}
2017-10-25 11:51:36 +00:00
Kári Tristan Helgason
47d3a0197f Reenable some supressed warnings for the objc SDK.
Bug: webrtc:8441
Change-Id: I6b427dfc1fe275e274d042766e0850628cf19994
Reviewed-on: https://webrtc-review.googlesource.com/15000
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20425}
2017-10-25 11:17:36 +00:00
Karl Wiberg
7275e18439 Hide the internal AudioEncoderOpus class by giving it an "Impl" suffix
We've done this previously with the other audio encoders, but Opus had
to wait until all external users had been updated.

BUG=webrtc:7847

Change-Id: I70422d7b6c715f32a43bee88febcf6b6155e18b3
Reviewed-on: https://webrtc-review.googlesource.com/8000
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20424}
2017-10-25 10:19:06 +00:00
Erik Språng
7c8cca3dce Add check for send-side bwe before applying alr settings
Bug: webrtc:7694
Change-Id: I359b27b96239af4e067055fc77ea285824e69edf
Reviewed-on: https://webrtc-review.googlesource.com/14603
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20423}
2017-10-25 09:55:06 +00:00
Rasmus Brandt
58b72914d8 Log warning when receiving an H.264 containing IDR, but not SPS/PPS.
BUG=webrtc:8423

Change-Id: Ica8cb5062b9b8b4b7f2c0e569a5ce5d2dc9effc7
Reviewed-on: https://webrtc-review.googlesource.com/15220
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20422}
2017-10-25 09:45:06 +00:00
Ilya Nikolaevskiy
d79314f9f9 Reland "Add fine grained dropped video frames counters on sending side"
Add fine grained dropped video frames counters on sending side

4 new counters added to SendStatisticsProxy and reported to UMA and logs.

Bug: webrtc:8355
Change-Id: I1f9bdfea9cbf17cf38b3cb2f55d406ffdb06614f
Reviewed-on: https://webrtc-review.googlesource.com/14580
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20421}
2017-10-25 09:32:15 +00:00
Åsa Persson
f0c44672df Make VideoProcessor::Init/Release methods private and call from constructor/destructor.
TestConfig: Replace Print method with ToString and add test.

Bug: none
Change-Id: I9853cb16875199a51c5731d1cec326159751d001
Reviewed-on: https://webrtc-review.googlesource.com/14320
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20420}
2017-10-25 09:31:12 +00:00
Ilya Nikolaevskiy
c22a3a6a7d Refactor VP8 encoder creation logic
Now decision between using SimulcastEncoderAdapter and using VP8 encoder
is postponed before codec is initialized for VP8 internal codecs. This is done
be new VP8EncoderProxy class. New error code for codec initialization is used
to signal that simulcast parameters are not supported.

Bug: webrtc:7925
Change-Id: I3a82c21bf5dfaaa7fa25350986830523f02c39d8
Reviewed-on: https://webrtc-review.googlesource.com/13980
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20419}
2017-10-25 09:30:07 +00:00
Per Åhgren
7ddd46386a Balancing the transparency in AEC3 between saturating and low echo paths
This CL balances the NLP tradeoff in AEC3 to properly handle the cases
when the echo path is so strong that it saturates the echo and when it
is so weak that the echo is very low compared to nearend.

Bug: webrtc:8411, webrtc:8412, chromium:775653
Change-Id: I5aff74dfadd51cac1ce71b1cb935d68a5be6918d
Reviewed-on: https://webrtc-review.googlesource.com/14120
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20418}
2017-10-25 01:36:59 +00:00
Yuwei Huang
d9f99c1e7a Replace Atomic32 with std::atomic in video/
system_wrapper/Atomic32 has been deprecated (which is already just a
wrapper of std::atomic) in favor of platform-independent std::atomic
from C++11. This CL replaces all use of Atomic32 in video/

Bug: webrtc:8428
Change-Id: If4dab4909df06944c009e7b70141f58daef7be10
Reviewed-on: https://webrtc-review.googlesource.com/14720
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Yuwei Huang <yuweih@google.com>
Cr-Commit-Position: refs/heads/master@{#20417}
2017-10-24 23:40:29 +00:00
Steve Anton
9de3aaccc9 Reland "Enable the clang style plugin in rtc_base/"
This is a reland of Id63f0deb7b335690157ab157c35177b7836688da.

Original change's description:
> Enable the clang style plugin in rtc_base/
> 
> Enabled the plugin and cleaned up all issues it found.
> 
> Bug: webrtc:163
> Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
> Reviewed-on: https://webrtc-review.googlesource.com/14660
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20401}

Bug: webrtc:163
Change-Id: I861a5fe741215115b0e7a2be9c0786836ff5376e
Reviewed-on: https://webrtc-review.googlesource.com/15040
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20416}
2017-10-24 20:50:13 +00:00
Steve Anton
074dece085 Fix flaky DataChannel integration test
The DataChannel OPEN message is sent in-band in this test, and waiting
for the signaling state to change is not sufficient to guarantee that the
callee received this message

Bug: webrtc:8443
Change-Id: I76fa6348b6f8e1e70fb41a4e644aee805b2ef4de
Reviewed-on: https://webrtc-review.googlesource.com/15060
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20415}
2017-10-24 20:41:48 +00:00
Danil Chapovalov
398a7c67b1 Create skeleton of the rtcp transceiver.
RtcpTransceiver name reserved for thread-safe version that planned to
be wrapper of the RtcpTransceiverImpl

BUG=webrtc:8239

Change-Id: If8a3092eb1b8e4175e3efd23b52e1043cdabf19f
Reviewed-on: https://webrtc-review.googlesource.com/7920
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20414}
2017-10-24 19:35:38 +00:00
Steve Anton
d5585ca956 Move almost all references from WebRtcSession to PeerConnection
WebRtcSession is being merged into PeerConnection, and to make the
code review easier this is the first step towards achieving that.

Bug: webrtc:8323
Change-Id: I33778e46f20cb14089dff4328947868e207476bd
Reviewed-on: https://webrtc-review.googlesource.com/8760
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20413}
2017-10-24 17:59:20 +00:00
Steve Anton
c4faa9c4e1 Remove QUIC transport/data channel
Originally, the idea was to implement QUIC data channels as a
PeerConnection API. Now, the effort has shifted to implementing it as a
part of ORTC which will live in Chromium. Since this code has not been
maintained and is not currently being used, remove it to reduce
maintenance overhead while a copy will be retained in the Git history.

Bug: webrtc:8385
Change-Id: I2719c007a0de0118b67d41a425f900b66c52f65a
Reviewed-on: https://webrtc-review.googlesource.com/14100
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20412}
2017-10-24 16:14:18 +00:00
Ilya Nikolaevskiy
a0b66c7566 Enable cpu adaptation for screenshare in chrome as field trial
Bug: webrtc:8433
Change-Id: I1632cb0191b06e99d090a090bad9db20d7a81349
Reviewed-on: https://webrtc-review.googlesource.com/14980
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20411}
2017-10-24 15:07:38 +00:00
Dino Radaković
21360eb01e Add application extension field to RtpPacketReceived.
Bug: webrtc:8439
Change-Id: I372e90c81a68351d343554fb77ce6ef77d538e62
Reviewed-on: https://webrtc-review.googlesource.com/14820
Commit-Queue: Dino Radaković <dinor@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20410}
2017-10-24 14:22:18 +00:00
Rasmus Brandt
f7a3558f3e Add VideoProcessor tests verifying that H.264 keyframes contain SPS/PPS/IDR.
This CL adds an EncodedFrameChecker interface which can be used by users
of the VideoProcessor to inject customized per-frame checks to the
encoding/decoding pipeline. This currently has two uses:
- Verifying that the QP parser works correctly for VP8 and VP9, by comparing the
  parsed QP to that produced by libvpx.
- Verifying that our H.264 encoders always produce SPS/PPS/IDR in tandem.

TESTED=Galaxy S8, Pixel 2 XL, iPhone 7.
BUG=webrtc:8423

Change-Id: Ic3e401546e239a9ffaf2ed2907689cebb1127805
Reviewed-on: https://webrtc-review.googlesource.com/14559
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20409}
2017-10-24 13:58:38 +00:00
Rasmus Brandt
edf4ff7e0f Only treat H.264 frames containing SPS, PPS, and IDR as key frames.
This is protected behind a field trial, for controlled rollout.

TESTED=MediaCodec (Qualcomm + Exynos) and VideoToolbox senders.
BUG=webrtc:8423

Change-Id: Ibccefb3d374e4a44461d33e77eff754d8d752666
Reviewed-on: https://webrtc-review.googlesource.com/13863
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20408}
2017-10-24 11:51:18 +00:00
Bjorn Terelius
6984ad212c Print state of AcknowledgedBitrateEstimator in event_log_visualizer.
Bug: None
Change-Id: Iabf53be419ba94874619f417131674692172f6ba
Reviewed-on: https://webrtc-review.googlesource.com/14322
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20407}
2017-10-24 11:19:48 +00:00
Alessio Bazzica
45adbafefe APM-QA unit test bug fix
- temporary wav files created in temporary folder in TestExport.setUp()
- rename TestEchoPathSimulators -> TestExport

TBR=

Bug: webrtc:7494
Change-Id: I5b0c0675f539888e7392728055842c7772185921
Reviewed-on: https://webrtc-review.googlesource.com/14842
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20406}
2017-10-24 10:23:08 +00:00
Alex Loiko
c531af77c3 Fix 'Left shift cannot be represented in int32_t'.
In the legacy C part of AGC, an audio level 'cur_level' is represented as

  (1+frac) * 2^(31 - zeros)

The 'zeros' exponent part is used for looking up a gain value in a
table, and 'frac' is used for interpolating between two nearby table
values. Code snippet below:

  zeros = WebRtcSpl_NormU32((uint32_t)cur_level);
  tmp32 = (cur_level << zeros) & 0x7FFFFFFF;
  frac = (int16_t)(tmp32 >> 19);

In the second line, 'cur_level' is shifted upwards so that the leading
bit is '1', after which the leading bit is cleared. The result is
'frac' in Q31.

The compiler type of 'cur_level << zeros' is 'int32_t'. This is a
fuzzer error 'Left shift cannot be represented in int32_t', 
because the leading sign bit is 1. This CL changes the compiler type to
uint32_t.

Bug: chromium:776286
Change-Id: Ie29552b75e690057bd76fc88e747841b531e3802
Reviewed-on: https://webrtc-review.googlesource.com/14841
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20405}
2017-10-24 09:56:08 +00:00
Alessio Bazzica
330bf4076e WebRTC VAD wrapper for APM-QA
Alternative VAD based on the existing one in WebRTC.
It is used to extract VAD annotations in APM-QA.

TBR=

Bug: webrtc:7494
Change-Id: I6af412742f804631ad4f3ba3ccf71a30d74de984
Reviewed-on: https://webrtc-review.googlesource.com/14553
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20404}
2017-10-24 08:34:38 +00:00
Zhi Huang
ef48df9aeb Fix the issues in SrtpTransport.
In SrtpTransport::SetRtcpParams, send_rtcp_session_ should really call
SetSend rather than SetRecv.

Modified the LOG message in SrtpTransport::SetRtpParams.

Bug: webrtc:8436
Change-Id: Iccbfbc5ef2d4f4ebd5f876c3f6dcc81671fdc631
Reviewed-on: https://webrtc-review.googlesource.com/14562
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20403}
2017-10-24 01:08:18 +00:00
Steve Anton
a17ce27b20 Revert "Enable the clang style plugin in rtc_base/"
This reverts commit af551a1956d2ec3a388cf7e0e88c7ee2c2b61291.

Reason for revert: Fails to compile on Chromium FYI bot: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/21375

Original change's description:
> Enable the clang style plugin in rtc_base/
> 
> Enabled the plugin and cleaned up all issues it found.
> 
> Bug: webrtc:163
> Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
> Reviewed-on: https://webrtc-review.googlesource.com/14660
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20401}

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

Change-Id: Iafdf4bc1744a981b5d7d38e4a0c5b2d88753f00a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:163
Reviewed-on: https://webrtc-review.googlesource.com/14740
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20402}
2017-10-24 00:43:59 +00:00
Steve Anton
af551a1956 Enable the clang style plugin in rtc_base/
Enabled the plugin and cleaned up all issues it found.

Bug: webrtc:163
Change-Id: Id63f0deb7b335690157ab157c35177b7836688da
Reviewed-on: https://webrtc-review.googlesource.com/14660
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20401}
2017-10-23 23:25:17 +00:00
Edward Lemur
c5ee987d26 Stop using std::tr1
It's all in std now.

Bug: b/67839180
Change-Id: I95fc78e87055f5f7456e4fc1a80779e29e98db3d
Reviewed-on: https://webrtc-review.googlesource.com/14642
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20400}
2017-10-23 22:11:58 +00:00
Steve Anton
8a63f78ffa Rewrite the remaining few WebRtcSession tests.
Bug: webrtc:8222
Change-Id: I18e2a449b77cee2ecb8c0c2ae94c105247116458
Reviewed-on: https://webrtc-review.googlesource.com/8740
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20399}
2017-10-23 21:05:17 +00:00
Steve Anton
da6c095b30 Rewrite WebRtcSession data channel tests as PeerConnection tests
Bug: webrtc:8222
Change-Id: I1382a0727b04dfd33e79992841d885f640b3a032
Reviewed-on: https://webrtc-review.googlesource.com/8281
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20398}
2017-10-23 19:13:47 +00:00
Steve Anton
6f25b090d4 Reland "Rewrite WebRtcSession BUNDLE tests as PeerConnection tests"
This is a reland of b49b66109ea8a0a33a3192ebccf91366af2e49ae.

Original change's description:
> Rewrite WebRtcSession BUNDLE tests as PeerConnection tests
> 
> Bug: webrtc:8222
> Change-Id: Id47e4544dc073564ad7e63d02865ca80dd5a85ff
> Reviewed-on: https://webrtc-review.googlesource.com/8280
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20365}

Bug: webrtc:8222
Change-Id: If3dcd8090875c641881e2b9e92fc1db387ba1de5
Reviewed-on: https://webrtc-review.googlesource.com/14400
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20397}
2017-10-23 17:10:47 +00:00
Anders Carlsson
f3ee3b7478 Support RGB frames in RTCCVPixelBuffer
In addition to NV12 frames, also support cropping/scaling RGB frames and
converting RGB frames to i420.

This CL also removes the hardcoding of pixel format in
RTCCameraVideoCapturer. Instead, use the first available format for the
output device that our pipeline supports.

Bug: webrtc:8351
Change-Id: If479b4934c47cd2994936913f55e60fbbee3893b
Reviewed-on: https://webrtc-review.googlesource.com/8920
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20396}
2017-10-23 15:34:28 +00:00
henrika
a642efb6ee Ensures that iOS audio parameters are valid.
Bug: b/62909493
Change-Id: I0f7621f884f7cb9ae9262fb99d2cf33770b31344
Reviewed-on: https://webrtc-review.googlesource.com/14554
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20395}
2017-10-23 14:57:57 +00:00
Alessio Bazzica
ba68aabb06 Fix of integer overflow in WebRtcAecm_ProcessBlock / ApmTest.Process
This CL includes the patch from oprypin@webrtc.org, which is also applied
to the MIPS code (also affected), and the protobuf for ApmTest.Process
(audio_processing_unittest.cc), which used when WEBRTC_AUDIOPROC_FIXED_PROFILE
is set.

This change has been tested on mobile platforms.

Bug: webrtc:8200
Change-Id: Ic50a5ab57c16551397756b1fb473e1067b8e7ece
Reviewed-on: https://webrtc-review.googlesource.com/10811
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20394}
2017-10-23 14:25:37 +00:00
Niels Möller
f92d871f4f Let ChanneOwner use scoped_refptr and RefCountedBase.
Eliminates manual reference counting logic, and one of the few
remaining uses of the Atomic32 type.

Bug: webrtc:8270
Change-Id: Ibbbf227c710f7e8f68a98bac46d3e24b7cb5ee2f
Reviewed-on: https://webrtc-review.googlesource.com/14600
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20393}
2017-10-23 14:22:17 +00:00
Peter Hanspers
d92e0b5923 Fixing crash in Mac client when no cameras are available.
Bug: webrtc:8348
Change-Id: Ibf84ca76812d8c002fae9bd7bcf616abc53c78b1
Reviewed-on: https://webrtc-review.googlesource.com/7340
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20392}
2017-10-23 13:56:08 +00:00
Edward Lemur
93bc308f31 MB: Add Android Perf (swarming)
TBR=phoglund@webrtc.org

No-Try: true
Bug: chromium:755660
Change-Id: I9ff6304142bfd3b0ab4d2b1cfa46466685d58e09
Reviewed-on: https://webrtc-review.googlesource.com/14060
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20391}
2017-10-23 13:02:07 +00:00
Kári Tristan Helgason
fc313dcda6 Add prefix to codec name constants.
Bug: webrtc:8401
Change-Id: I8cd4685df3609e8b91a79b19789aadef484138d4
Reviewed-on: https://webrtc-review.googlesource.com/14140
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20390}
2017-10-23 12:49:17 +00:00
Peter Hanspers
47217364f5 Adding a KVO context to avoid issues with future super/sub-classing.
Bug: webrtc:8342
Change-Id: I457858056ffc7f33bbfb261153301ea2ccd71a51
Reviewed-on: https://webrtc-review.googlesource.com/6440
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20389}
2017-10-23 12:33:17 +00:00
Alex Loiko
bd92d8dd2a Forgotten 'memset' in NoiseSuppression.
The 'parametricNoise' field is never initialized in the
'WebRtcNs_InitCore' function that initializes a 'NoiseSuppressionC'
struct.

This leads to use of unititialized value, which may affect the audio
output and result of the noise suppressor.

The issue was found by the Chrome fuzzer:
https://clusterfuzz.com/v2/testcase-detail/4749034115039232

Bug: chromium:776673
Change-Id: I1c3fd80cff178f2d5917064ad07f88c7b9a29e7d
Reviewed-on: https://webrtc-review.googlesource.com/14556
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20388}
2017-10-23 12:11:47 +00:00
Henrik Lundin
8731176b92 NetEq: Fix an UBSan error
UBSan will trigger when shifting a negative value. This change avoids
that by replacing "x << 8" with "x * (1 << 8)".

Bug: chromium:666877
Change-Id: Ic89bd98e5a3feff35075df96b104b386cb4d8803
Reviewed-on: https://webrtc-review.googlesource.com/14552
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20387}
2017-10-23 11:56:47 +00:00
Niels Möller
9155e4986d New classes RefCounter and RefCountedBase.
Bug: webrtc:8270
Change-Id: Ibdab81b3fcbe6cba9ae24033f56c84b13c868b21
Reviewed-on: https://webrtc-review.googlesource.com/2684
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20386}
2017-10-23 11:46:47 +00:00
philipel
ccdfccaa6f New PacketQueue2 behind WebRTC-RoundRobinPacing field trial.
To make testing easier all of PacketQueues functions have been made virtual,
and PacketQueue2 now inherits PacketQueue. This change was made to minimize
changes in PacedSender.

Bug: webrtc:8287, webrtc:8288
Change-Id: I2593340e7cc7da617370b0a33e7b9deeb46d9487
Reviewed-on: https://webrtc-review.googlesource.com/9380
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20385}
2017-10-23 11:39:57 +00:00
Mark Brand
0c720505af Adding libFuzzer target for UlpFEC receiver.
Bug: none
Change-Id: I20e622455aee2f5aebad835e915d65f3475fbd17
Reviewed-on: https://webrtc-review.googlesource.com/14300
Commit-Queue: Mark Brand <markbrand@google.com>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20384}
2017-10-23 11:37:07 +00:00
Niels Möller
4d9ac5886d Use C++11 static initialization, replacing Atomic32 CompareExchange.
Bug: webrtc:8270
Change-Id: I328cec46be2a017a518946d19d21c242a067747d
Reviewed-on: https://webrtc-review.googlesource.com/14220
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20383}
2017-10-23 10:57:57 +00:00
Niels Möller
d6314d9fc1 Delete unused method PacedSender::AverageQueueTimeMs
It was used only in tests.

Bug: webrtc:8422
Change-Id: I67b58663c171202240d1c5a7c230d6cd4cd6149b
Reviewed-on: https://webrtc-review.googlesource.com/13102
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20382}
2017-10-23 09:06:17 +00:00