Commit Graph

6455 Commits

Author SHA1 Message Date
e526974759 Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9891}
2015-09-08 12:13:25 +00:00
a9839dd037 Use of override keyword to fix chromium trybot
TBR=tommi@webrtc.org, guidou@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9890}
2015-09-08 12:10:15 +00:00
f325d2118c Disable VideoSendStreamTest.VP9FlexMode.
Test is racy and fails on bots.

BUG=webrtc:4969
R=pbos@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9888}
2015-09-08 10:47:14 +00:00
c3aa12d5f2 Add utility class for unwrapping 16 bit sequence numbers
Unwrap uint16_t to int64_t, based on delta and last sequence number.
This can make application logic, putting packets in maps etc, much
simpler.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9887}
2015-09-08 10:43:22 +00:00
caa5f4b3d2 Update to the neteq_rtpplay utility to support RtcEventLog input files.
This CL adds support for simulating neteq using stored RTP packets as well as calls to GetAudio from an RtcEventLog, using the stored timestamps.
The type of the input file is detected automatically.
BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#9886}
2015-09-08 10:28:53 +00:00
f3ecdb981c Replacing SSLIdentity* with scoped_refptr<RTCCertificate> in TransportChannel layer.
BUG=webrtc:4927
R=tommi@webrtc.org, torbjorng@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9885}
2015-09-08 10:12:07 +00:00
7f6a6fc0b2 Enabling spatial layers in VP9Impl. Filter layers in the loopback test.
Handling the case when encoder drops only the higher layer.
Added options to screenshare loopback test to discard high temporal or spatial layers (to view the lower layers).

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

Cr-Commit-Position: refs/heads/master@{#9883}
2015-09-08 09:40:36 +00:00
e313e02783 Remove unnecessary fields from VoE SharedData.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9882}
2015-09-08 09:16:11 +00:00
746210f46d Remove unused overuse detection metric (capture jitter).
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9881}
2015-09-08 08:52:54 +00:00
3dfe5d3d41 Remove arraysize.h gcc hack and Chromium override.
Part of work removing dependency on Chromium's base.

BUG=468375 (in particular comment #37)

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

Cr-Commit-Position: refs/heads/master@{#9880}
2015-09-08 07:57:41 +00:00
81db11aa50 copy-red: Fill an rtc::Buffer with bytes the easy way
The easy way also happens to be more efficient if we have to
reallocate, but that's a minor concern here.

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

Cr-Commit-Position: refs/heads/master@{#9876}
2015-09-08 03:14:40 +00:00
86d907cffd Refactor the AudioDevice for iOS and improve the performance and stability
This CL contains major modifications of the audio output parts for WebRTC on iOS:
- general code cleanup
- improves thread handling (added thread checks, remove critical section, atomic ops etc.)
- reduces loopback latency of iPhone 6 from ~90ms to ~60ms ;-)
- improves selection of audio parameters on iOS
- reduces complexity by removing complex and redundant delay estimates
- now instead uses fixed delay estimates if for some reason the SW EAC must be used
- adds AudioFineBuffer to compensate for differences in native output buffer size and
  the 10ms size used by WebRTC. Same class as is used today on Android and we have unit tests for
  this class (the old code was buggy and we have several issue reports of crashes related to it)

Similar improvements will be done for the recording sid as well in a separate CL.
I will also add support for 48kHz in an upcoming CL since that will improve Opus performance.

BUG=webrtc:4796,webrtc:4817,webrtc:4954, webrtc:4212
TEST=AppRTC demo and iOS modules_unittests using --gtest_filter=AudioDevice*
R=pbos@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9875}
2015-09-07 14:10:10 +00:00
05cfcd3469 Full stack graphs
Updating full stack test to optionally save metadata for each frame and save it
to a file with given filename (controlled from the new full_stack_samples
executable).
Adding a Python script that reads the output generated by full stack test
and plots the graph(s).

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

Cr-Commit-Position: refs/heads/master@{#9874}
2015-09-07 13:04:23 +00:00
110443c1ec Fix for frame resolution in encoded frame callback.
Scaled resolution for down scaled frames by the quality scaler is not used.

BUG=webrtc:4966
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9873}
2015-09-07 13:04:00 +00:00
c0c7d2e1ef GN: Fix invalid configuration for Android GCC build.
The disabling of the sin,cos,sinf,cosf functions had the wrong
condition for GN. This fixes that and also makes the condition
in common.gypi a bit more readable.

BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9871}
2015-09-07 10:57:57 +00:00
88703d756a Disable base/logging.h stderr logs by default for webrtc/ tests.
base/logging.h dumped to stderr by default in debug mode, but webrtc
"trace" (via system_wrappers/../logging.h) has that feature disabled by
default. This makes the two consistent.

Bonus: log the filename:line in base/logging.h, which exists in the
system_wrappers variant.

TEST=neteq_impl.cc logs (which use base/logging.h) no longer appear in
debug mode, unless --logs=true is passed. Filenames appear correctly.

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

Cr-Commit-Position: refs/heads/master@{#9868}
2015-09-07 07:35:03 +00:00
9eb1365939 Revert of purge nss files and dependencies (patchset #1 id:1 of https://codereview.webrtc.org/1313233005/ )
Reason for revert:
It looks like this broke the FYI bots. I tried updating libjingle_nacl.gyp, but the IOS build still failed because in Chrome it's configured to use NSS. See https://codereview.chromium.org/1316863012/.

Original issue's description:
> purge nss files and dependencies
>
> BUG=webrtc:4497
>
> Committed: https://crrev.com/5647a2cf3db888195c928a1259d98f72f6ecbc15
> Cr-Commit-Position: refs/heads/master@{#9862}

TBR=tommi@webrtc.org,kjellander@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#9867}
2015-09-05 11:39:24 +00:00
fd4df46fc6 Fix build when using Xcode 7 which contains .tbd files instead of .dylib
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9866}
2015-09-05 03:01:08 +00:00
d5ae6ae6b5 Fix ScreenCapturerWinGdi to handle DesktopFrameWin::Create() errors.
DesktopFrameWin::Create() may return nullptr when it fails to allocate
windows bitmap. ScreenCapturerWinGdi wasn't handling that case properly.

BUG=527660

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

Cr-Commit-Position: refs/heads/master@{#9865}
2015-09-05 01:38:15 +00:00
5647a2cf3d purge nss files and dependencies
BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#9862}
2015-09-04 15:12:00 +00:00
242d6384c4 VP9 codec controls for screensharing
Telling the encoder to adjust the parameters for the screen content.
Also, telling the encoder to skip the encoding of very flat/low content blocks. For now only for screensharing. (number 8 in VP8E_SET_STATIC_THRESHOLD is correct)

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

Cr-Commit-Position: refs/heads/master@{#9860}
2015-09-04 13:13:29 +00:00
318673cf5a Update SendTimeHistory to store complete PacketInfo, not just send time
This will be used for the send side bitrate estimation. Storing various
meta-data about packets that can be retreived when arrival time feeback
arrives.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#9859}
2015-09-04 11:43:23 +00:00
c8a1cccd0a Fixed base time in TransportFeedback message writing.
Value was incorrectly truncated to 16 bits when serializing the message.
Fixed, with added regression tests.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9858}
2015-09-04 11:38:17 +00:00
d415629de7 Remove AsyncHttpRequest, AutoPortAllocator, ConnectivityChecker, and HttpPortAllocator.
BUG=webrtc:4149, webrtc:4456
R=deadbeef@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9857}
2015-09-04 11:21:14 +00:00
2f9fd5ddb9 Changed LogRtpHeader to read the header length from the packet instead of requiring an extra argument.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9856}
2015-09-04 10:39:51 +00:00
b6b0b9268e Rate limit the low bandwidth / min bitrate warning to once every 10 seconds.
R=terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9855}
2015-09-04 10:05:02 +00:00
be9b7b6881 Make sure ByteReader and ByteWriter classes (and their specializations) don't perform operations that have implementation-specific or undefined behavior.
Pitfalls:

* Left shift of signed integer has undefined behavior
* Right-shift of signed integer has platform-specific behavior is value is negative
* Cast from unsigned to signed has undefined behavior if value is negative

BUG=webrtc:4824

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

Cr-Commit-Position: refs/heads/master@{#9854}
2015-09-04 08:07:01 +00:00
47d78cc8ad Pass the encoder's internal source property through to video_sender to request a keyframe from the external encoder
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9853}
2015-09-04 01:24:53 +00:00
9743d076ac Reland "Adding unittests to AudioConferenceMixer."
Previous code review, see
https://codereview.chromium.org/1257583011/

Did not pass Mac bots since vector(size_t n) needs copy ctor before C++11.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9851}
2015-09-03 20:17:20 +00:00
6ee69aa94c Add scrolling screenshare test to full_stack perf tests.
BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9850}
2015-09-03 13:58:17 +00:00
7fabd46a89 Don't set V bit in flexible mode
BUG=webrtc:4914

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

Cr-Commit-Position: refs/heads/master@{#9848}
2015-09-03 11:42:37 +00:00
4df08ff374 GN: Fix compilation with NaCl toolchain
BUG=512899
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9846}
2015-09-02 21:22:48 +00:00
6aae75728a On FATAL, log which unsupported encoder the caller wanted us to create
Hopefully, this will make it easier to figure out what's wrong the
next time this happens.

BUG=526478

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

Cr-Commit-Position: refs/heads/master@{#9844}
2015-09-02 12:05:06 +00:00
71cfe690b7 For TestResolverShutdown, use address that can't be resolved.
This test only currently works because stun.l.google.com has an IPv4
address and the TURN port is created with an IPv6 address. But the test
would start failing if/when it starts providing an IPv6 address. Which
may already be happening, as indicated by a recent test failure.

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

Cr-Commit-Position: refs/heads/master@{#9841}
2015-09-02 02:01:40 +00:00
abd0d1a3f7 Handle all RTCICEConnectionState values in ARDVideoCallViewController
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9839}
2015-09-01 22:35:42 +00:00
4d2f4d1c69 - Make shared EGL context used for HW video decoding member
of decoder factory class.
- Add new Peer connection factory method to initialize shared
EGL context.

This provides an option to use single peer connection factory
in the application and create peer connections from the same
factory and reinitialize shared EGL context for video
decoding HW acceleration.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9838}
2015-09-01 22:04:21 +00:00
098c1de578 Fixes for PNaCl build of remoting client plugin with GN.
1. Added support for PNaCl in base.
2. Separated parts of desktop_capture module that need to be
   compiled for PNaCl.

BUG=512899
R=jiayl@chromium.org, jiayl@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9836}
2015-09-01 18:36:50 +00:00
97579a4e12 Add option to enable ECDSA key for Java API.
Review URL: https://codereview.webrtc.org/1312293003

Cr-Commit-Position: refs/heads/master@{#9835}
2015-09-01 18:31:34 +00:00
0f9af01456 Added send stream test case for VP9 header.
BUG=webrtc:4914

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

Cr-Commit-Position: refs/heads/master@{#9831}
2015-09-01 14:01:54 +00:00
05f71fcb61 NetEq: Fixing a corner case with depleted sync buffer
In some cases, the number of samples (per channel) in NetEq's sync
buffer could fall below the allowed minimum (5 samples for narrowband,
scaling for other rates). If the number of samples extracted from the
buffer was smaller than the desired number, an error is
returned. However, if the decoder returns fewer samples than expected,
it could happen that the sync buffer level falls under the minimum,
but enough samples are extracted. This triggered an assert. With this
change, the minimum level of the sync buffer is always enforced.

A test is implemented to trigger the problem. It made the assert fire
without this fix, but it now passes.

BUG=webrtc:4840
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9828}
2015-09-01 09:52:06 +00:00
521875a9a4 Use RtcpPacket to send APP in RtcpSender
BUG=webrtc:2450
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9827}
2015-09-01 08:11:36 +00:00
e551f12a41 Revert "Adding unittests to AudioConferenceMixer."
This reverts commit 22c2729607964aa38d6cb4e521994453b6a271c4.

TBR=henrik.lundin@webrtc.org,
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9826}
2015-09-01 07:54:49 +00:00
22c2729607 Adding unittests to AudioConferenceMixer.
Unit tests around AudioConferenceMixer was severely missing. This CL is to add some tests.

BUG=
R=ajm@chromium.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9825}
2015-09-01 07:33:37 +00:00
b7306ae6fe Revert "Avoiding size_t in MIPS."
This reverts commit 32e2f461b13c530d34f9c434e7e76da6ff3eda83.

BUG=526716
TBR=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9824}
2015-08-31 18:44:05 +00:00
32e2f461b1 Avoiding size_t in MIPS.
TBR=pkasting@chromium.org

BUG=526716

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

Cr-Commit-Position: refs/heads/master@{#9823}
2015-08-31 15:40:17 +00:00
2c27430545 Print some output in long perf tests, to keep them alive
At least Android try bots seem to have a timeout that will forcibly shut
down the executable if no output has been observed for 60s. Since full
stack test typically run for 60s we need to output give some to avoid
racy shutdown.

BUG=chromium:513170
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9822}
2015-08-31 15:21:22 +00:00
0f4b3731c3 Stylizing AudioConferenceMixer.
Cleaning AudioConferenceMixer APIs to match Chromium style guide.

Main changes:
1. change all mutable references to pointers
2. add const to all non-mutable references
3. add const to as many methods as possible

BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9821}
2015-08-31 14:04:44 +00:00
ca28fdcf9f Use RtcpPacket to send XR (RTRR, DLRR, VOIP) in RtcpSender
BUG=webrtc:2450
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9820}
2015-08-31 12:01:08 +00:00
c92c23d99a Roll chromium_revision f8d6ba9..a28d8d5 (337800:346100)
Relevant changes:
* src/buildtools: ecc8e25..565d04e
* src/testing/gmock: 2976396..0421b6f
* src/testing/gtest: 23574bf..9855a87
* src/third_party/android_tools: 21f4bcb..4238a28
* src/third_party/boringssl/src: de24aad..12fe1b2
* src/third_party/icu: c81a1a3..6b3ce81
* src/third_party/libjpeg_turbo: f4631b6..631e2dd
* src/third_party/libsrtp: 9c53f85..502e81a
* src/third_party/libvpx: aa9b5f1..a208eca
* src/third_party/libyuv: 6dde4f1..3c4f573
* src/third_party/openmax_dl: 22bb108..2eb98d8
* src/tools/grit: 1dac9ae..15d48e3
* src/tools/gyp: 5122240..6ee91ad
* src/tools/swarming_client: b39a448..2866a22
Details: f8d6ba9..a28d8d5/DEPS

Clang version changed 245402:245965
Details: f8d6ba9..a28d8d5/tools/clang/scripts/update.sh

BUG=None
R=glaznev@webrtc.org
TBR=glaznev@chromium.org, henrika@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9818}
2015-08-31 09:30:29 +00:00
3c4ef29140 NetEq: Allow negative shift in BackgroundNoise::SaveParameters
This change allows a shift factor to be negative.  This is the way it
was in the old (NetEq3) code; see
4d363ae305/webrtc/modules/audio_coding/neteq/bgn_update.c,
lines 183-188.

Some input signals can lead to negative shifts, and would then trigger
an assert. The assert is now removed.

BUG=webrtc:4840
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9816}
2015-08-31 08:18:45 +00:00