Commit Graph

11877 Commits

Author SHA1 Message Date
c379fcb248 Break out pacer thread from CongestionController to increase testability.
R=pbos@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1732863002 .

Cr-Commit-Position: refs/heads/master@{#11745}
2016-02-24 15:03:08 +00:00
23353ab465 Increase encoder-overuse thresholds for HW.
Puts thresholds in a range that works well on Nexus 5X (doesn't
seem to trigger overuse), while not disabling them for systems that have
a really-really hard time (>200% overuse).

BUG=webrtc:5577
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1730103003 .

Cr-Commit-Position: refs/heads/master@{#11744}
2016-02-24 14:20:06 +00:00
3e60bf0ff3 Adds low complexity audio mode for single core CPUs
BUG=webrtc:5538
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1723163002 .

Cr-Commit-Position: refs/heads/master@{#11743}
2016-02-24 13:27:22 +00:00
c2b785df5d Replace scoped_ptr with unique_ptr in webrtc/common_audio/
(This is a re-land---without the real_fourier.h changes---of 11716, which was reverted in 11726.)

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1731153002

Cr-Commit-Position: refs/heads/master@{#11742}
2016-02-24 13:22:40 +00:00
837b39e8f4 Fix ubsan warnings in BWE tests.
BUG=webrtc:5490
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1734583002 .

Cr-Commit-Position: refs/heads/master@{#11741}
2016-02-24 13:03:10 +00:00
f01633e667 Replace scoped_ptr with unique_ptr in webrtc/modules/audio_device/
BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1722083002

Cr-Commit-Position: refs/heads/master@{#11740}
2016-02-24 13:00:45 +00:00
58e08cbea8 Reset indexer upon initialization in AudioLoop.
The array is reset in Init() but not the indexer. This makes the start point undefined after Init() for re-initializing an AudioLoop. This can be fixed.

BUG=

Review URL: https://codereview.webrtc.org/1727353002

Cr-Commit-Position: refs/heads/master@{#11739}
2016-02-24 11:49:23 +00:00
2346c5a728 Add tools/mb to .gitignore
Should have been done in
https://codereview.webrtc.org/1730113002/

TBR=phoglund@webrtc.org

Review URL: https://codereview.webrtc.org/1727123003 .

Cr-Commit-Position: refs/heads/master@{#11738}
2016-02-24 11:44:26 +00:00
0665f0518f Fix OOB read in pacing test.
BUG=webrtc:5490

Review URL: https://codereview.webrtc.org/1727283002

Cr-Commit-Position: refs/heads/master@{#11737}
2016-02-24 11:04:22 +00:00
12f4cda086 Histograms for H264EncoderImpl/H264DecoderImpl
initialization and errors.

The stats are counts using enumeration, an instance of
H264EncoderImpl/H264DecoderImpl will report at most 1 Init
and 1 Error for its entire lifetime. This is to avoid
spamming reports if initialization or coding fails and it
retries in a loop. The Init stats will give us an idea of
usage counts for the encoder/decoder. The Error stats will
give us an idea of how many of these usages encounters some
type of problem, such as encode or decode errors.

- WebRTC.Video.H264EncoderImpl.Event:
  * kH264EncoderEventInit: Occurs at InitEncode.
  * kH264EncoderEventError: Occurs if any type of error
    occurs during initialization or encoding.
- WebRTC.Video.H264DecoderImpl.Event:
  * kH264DecoderEventInit: Occurs at InitDecode.
  * kH264DecoderEventError: Occurs if any type of error
    occurs during initialization, AVGetBuffer2 or decoding.

Chromium sibling CL:
https://codereview.chromium.org/1719273002/

BUG=chromium:500605, chromium:468365

Review URL: https://codereview.webrtc.org/1716173002

Cr-Commit-Position: refs/heads/master@{#11736}
2016-02-24 11:03:11 +00:00
0ab8e81e12 Move histograms for rtp receive counters to ReceiveStatisticsProxy
BUG=

Review URL: https://codereview.webrtc.org/1726503003

Cr-Commit-Position: refs/heads/master@{#11735}
2016-02-24 09:35:45 +00:00
b7261fd3ae iSAC float: Check for end of input buffer while decoding
Previously, we relied on the encoded stream to come to an end before
the end of the buffer. This is a bad idea, since it is possible to
craft a stream that fills the buffer while decoding to less than the
expected amount of data; without the new checks introduced here, this
causes the decoder to read past the end of the input buffer.

BUG=chromium:582471, chromium:587852

Review URL: https://codereview.webrtc.org/1721593004

Cr-Commit-Position: refs/heads/master@{#11734}
2016-02-24 09:34:33 +00:00
b01c7816a8 Added functional variants of Buffer::SetData and Buffer::AppendData.
They are invoked with the maximum size of the data to be added, and a
callable that generates that data, like this:

buffer.AppendData(10, [] (rtc::ArrayView<uint8_t> av) {
    for (uint8_t i = 0; i != 5; ++i)
      av[i] = i;

    return 5;
  });

The callable returns the number of bytes actually written, and the
final Buffer size will be adjusted accordingly. SetData and AppendData
both return the number of bytes added (i.e. the return value of the
callable).

These versions will be useful when converting AudioEncoder::Encode to use Buffer rather than raw pointers.

Also added a few tests for the new functionality.

Review URL: https://codereview.webrtc.org/1717273002

Cr-Commit-Position: refs/heads/master@{#11733}
2016-02-24 09:06:02 +00:00
17849fcc8b Reland of Add tools/mb to setup_links.py (patchset #1 id:1 of https://codereview.webrtc.org/1691723003/ )
Reason for revert:
Actually, we're going to need this soon, so I'm going to add it back again. We'll use it as part of the future GN migration.

Original issue's description:
> Revert of Add tools/mb to setup_links.py (patchset #1 id:1 of https://codereview.webrtc.org/1692543002/ )
>
> Reason for revert:
> Doesn't solve the problem and MB is actually hardcoded to use gyp_chromium when running in GYP mode, so it's better to clean this up for now.
>
> Original issue's description:
> > Add tools/mb to setup_links.py
> >
> > I believe this is needed in order to setup the iOS simulator bots
> > using the ios recipe module. We'll also most likely use MB in the future
> > when moving over from GYP to GN (since that's the sole purpose of the tool:
> > to make such a migration easier).
> >
> > BUG=chromium:498746
> > NOTRY=True
> > TBR=phoglund@webrtc.org
> >
> > Committed: https://crrev.com/68da769ab9579cac98fe4da7fb5da6dbb3842216
> > Cr-Commit-Position: refs/heads/master@{#11575}
>
> TBR=phoglund@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:498746
>
> Committed: https://crrev.com/67ca0e16501d5c9179d3003a38a7cefc7cd3e259
> Cr-Commit-Position: refs/heads/master@{#11577}

TBR=phoglund@webrtc.org
NOTRY=True

Review URL: https://codereview.webrtc.org/1730113002

Cr-Commit-Position: refs/heads/master@{#11732}
2016-02-24 08:04:51 +00:00
3e8043b01e Roll chromium_revision 4d6ba6e..b97dbeb (376909:376966)
Change log: 4d6ba6e..b97dbeb
Full diff: 4d6ba6e..b97dbeb

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1725803002

Cr-Commit-Position: refs/heads/master@{#11731}
2016-02-24 07:39:13 +00:00
1cfe94096c Added the agc digital_agc.c file to the ubsan blacklist
in order to suppress UBSan errors from the AGC.

BUG=webrtc:5124, webrtc:5487

Review URL: https://codereview.webrtc.org/1696153002

Cr-Commit-Position: refs/heads/master@{#11730}
2016-02-24 07:06:56 +00:00
f75d008235 Bitrate controller for VideoToolbox encoder.
Also fixes a crash on encoder Release.

BUG=webrtc:4081

Review URL: https://codereview.webrtc.org/1660963002

Cr-Commit-Position: refs/heads/master@{#11729}
2016-02-24 06:49:48 +00:00
0ed85b2ee3 Track pending ICE restarts independently for different media sections.
RFC 5245 allows an ICE restart to occur on only one media section.
However, before this CL, if an endpoint attempted to do this, we would
change our local ICE ufrag/pwd in every media section.

Also did some refactoring, turning the transport options from
mediasesion.h into a map.

Review URL: https://codereview.webrtc.org/1671173002

Cr-Commit-Position: refs/heads/master@{#11728}
2016-02-24 01:24:59 +00:00
8df5d4f15b Moved the AEC C code to be built using C++.
In order for the change to be reviewable, the
move was made into two steps consisting of the
first two patches in this CL.

Step 1 (patch set 1):
-Changed file types to use .cc
-Changed buildfiles to use the new files
-Changed C code inclusion to properly match the changed
 file formats (removed and added extern "C" declarations).
-Changed implicit void-> nonvoid casts that are
 illegal in C++ to be explicit.

Step 2 (patch set 2):
-Changed all the warnings reported when uploading the CL.
-The warnings about formatting of the assembly optimized
 code were not addressed though.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1713923002

Cr-Commit-Position: refs/heads/master@{#11727}
2016-02-23 22:35:03 +00:00
e80f9d0218 Revert of Replace scoped_ptr with unique_ptr in webrtc/common_audio/ (patchset #4 id:60001 of https://codereview.webrtc.org/1712513002/ )
Reason for revert:
Breaks downstream compilation using webrtc/common_audio/real_fourier.h. Let's chat tomorrow on how to coordinate a re-land.

Original issue's description:
> Replace scoped_ptr with unique_ptr in webrtc/common_audio/
>
> BUG=webrtc:5520
>
> Committed: https://crrev.com/79d7a499c0c3e1de8f5ad1138236f0386701053f
> Cr-Commit-Position: refs/heads/master@{#11716}

TBR=henrik.lundin@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1726043002

Cr-Commit-Position: refs/heads/master@{#11726}
2016-02-23 21:33:39 +00:00
9788534c77 Removing some redundant ostringstreams declarations.
These shadow a variable in an exterior scope, and cause unneeded overhead.

R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1714843003 .

Cr-Commit-Position: refs/heads/master@{#11725}
2016-02-23 20:58:23 +00:00
71d9721bdc iOS: Fix JSON for tryserver configurations.
Use boolean values instead of strings. With this landed
https://codereview.chromium.org/1723033003/ can be reverted.

BUG=498746
R=smut@google.com

Review URL: https://codereview.webrtc.org/1728743002 .

Cr-Commit-Position: refs/heads/master@{#11724}
2016-02-23 20:16:04 +00:00
fffa42b57e Replace scoped_ptr with unique_ptr in webrtc/audio/
BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1706183002

Cr-Commit-Position: refs/heads/master@{#11723}
2016-02-23 18:46:39 +00:00
f4d8441aed Disabled flaky tests
BUG=webrtc:5576

TBR=stefan@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1729533002 .

Cr-Commit-Position: refs/heads/master@{#11722}
2016-02-23 17:56:49 +00:00
77f3e0da5a Screen was flickering when the picker for desktop medias showed up in Windows platform. Keeping track of window size for each window so that BitBlt() instead of PrintWindow() will be called for windows with unchanged sizes.
BUG=472857

Review URL: https://codereview.webrtc.org/1705183002

Cr-Commit-Position: refs/heads/master@{#11721}
2016-02-23 16:57:54 +00:00
b1eaa8df0d Only average positive quality stats.
Removes addition of at least one zero sample in webrtc_perf_tests that
can skew stats differently depending on how often these stats are
updated. Unclear if this skewing is different between now and before.

BUG=chromium:585071, chromium:586216
R=sprang@google.com, sprang@webrtc.org

Review URL: https://codereview.webrtc.org/1727583003 .

Cr-Commit-Position: refs/heads/master@{#11720}
2016-02-23 16:30:55 +00:00
b68e02fd86 Revert of CQ: Disable linux_baremetal pending installation fix. (patchset #1 id:1 of https://codereview.webrtc.org/1710363002/ )
Reason for revert:
Bot is back up again but one test fails (https://bugs.chromium.org/p/chromium/issues/detail?id=589101), but is now disabled.

Original issue's description:
> CQ: Disable linux_baremetal pending installation fix.
>
> BUG=chromium:588108
> TBR=phoglund@webrtc.org
>
> Committed: https://crrev.com/c51d6947e4f2e9faabc5518f7f33aa60f4e1ae0b
> Cr-Commit-Position: refs/heads/master@{#11681}

TBR=phoglund@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:588108
NOTRY=True

Review URL: https://codereview.webrtc.org/1722953003

Cr-Commit-Position: refs/heads/master@{#11719}
2016-02-23 16:28:10 +00:00
80e12072cf Move congestion controller to a separate module.
This allows other projects to more easily depend on this.

The plan is to move remote_bitrate_estimator and bitrate_controller into this module and reduce the exposed interface to only a simplified version of congestion_controller.h.

No functional changes in this CL.

R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1718473002 .

Cr-Commit-Position: refs/heads/master@{#11718}
2016-02-23 12:30:51 +00:00
ba3e25e502 Simple RTCP receiver fuzzer.
Doesn't utilize the clock or any callbacks out of the receiver but
should still be useful to test input packet parsing.

BUG=webrtc:4771
R=danilchap@webrtc.org

Review URL: https://codereview.webrtc.org/1716143002 .

Cr-Commit-Position: refs/heads/master@{#11717}
2016-02-23 10:35:41 +00:00
79d7a499c0 Replace scoped_ptr with unique_ptr in webrtc/common_audio/
BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1712513002

Cr-Commit-Position: refs/heads/master@{#11716}
2016-02-23 09:26:52 +00:00
0be9df4293 Roll chromium_revision aa04eb9..4d6ba6e (376768:376909)
Add build_overrides/build.gni similar to
https://codereview.chromium.org/1686373002 in order for us
to have some targets generated only for WebRTC.

Change log: aa04eb9..4d6ba6e
Full diff: aa04eb9..4d6ba6e

Changed dependencies:
* src/buildtools: ef3e530..97b5c48
DEPS diff: aa04eb9..4d6ba6e/DEPS

No update to Clang.

TBR=tkchin@webrtc.org
BUG=webrtc:5453

Review URL: https://codereview.webrtc.org/1720353002 .

Cr-Commit-Position: refs/heads/master@{#11715}
2016-02-23 06:19:06 +00:00
dc0e381eb5 Add more camera resolutions to camera scaling slider.
Plus allow to use loopback adapter in loopback call.

BUG=b/26287075
R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1720283002 .

Cr-Commit-Position: refs/heads/master@{#11714}
2016-02-23 00:48:36 +00:00
18fcbcf48c Use VAD to get a better speech power estimation in the IntelligibilityEnhancer
R=henrik.lundin@webrtc.org, turaj@webrtc.org

Review URL: https://codereview.webrtc.org/1693823004 .

Cr-Commit-Position: refs/heads/master@{#11713}
2016-02-22 23:57:45 +00:00
67b81f92f4 Tune QP thresholds for HW H.264 encoder.
Boost low QP threashold to 21, otherwise VGA encoding never
scales up even at 2.5 Mbps.
Also reduce high QP threshold to scale down faster.

BUG=b/26504665
R=jackychen@google.com

Review URL: https://codereview.webrtc.org/1717763003 .

Cr-Commit-Position: refs/heads/master@{#11712}
2016-02-22 23:05:26 +00:00
18f9ddd7b3 Roll chromium_revision 14bbbf2..aa04eb9 (376710:376768)
Change log: 14bbbf2..aa04eb9
Full diff: 14bbbf2..aa04eb9

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1721013002

Cr-Commit-Position: refs/heads/master@{#11711}
2016-02-22 20:28:28 +00:00
a094fd1550 RTT intermediate calculation use ntp time instead of milliseconds.
Compact NTP representation was designed exactly for that purpose: calculate RTT. No need to map to ms before doing arithmetic on this values.
  Because of this change there is no need to keep mapping between compact ntp presentation and milliseconds in the RTCPSender.

BUG=webrtc:5565
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1491843004 .

Cr-Commit-Position: refs/heads/master@{#11710}
2016-02-22 17:59:47 +00:00
723ead844b Move simple RtpRtcp calls to VideoSendStream.
Moves RtpRtcp module pointers into VideoSendStream and uses them for
simple calls that were only forwarded by ViEChannel.

BUG=webrtc:5494
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1693553002 .

Cr-Commit-Position: refs/heads/master@{#11709}
2016-02-22 14:14:09 +00:00
2e67ae1222 Roll chromium_revision fbc4ecf..14bbbf2 (376680:376710)
Change log: fbc4ecf..14bbbf2
Full diff: fbc4ecf..14bbbf2

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1716153002

Cr-Commit-Position: refs/heads/master@{#11708}
2016-02-22 13:14:45 +00:00
eee7d9e8e8 iOS: Promote iOS simulator testing to main waterfall.
* Move JSON files from client.webrtc.fyi -> client.webrtc to match
  to-be-switched builders (requires buildbot-side changes + master restart).
* Remove Goma configs from trybots (previously done for the commitbots).

BUG=chromium:588590
TBR=smut@google.com

Review URL: https://codereview.webrtc.org/1720713003 .

Cr-Commit-Position: refs/heads/master@{#11707}
2016-02-22 11:49:08 +00:00
7ddc9deb4d Reduce the scope of rtc::Event::Wait() locking.
Reduces contention on event_mutex_ while taking gettimeofday(). Impact
highly hypothetical at this point, but less locking is better.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1716563003 .

Cr-Commit-Position: refs/heads/master@{#11706}
2016-02-22 10:32:02 +00:00
d1f718bb1e Changes in the wav_file implementation in order to
avoid clang warnings.
The changes does not change any of the functionality
in the code.

BUG=webrtc:163

Review URL: https://codereview.webrtc.org/1710083006

Cr-Commit-Position: refs/heads/master@{#11705}
2016-02-22 10:13:32 +00:00
253d8fa82c Simplified the function for detecting whether capture data is modified.
BUG=

Review URL: https://codereview.webrtc.org/1701843004

Cr-Commit-Position: refs/heads/master@{#11704}
2016-02-22 10:00:13 +00:00
ada8fe5c00 iOS: Don't run modules_unittests on iOS simulator
This is the only failing test of the currently deployed
at the iOS Simulator bots. Let's disable it so we can promote
the passing tests to the main waterfall and the trybots.

BUG=4755
TBR=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1722523002 .

Cr-Commit-Position: refs/heads/master@{#11703}
2016-02-22 06:34:38 +00:00
0077272a47 Roll chromium_revision 4101b15..fbc4ecf (376664:376680)
Change log: 4101b15..fbc4ecf
Full diff: 4101b15..fbc4ecf

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1719813002

Cr-Commit-Position: refs/heads/master@{#11702}
2016-02-22 04:09:08 +00:00
da1d656f9e Roll chromium_revision 789f25d..4101b15 (376663:376664)
Change log: 789f25d..4101b15
Full diff: 789f25d..4101b15

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1713423002

Cr-Commit-Position: refs/heads/master@{#11701}
2016-02-21 20:04:12 +00:00
b9f943d60d Roll chromium_revision 1120bd3..789f25d (376660:376663)
Change log: 1120bd3..789f25d
Full diff: 1120bd3..789f25d

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1720693002

Cr-Commit-Position: refs/heads/master@{#11700}
2016-02-21 12:04:10 +00:00
a18f638ab1 Include "sharedexclusivelock.cc" in Chromium GN build.
Landing https://codereview.webrtc.org/1675923002/ broke some Chromium FYI bots
because the GN build didn't include "sharedexclusivelock.cc" in that scenario.

This CL moves the files from the non-Chromium block into the common sources
list.

BUG=webrtc:5496

Review URL: https://codereview.webrtc.org/1712773003

Cr-Commit-Position: refs/heads/master@{#11699}
2016-02-21 09:56:23 +00:00
fa830dcc28 Roll chromium_revision 9dc1788..1120bd3 (376655:376660)
Change log: 9dc1788..1120bd3
Full diff: 9dc1788..1120bd3

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1720673002

Cr-Commit-Position: refs/heads/master@{#11698}
2016-02-21 04:12:43 +00:00
bf811752ad Roll chromium_revision 5618e25..9dc1788 (376642:376655)
Change log: 5618e25..9dc1788
Full diff: 5618e25..9dc1788

No dependencies changed.
No update to Clang.

TBR=

Review URL: https://codereview.webrtc.org/1715193002

Cr-Commit-Position: refs/heads/master@{#11697}
2016-02-20 20:05:00 +00:00
330d3d82a0 Roll chromium_revision fa5d546..5618e25 (376142:376642)
Change log: fa5d546..5618e25
Full diff: fa5d546..5618e25

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/894a47d..6d49157
* src/third_party/libvpx_new/source/libvpx: f288c94..89cc682
DEPS diff: fa5d546..5618e25/DEPS

No update to Clang.

TBR=marpan@webrtc.org, stefan@webrtc.org,

Review URL: https://codereview.webrtc.org/1719643002

Cr-Commit-Position: refs/heads/master@{#11696}
2016-02-20 12:12:36 +00:00