14320 Commits

Author SHA1 Message Date
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
kjellander
b37c45cadc GN: Add libjingle_peerconnection_java to peerconnection_unittests.
This dependency was found missing since it's defined in
https://cs.chromium.org/chromium/src/third_party/webrtc/build/android_tests.gyp?rcl=0&l=129
which causes many of the tests to crash with org.webrtc.AudioTrack class
not being found.

BUG=webrtc:5949
TBR=ehmaldonado@webrtc.org
NOTRY=True
TESTED=Passing local run of peerconnection_unittests on Android.

Review-Url: https://codereview.webrtc.org/2268973003
Cr-Commit-Position: refs/heads/master@{#13867}
2016-08-23 19:55:49 +00:00
Stefan Holmer
a246cfb8b5 Don't include RTP headers in send-side BWE.
When they are included there will be a mismatch between what the BWE says and
what the encoder is allowed to use, causing us to send more than the network
can handle.

BUG=webrtc:6247
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13866}
2016-08-23 15:51:57 +00:00
aleloi
9a11784a7f Migrated GN target :g722_test
Migrated GN target :g722_test from
webrtc/modules/audio_coding/codecs/g722/g722.gypi

NOTRY=True

BUG=webrtc:6191

Review-Url: https://codereview.webrtc.org/2275463002
Cr-Commit-Position: refs/heads/master@{#13865}
2016-08-23 15:36:15 +00:00
aleloi
16f55a10c4 Migrated GN target :g711_test
Migrated GN target :g711_test from
webrtc/modules/audio_coding/codecs/g711/g711.gypi

NOTRY=True

BUG=webrtc:6191

Review-Url: https://codereview.webrtc.org/2273623002
Cr-Commit-Position: refs/heads/master@{#13864}
2016-08-23 15:08:30 +00:00
philipel
649a21a25f Disable RampUpTest.UpDownUpThreeStreams.
NOTRY=True
NOPRESUBMIT=True
TBR=stefan@webrtc.org

BUG=webrtc:6248

Review-Url: https://codereview.webrtc.org/2273683002
Cr-Commit-Position: refs/heads/master@{#13863}
2016-08-23 14:22:22 +00:00
kwiberg
2e486462e0 RTC_CHECK and RTC_DCHECK macros for C
So that we don't have to use assert(). Includes one sample call site.

NOTRY=true
BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2262173002
Cr-Commit-Position: refs/heads/master@{#13862}
2016-08-23 12:54:31 +00:00
nisse
792469709d Refactor WebRtcVideoCapturer.
Pass incoming frames directly to VideoCapturer::OnFrame (after
conversion to cricket::VideoFrame), without using SignalFrameCaptured
or WebRtcCapturedFrame.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2258933003
Cr-Commit-Position: refs/heads/master@{#13861}
2016-08-23 12:50:20 +00:00
kjellander
d8dd190a08 GN: Fix test_support_unittests and MIPS compile issue.
Move the webrtc/test/test_support/metrics sources into
test_support[_unittests] targets.
This is essentially reverting https://webrtc-codereview.appspot.com/5789004
and moving these sources back to the right target.

Add missing foreman_cif.yuv resource needed for these tests.

For MIPS, a compile error was surfacing for logcat_trace_context.h when
flipping bot to GN, which was fixed.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2267113002
Cr-Commit-Position: refs/heads/master@{#13860}
2016-08-23 11:52:19 +00:00
nisse
84c03bafcf Add rtc_media as a direct dependency of rtc_media_unittests.
Without this, the rtc_media_unittests target was only an indirect
dependency, and compiled without HAVE_WEBRTC_VIDEO. And some testcases,
in particular, all tests defined by webrtcvideocapturer_unittest.cc,
are excluded from rtc_media_unittests.

BUG=

Review-Url: https://codereview.webrtc.org/2250433008
Cr-Commit-Position: refs/heads/master@{#13859}
2016-08-23 07:19:06 +00:00
asapersson
0d1ad326a3 Add histogram for percentage of incoming frames that are limited in resolution due to cpu:
- "WebRTC.Video.CpuLimitedResolutionInPercent"

BUG=webrtc:6235

Review-Url: https://codereview.webrtc.org/2254893009
Cr-Commit-Position: refs/heads/master@{#13858}
2016-08-23 06:56:53 +00:00
Taylor Brandstetter
14cf12b1ea Fixing TSan data race warning in video end-to-end tests.
Needed to use critical section in "SendRtp"/"SendRtcp", which is what
the real implementation ultimately does.

TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13857}
2016-08-23 01:14:21 +00:00
deadbeef
23d947dc98 Some cleanup in BaseChannel RTCP mux code.
Removing a redundant variable used to track whether or not RTCP mux has
been fully negotiated. It's RtcpMuxFilter's job to do that, and it
already had the state, it just wasn't exposed.

Review-Url: https://codereview.webrtc.org/2260963002
Cr-Commit-Position: refs/heads/master@{#13856}
2016-08-22 23:00:37 +00:00
henrik.lundin
b3f1c5d2fe Add NetEq::FilteredCurrentDelayMs() and use it in VoiceEngine
The new method returns the current total delay (packet buffer and sync
buffer) in ms, with smoothing applied to even out short-time
fluctuations due to jitter. The packet buffer part of the delay is not
updated during DTX/CNG periods.

This CL also pipes the new metric through ACM and uses it in
VoiceEngine. It replaces the previous method of estimating the buffer
delay (where an inserted packet's RTP timestamp was compared with the
last played timestamp from NetEq). The new method works better under
periods of DTX/CNG.

Review-Url: https://codereview.webrtc.org/2262203002
Cr-Commit-Position: refs/heads/master@{#13855}
2016-08-22 22:40:00 +00:00
deadbeef
e131ea50b4 Adding deadbeef and honghaiz as owners of webrtc/pc.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2264213002
Cr-Commit-Position: refs/heads/master@{#13854}
2016-08-22 22:32:05 +00:00
peah
72a5645fdf Removed the deactivation of the level controller when there is a built-in AGC available
BUG=

Review-Url: https://codereview.webrtc.org/2240763002
Cr-Commit-Position: refs/heads/master@{#13853}
2016-08-22 19:09:02 +00:00
terelius
8c16520949 Method to parse event log directly from a string.
Switches the main parsing function for RtcEventLogs to take an istream instead of a file pointer. Adds wrappers that accept either a string or a filename.

Review-Url: https://codereview.webrtc.org/2253943006
Cr-Commit-Position: refs/heads/master@{#13852}
2016-08-22 18:35:54 +00:00
ehmaldonado
6c46eaa544 Add gtest as a dependency for neteq_quality_test_support.
Was removed in Patch Set 5 of https://codereview.webrtc.org/2252413002
but shouldn't have been, since it's actually required.

https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.h?l=17

BUG=webrtc:6228
NOTRY=True

Review-Url: https://codereview.webrtc.org/2262173003
Cr-Commit-Position: refs/heads/master@{#13851}
2016-08-22 16:48:11 +00:00
stefan
d48717b455 Fix issue where the number of packets reported in tests/simulations sometimes are negative.
BUG=webrtc:6159

Review-Url: https://codereview.webrtc.org/2223033002
Cr-Commit-Position: refs/heads/master@{#13850}
2016-08-22 15:50:36 +00:00
kwiberg
4ec01d9c9d Fix trivial lint errors in FileRecorder and FilePlayer
Mostly, it's about replacing mutable reference arguments with pointer
arguments, and replacing C style casts with C++ style casts.

Review-Url: https://codereview.webrtc.org/2056653002
Cr-Commit-Position: refs/heads/master@{#13849}
2016-08-22 15:43:58 +00:00
danilchap
853ecb21f7 Style cleanup in UpdateTmmbr:
function names style updated,
unused return type removed.
Comment style fixed, redundant comments removed.
pass-by-pointer parameter changed to pass-by-value because can't be nullptr any more.

NOTRY=true
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2258523005
Cr-Commit-Position: refs/heads/master@{#13848}
2016-08-22 15:26:22 +00:00
kwiberg
7f82fc988d WebRtcIlbcfix_Smooth: Fix UBSan fuzzer bug (left shift of 1 by 31 overflows)
scale1 == 31 if and only if w10 == 0. So even though 1 << scale1
overflows, we know that the result of the multiplication should be 0.
Handle that case.

BUG=chromium:615818

Review-Url: https://codereview.webrtc.org/2258543002
Cr-Commit-Position: refs/heads/master@{#13847}
2016-08-22 14:43:50 +00:00
danilchap
642e3bc75b [rtcp] TransportFeedback adjusted to match other rtcp packets:
Derived from rtcp::Rtpfb instead of directly from RtcpPacket
Does not depend on RTCPUtility.
Parse function takes CommonHeader.
TransportFeedback::BlockLength fixed to match size used by Create

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/1847973003
Cr-Commit-Position: refs/heads/master@{#13846}
2016-08-22 14:37:00 +00:00
henrika
49810511c9 [Reland] Cleanup of the AudioDeviceBuffer class.
See https://codereview.webrtc.org/2256833003/

Contains a minor change to ensure that an external client builds.

TBR=magjed
BUG=NONE

Review-Url: https://codereview.webrtc.org/2269553004
Cr-Commit-Position: refs/heads/master@{#13845}
2016-08-22 12:56:17 +00:00
kjellander
83d79cd4a2 Revert of Add pps id and sps id parsing to the h.264 depacketizer. (patchset #5 id:80001 of https://codereview.webrtc.org/2238253002/ )
Reason for revert:
Breaks some h264 bitstream tests downstream. Reverting for now.

Original issue's description:
> Add pps id and sps id parsing to the h.264 depacketizer.
>
> BUG=webrtc:6208
>
> Committed: https://crrev.com/abcc3de169d8896ad60e920e5677600fb3d40180
> Cr-Commit-Position: refs/heads/master@{#13838}

TBR=sprang@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2265023002
Cr-Commit-Position: refs/heads/master@{#13844}
2016-08-22 12:34:43 +00:00
nisse
4381700fcc WebRtcVideoFrame constructor without transport_frame_id.
Needed as a substitute when eliminating the Copy method.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2262683002
Cr-Commit-Position: refs/heads/master@{#13843}
2016-08-22 10:55:01 +00:00
danilchap
e5b4141746 Move RTP timestamp calculation from BuildRTPheader to SendOutgoingData
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2249223005
Cr-Commit-Position: refs/heads/master@{#13842}
2016-08-22 10:39:31 +00:00
vopatop.skam
ff101d6171 iOS: add PlistBuddy location to path to avoid build errors
On OS X El Capitan, the system location of 'PlistBuddy' is:
"/usr/libexec/PlistBuddy"
and default system path environment variable is:
"PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

NOTRY=True

Review-Url: https://codereview.webrtc.org/2262813002
Cr-Commit-Position: refs/heads/master@{#13841}
2016-08-22 09:27:38 +00:00
ehmaldonado
94b9199fb1 Add a copy of gyp_flag_compare from Chromium to WebRTC's webrtc/tools.
This should help spot any differences between GN and GYP.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2246203004
Cr-Commit-Position: refs/heads/master@{#13840}
2016-08-22 09:23:27 +00:00
peah
4905f06878 Disable the software noise suppressor on iOS devices as that
functionality is always present in the hardware.

BUG=webrtc:6231

Review-Url: https://codereview.webrtc.org/2260173002
Cr-Commit-Position: refs/heads/master@{#13839}
2016-08-22 08:58:56 +00:00