13149 Commits

Author SHA1 Message Date
hbos
e29352bb34 Refactor certificate stats collection, added SSLCertificateStats.
The code that extracts certificate stats from an SSLCertificate and its
certificate chain is moved into SSLCertificate::GetStats. The stats
collector code loops through the resulting SSLCertificateStats and
creates the StatsReports for those stats.

This will allow the new stats collector to reuse GetStats in a future
CL.

BUG=chromium:627816, chromium:629436

Review-Url: https://codereview.webrtc.org/2259283002
Cr-Commit-Position: refs/heads/master@{#13917}
2016-08-25 10:52:46 +00:00
magjed
2ab012c41e Implement CVO for iOS capturer
The rotation is currently always applied by AVFoundation by
reconfiguring the capture connection video orientation. This CL sets the
rotation field in the frame instead. This avoids the current flash in
the video when the device is rotated, and also avoids reconfiguring the
local encoder and remote decoder when the device is rotated.

BUG=b/30651939

Review-Url: https://codereview.webrtc.org/2271583003
Cr-Commit-Position: refs/heads/master@{#13916}
2016-08-25 10:25:13 +00:00
ehmaldonado
19319a3a2e Add missing "//build/config/sanitizers:deps" to executable targets.
BUG=webrtc:6215
NOTRY=True

Review-Url: https://codereview.webrtc.org/2278723004
Cr-Commit-Position: refs/heads/master@{#13915}
2016-08-25 09:44:11 +00:00
brandtr
00e45bb09d Move InsertZeroColumns and CopyColumn to ::internal.
These functions operate directly on the packet masks, and are thus not directly
involved in the FEC encoding/decoding operation. The ::internal namespace is used
for packet mask-related functions, and will be renamed later on.

This CL should have no impact on functionality or performance.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2269893002
Cr-Commit-Position: refs/heads/master@{#13914}
2016-08-25 09:36:09 +00:00
kwiberg
7a770e0a61 GN build rules for four audio processing test executables
click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
transient_suppression_test.

This is a re-land of https://codereview.webrtc.org/2267403003

BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2273783004
Cr-Commit-Position: refs/heads/master@{#13913}
2016-08-25 09:33:36 +00:00
henrik.lundin
8a6a600c16 Make neteq_rtpplay parse RTP header extensions
This removes the warning printouts about unknown header extensions.

BUG=webrtc:2692

Review-Url: https://codereview.webrtc.org/2266403005
Cr-Commit-Position: refs/heads/master@{#13912}
2016-08-25 07:46:41 +00:00
aleloi
5f09980bb5 Removed inline definitions and added destructors to fix chromium-style.
BUG=webrtc:163

Review-Url: https://codereview.webrtc.org/2272563004
Cr-Commit-Position: refs/heads/master@{#13911}
2016-08-25 07:45:40 +00:00
henrik.lundin
549d80b979 NetEq: only update current_rtp_payload_type_ when validated
The current_rtp_payload_type_ should only be updated when the packet is
actually inserted into the packet buffer, since then the payload type
has been validated. This CL removes an unvalidated setting of this value
that happened after SSRC change or upon first packet.

BUG=webrtc:5447

Review-Url: https://codereview.webrtc.org/2270793003
Cr-Commit-Position: refs/heads/master@{#13910}
2016-08-25 07:44:32 +00:00
deadbeef
fe8f48962a Fix setting the MTU for SCTP.
It was being set at the wrong point in time and with the address
parameter missing, so it wasn't having any effect.

Review-Url: https://codereview.webrtc.org/2237073002
Cr-Commit-Position: refs/heads/master@{#13909}
2016-08-24 23:27:00 +00:00
deadbeef
b60a8198f1 Fixing inconsistency with behavior of ClearGettingPorts.
I found that, depending on when it's called, ClearGettingPorts may or
may not signal CandidatesAllocationDone, and may or may not continue
to gather more ports/candidates.

I'm fixing this inconsistency by having it always signal
CandidatesAllocationDone (if needed), and always stop gathering until
the next network change event. This makes it equivalent to
StopGettingPorts, except that it allows gathering to be restarted if
a network change occurs.

I also found that P2PTransportChannel was signaling "gathering
complete" even when continual gathering was enabled. This wasn't caught
by the unit tests due to the inconsistency of ClearGettingPorts as
described above.

Review-Url: https://codereview.webrtc.org/2124283003
Cr-Commit-Position: refs/heads/master@{#13908}
2016-08-24 22:15:07 +00:00
deadbeef
824f586213 Fixing segfault caused by TurnServer.
TURN server sockets were being destroyed asynchronously, which could
happen after the TurnServer itself (and even the VirtualSocketServer
used by the sockets) were destroyed.

This is fixed easily by using an AsyncInvoker (to ensure the async
operation doesn't occur after its initiator is destroyed), and keeping
the objects waiting for deletion in a unique_ptr vector.

Review-Url: https://codereview.webrtc.org/2264343002
Cr-Commit-Position: refs/heads/master@{#13907}
2016-08-24 22:06:58 +00:00
Taylor Brandstetter
1d7a637340 Fixing off-by-one error with max SCTP id.
Normally, when creating a data channel with an out-of-range ID,
createDataChannel returns nullptr. But due to an off-by-one
error, creating a data channel with ID 1023 returns a data channel
that silently fails later.

This probably occurred because it wasn't clear whether "kMaxSctpSid" was an
inclusive or exclusive maximum, so I changed the value to
"kMaxSctpStreams". This wasn't caught by unit tests because the
off-by-one error persisted to the unit tests as well.

Also getting rid of some dead code. We were adding SCTP streams to the
ContentDescription object but they weren't being used.

BUG=619849
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13906}
2016-08-24 20:15:35 +00:00
deadbeef
fcada90485 Fixing timestamp comparison assert.
Wasn't handling wrap-around properly. Noticed this because a test
failed.

TBR=henrik.lundin@webrtc.org

Review-Url: https://codereview.webrtc.org/2271203003
Cr-Commit-Position: refs/heads/master@{#13905}
2016-08-24 19:45:18 +00:00
glaznev
36a06a94fb Increase QP threshold for H.264 encoder QP based scaling.
BUG=b/30743634

Review-Url: https://codereview.webrtc.org/2272893002
Cr-Commit-Position: refs/heads/master@{#13904}
2016-08-24 19:09:22 +00:00
tkchin
118402520f Restart capture session if needed on active.
We've seen some cases of nonrecoverable runtime error when entering the foreground. This is a theoretical fix to see if we can restart after willEnterForeground in didBecomeActive instead.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2258583004
Cr-Commit-Position: refs/heads/master@{#13903}
2016-08-24 19:06:01 +00:00
henrik.lundin
5fac3f0892 NetEq: Don't check sample rate and frame size upon error
If an error happens in the GetAudio call, for instance when corrupt
payloads are inserted, GetAudio wil return an error. In this case, the
audio frame is not always correctly populated, which is to be expected.

BUG=webrtc:5447

Review-Url: https://codereview.webrtc.org/2272963002
Cr-Commit-Position: refs/heads/master@{#13902}
2016-08-24 18:18:54 +00:00
henrik.lundin
d1a10a0f77 Make FakeDecodeFromFile handle codec-internal CNG
This implementation interprets payloads of size 1 as codec-internal SID
frames, marking the start of a CNG period. Changes were made to other
parts of the test payload chain, since it had to make use of the virtual
payload size in the case of header-only RTP files.

BUG=webrtc:2692

Review-Url: https://codereview.webrtc.org/2275903002
Cr-Commit-Position: refs/heads/master@{#13901}
2016-08-24 17:59:00 +00:00
kjellander
f02207dde9 MB: Flip Mac bots to GN by default.
Change the previous GN configs to build GYP instead
(since we'll keep GYP around for a while) but exclude tests
and examples for that config, since we'll only support the production
code for GYP.

Add new configs for upcoming rename of those bots to GYP instead
of GN.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2274713003
Cr-Commit-Position: refs/heads/master@{#13900}
2016-08-24 16:40:04 +00:00
ehmaldonado
b0b0edb8af Roll chromium_revision e3860bd297..938114be1e (412289:414059)
Change log: e3860bd297..938114be1e
Full diff: e3860bd297..938114be1e

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/96e1a25943..405da48900
* src/third_party/libvpx/source/libvpx: 2d1e63d0c5..f5bd76f5c1
DEPS diff: e3860bd297..938114be1e/DEPS

Clang version changed 277962:278861
Details: e3860bd297..938114be1e/tools/clang/scripts/update.py

TBR=marpan@webrtc.org
BUG=webrtc:6245
NOTRY=True

Review-Url: https://codereview.webrtc.org/2269953002
Cr-Commit-Position: refs/heads/master@{#13899}
2016-08-24 15:16:25 +00:00
kjellander
28a0ffdd52 GN: Synchronize resources between Android and iOS.
iOS tests packaged into an .app uses the same way of
defining resources (the data attribute). Some iOS
simulator tests are failing due to missing resources, so
let's sync them all.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2277753003
Cr-Commit-Position: refs/heads/master@{#13898}
2016-08-24 14:48:48 +00:00
ehmaldonado
2df32a31d2 GN: Override lsan and tsan suppression files.
BUG=webrtc:6236
NOTRY=True

Review-Url: https://codereview.webrtc.org/2274883002
Cr-Commit-Position: refs/heads/master@{#13897}
2016-08-24 14:46:16 +00:00
aleloi
5f2e7c4097 Added more targets to .gn.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2276933002
Cr-Commit-Position: refs/heads/master@{#13896}
2016-08-24 13:55:05 +00:00
maxmorin
2ec45b9ffa Make dependency of audio_device of ApplicationServices explicit.
Tested in https://codereview.webrtc.org/2276903002.

BUG=webrtc:6170
NOTRY=true

Review-Url: https://codereview.webrtc.org/2273713003
Cr-Commit-Position: refs/heads/master@{#13895}
2016-08-24 13:51:11 +00:00
philipel
4e7e8d7300 Now probe for x3 and x6 of the initial start bitrate and allow for faster receive bitrates when calculating probing estimates.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2269993002
Cr-Commit-Position: refs/heads/master@{#13894}
2016-08-24 13:27:02 +00:00
ivoc
2c670dbf13 Added GN target for webrtc_opus_fec_test.
BUG=webrtc:6191
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2268213002
Cr-Commit-Position: refs/heads/master@{#13893}
2016-08-24 13:11:27 +00:00
ehmaldonado
7a0ff2f700 Disable examples for GYP Android bots.
When rolling Chromium into WebRTC, these fail to compile since chromium
no longer supports GYP.

BUG=webrtc:6252
NOTRY=True

Review-Url: https://codereview.webrtc.org/2275973003
Cr-Commit-Position: refs/heads/master@{#13892}
2016-08-24 13:09:21 +00:00
sakal
98468bb456 Revert of GN build rules for four audio processing test executables (patchset #3 id:40001 of https://codereview.webrtc.org/2267403003/ )
Reason for revert:
Breaks most of chromium.webrtc.fyi bots.

Original issue's description:
> GN build rules for four audio processing test executables
>
> click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
> transient_suppression_test.
>
> BUG=webrtc:5949
>
> Committed: https://crrev.com/538b5606a3fb6310aab7a7e747aee16eac885f02
> Cr-Commit-Position: refs/heads/master@{#13890}

TBR=kjellander@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:5949

Review-Url: https://codereview.webrtc.org/2274813004
Cr-Commit-Position: refs/heads/master@{#13891}
2016-08-24 12:04:31 +00:00
kwiberg
538b5606a3 GN build rules for four audio processing test executables
click_annotate, intelligibility_proc, nonlinear_beamformer_test, and
transient_suppression_test.

BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2267403003
Cr-Commit-Position: refs/heads/master@{#13890}
2016-08-24 11:38:54 +00:00
philipel
0561bdf833 Only use payload size within the know send/receive interval for probing calculations.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2254733005
Cr-Commit-Position: refs/heads/master@{#13889}
2016-08-24 10:44:01 +00:00
kwiberg
619a211562 iLBC: Handle a case of bad input data
We detect an unreasonable state (caused by a bad encoded stream)
before it can lead to problems, and handle it by resetting the
decoder.

NOPRESUBMIT=true
BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2255203002
Cr-Commit-Position: refs/heads/master@{#13888}
2016-08-24 09:46:48 +00:00
philipel
0aa9d1808b Set send side bitrate estimate on successful probing attempt.
BUG=webrtc:5859

Review-Url: https://codereview.webrtc.org/2263973004
Cr-Commit-Position: refs/heads/master@{#13887}
2016-08-24 09:45:42 +00:00
ehmaldonado
cd8ae61b27 Add missing dependencies to setup_links.
Fixes the following error for Android GN bots when trying
to roll Chromium into WebRTC.

Full logs at:
https://build.chromium.org/p/tryserver.webrtc/builders/android_gn_dbg/builds/13405/steps/generate_build_files/logs/stdio

/b/c/b/android_gn_dbg/src/buildtools/linux64/gn gen //out/Debug --check
  -> returned 1
ERROR at //build/config/android/internal_rules.gni:140:23: Can't load input file.
            deps += [ "${_target_label}__build_config" ]
                      ^-------------------------------
Unable to load:
  /b/c/b/android_gn_dbg/src/third_party/byte_buddy/BUILD.gn
I also checked in the secondary tree for:
  /b/c/b/android_gn_dbg/src/build/secondary/third_party/byte_buddy/BUILD.gn
GN gen failed: 1

BUG=522043
NOTRY=True

Review-Url: https://codereview.webrtc.org/2268343002
Cr-Commit-Position: refs/heads/master@{#13886}
2016-08-24 09:44:18 +00:00
kjellander
f944c356e8 GN: Add resources for webrtc_perf_tests on Android
BUG=webrtc:6250
TBR=ehmaldonado@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2271143003
Cr-Commit-Position: refs/heads/master@{#13885}
2016-08-24 09:29:20 +00:00
ivoc
e51b41ae44 Added GN target for isac_test.
BUG=webrtc:6191
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2267423002
Cr-Commit-Position: refs/heads/master@{#13884}
2016-08-24 09:26:04 +00:00
aleloi
5d167d6829 Removals and renamings in the new audio mixer.
Removed the OutputMixer part of the new mixer and renamed the new
mixer from NewAudioConferenceMixer to AudioMixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2249213005
Cr-Commit-Position: refs/heads/master@{#13883}
2016-08-24 09:21:00 +00:00
nisse
76f91cd08f Add ThreadChecker to the TimestampAligner class.
BUG=

Review-Url: https://codereview.webrtc.org/2270773002
Cr-Commit-Position: refs/heads/master@{#13882}
2016-08-24 08:58:50 +00:00
aleloi
665d181ccc Increased column width for python tool rtp_analyzer.py.
TBR=phoglund@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2247303008
Cr-Commit-Position: refs/heads/master@{#13881}
2016-08-24 08:48:25 +00:00
aleloi
30be5d7cf4 Updated mixer unittests and fixed a related bug in the new mixer.
Changes to the mixer unittests:

Removed the tests related to the former 'OutputMixer', as it's going
to be removed. Removed incorrect comparison tests with the old mixer
because doing identical mixing decisions with the old mixer proved
unviable.

When the new mixer went from kMaximumAmountOfMixedAudioSources in the
last iteration to kMaximumAmountOfMixedAudioSources+1, it could hit an
RTC_NOTREACHED(); Added fix to mixer and test
AudioMixer.RampedOutSourcesShouldNotBeMarkedMixed that covers that
case.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2253153004
Cr-Commit-Position: refs/heads/master@{#13880}
2016-08-24 08:38:50 +00:00
hbos
615d3013de RTCStats and RTCStatsReport added (webrtc/stats).
The old and new getStats are very different. This CL proposes rewriting
the new getStats from scratch with a bottom-up approach, starting with
the fundamental stats classes. This will allow cleaner and more
efficient code that is more aligned with the spec.

RTCStats and subclasses are the equivalent to RTCStats and RTCStats-
-derived dictionaries from the specs[1][2]. The dictionary members are
public member variables of type RTCStatsMember<T>, where T is one of the
supported types. All members derive from RTCStatsMemberInterface and
iteration of members is possible with RTCStats::Members().
The members are not stored in a map for performance and readability.
Type checking is supported with static class variables, kType.

Only the supported member types T are specialized and may be
instantiated, and sequences are supported with std::vector<...>. Type
checking is again supported with static class variables, kType.

RTCStatsReport is the equivalent from the spec[3], and maps RTCStats::id
to RTCStats-objects. RTCStatsReport is reference counted. It and its
contained stats may be destroyed on any thread. When the
RTCStatsCollector is added in a follow-up CL, it will return const
references to the RTCStatsReports. This means copies don't have to be
made for multiple stats observers or when jumping threads. In fact, no
copies of any stats will have to be made in surfacing stats to Blink.

[1] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstats-dictionary
[2] https://w3c.github.io/webrtc-stats/archives/20160526/webrtc-stats.html
[3] https://www.w3.org/TR/2016/WD-webrtc-20160531/#rtcstatsreport-object

This adds the new folder webrtc/stats/, with target rtc_stats and binary
rtc_stats_unittests. Public api headers are placed in webrtc/api/ and
.cc files are placed in webrtc/stats/.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2241093002
Cr-Commit-Position: refs/heads/master@{#13879}
2016-08-24 08:33:19 +00:00
aleloi
616df1e95c Added a level indicator to new mixer.
Added a level indicator to the new mixer. The level indicator is
webrtc::voe::AudioLevel. It computes the current audio level, which is
used all the way up to peerconnection.

This is part of the project to rewrite the old conference mixer and
output mixer.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2230823004
Cr-Commit-Position: refs/heads/master@{#13878}
2016-08-24 08:17:20 +00:00
kthelgason
1f779052c6 Remove outdated symlink
BUG=

Review-Url: https://codereview.webrtc.org/2270853002
Cr-Commit-Position: refs/heads/master@{#13877}
2016-08-24 07:49:33 +00:00
sakal
a53fa0a25b Fix AppRTC Android Demo GN build when is_component_build=true.
BUG=webrtc:6174
NOTRY=True

Review-Url: https://codereview.webrtc.org/2270003002
Cr-Commit-Position: refs/heads/master@{#13876}
2016-08-24 07:48:30 +00:00
kjellander
4c8adb1ec7 MB: Flip Android bots to GN by default.
Change the previous GN configs to build GYP instead
(since we'll keep GYP around for a while) but exclude tests for
that config from now on, since we're facing errors with GYP.

Add new configs for upcoming rename of those bots to GYP instead
of GN.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2264283003
Cr-Commit-Position: refs/heads/master@{#13875}
2016-08-24 07:34:59 +00:00
kjellander
24ee05016c CQ: Remove android_arm64_rel trybot
The bot is having problems again.

NOTRY=true
BUG=634266
TBR=ehmaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2270943003
Cr-Commit-Position: refs/heads/master@{#13874}
2016-08-24 06:17:32 +00:00
terelius
b246a292cd Define a protobuf format for representing plots. Add code to convert the C-representation generated by the RtcEventLog analysis tool, to the new protobuf format.
BUG=webrtc:6249

NOTRY=True

Review-Url: https://codereview.webrtc.org/2268063002
Cr-Commit-Position: refs/heads/master@{#13873}
2016-08-24 01:15:31 +00:00
terelius
6addf49913 Adds function for computing moving average to visualization tool.
Uses generic functions to plot packet sizes, sequence number delta and bitrate per SSRC. Also detects and prints warnings if delay differences seem unrealistic.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2234883002
Cr-Commit-Position: refs/heads/master@{#13872}
2016-08-24 00:34:16 +00:00
Honghai Zhang
5048f5777d Add logs and small change in BasicPortAllocator.
The added logs will be helpful for debugging.
If a session has stopped, terminate DoAllocate early.
Session::init always returns true, so there is no need to check the return value.

R=deadbeef@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13871}
2016-08-23 22:47:45 +00:00
Irfan Sheriff
f99a9de069 ProbingEstimator: Erase history based on time threshold
Erases history based on time threshold instead of retaining really old cluster data. Also does a bunch of clean up.

BUG=
R=danilchap@webrtc.org, philipel@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13870}
2016-08-23 21:23:12 +00:00
skvlad
185ba29a3c Extract library from the RTCEventLog visualizer
This change splits the RtcEventLog visualization tool into a library and
the command-line tool that drives it. This allows other applications to
link with the library.

BUG=6249
R=kjellander@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13869}
2016-08-23 20:01:38 +00:00
Per
5bed20f7c6 Do not update stats for WebRTC.Call.EstimatedSendBitrateInKbps if we are not sending video.
This hopefully fixes a UMA stats  regression introduced in 71ee44cc6d

BUG=webrtc:6244
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13868}
2016-08-23 20:00:21 +00:00