5069 Commits

Author SHA1 Message Date
danilchap
b1ac203480 Introduce helper class NtpTime
Seconds and fractions parts of the ntp time presented with two values, but used as one.
This helper structure can make that use more clear.
(initially introduced into rtp_rtcp as https://codereview.webrtc.org/1435833003)

BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#10814}
2015-11-26 17:01:18 +00:00
Peter Boström
8c38e8b9b9 Clean up PlatformThread.
* Move PlatformThread to rtc::.
* Remove ::CreateThread factory method.
* Make non-scoped_ptr from a lot of invocations.
* Make Start/Stop void.
* Remove rtc::Thread priorities, which were unused and would collide.
* Add ::IsRunning() to PlatformThread.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10812}
2015-11-26 16:45:57 +00:00
Erik Språng
ad113e50d2 Fix bug in calculation of averge queue time in paced sender.
Also work around a flaw in fake encoder which caused bogus perf
regression in rampup tests.

BUG=560434
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10811}
2015-11-26 15:26:25 +00:00
Stefan Holmer
226befecfb Rewrote pacer and bandwidth UMA stats.
The new version measures receive bitrates from time of first packet to
time of last packet, and send/pacer BWE as the average BWE reported
while we have send streams.

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

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

Cr-Commit-Position: refs/heads/master@{#10810}
2015-11-26 14:36:55 +00:00
Stefan Holmer
06e05a85b9 Make overuse estimator one dimensional.
This drops the payload size difference dimension of the Kalman filter,
which doesn't improve the quality of the estimation when pacing packets
on the send-side.

R=gaetano.carlucci@gmail.com, mflodman@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10809}
2015-11-26 14:35:10 +00:00
kjellander@webrtc.org
0fcaf99b71 Enable cpplint for webrtc/video_engine
Enable cpplint and have it use a whitelist that also checks
in subdirectories.

Move the cpplint check so it runs before the pylint check
since that one always run and increases the time to errors
for cpplint.

Fix all cpplint errors in webrtc/video_engine.

BUG=webrtc:5149
TESTED=Fixed issues reported by:
find webrtc/video_engine -type f -name *.cc -o -name *.h | xargs cpplint.py
followed by 'git cl presubmit'.

R=pbos@chromium.org, phoglund@chromium.org
TBR=pbos@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10808}
2015-11-26 14:25:02 +00:00
Peter Boström
871c419596 Add fuzzing of VP8 QP parsing.
BUG=webrtc:4771
R=asapersson@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10806}
2015-11-26 13:52:28 +00:00
kjellander
3e6db2321c audio_coding: remove "main" directory
This is the last piece of the old directory layout of the modules.

Duplicated header files are left in audio_coding/main/include until
downstream code is updated to the new location. They have pragma
warnings added to them and identical header guards as the new headers to avoid breaking things.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#10803}
2015-11-26 12:45:01 +00:00
Peter Boström
fd5dae395b Build/use constructormagic.h unconditionally.
These macros no longer collide with Chromium since they are prefixed
with RTC_.

BUG=
R=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10801}
2015-11-26 11:54:32 +00:00
jackychen
8f9902a0ff Standalone denoiser (off by default).
BUG=webrtc:5255

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

Cr-Commit-Position: refs/heads/master@{#10800}
2015-11-26 10:59:53 +00:00
peah
96cb5309ed Removed api call that will break the upcoming thread checking scheme
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10799}
2015-11-26 10:21:55 +00:00
Henrik Kjellander
c03bdf9ae9 Roll chromium_revision aa8e58a..664fe1e (361601:361806)
webrtc/modules/audio_device/android/ensure_initialized.cc needed to
be updated due to https://codereview.chromium.org/1407233017

Change log: aa8e58a..664fe1e
Full diff: aa8e58a..664fe1e

No dependencies changed.
No update to Clang.

NOTRY=True
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10798}
2015-11-26 10:12:34 +00:00
Peter Boström
cdb38e5397 Strip IP addresses in NDEBUG (release) builds.
Also removes the ability to override (set) this.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10796}
2015-11-25 23:36:20 +00:00
kjellander
b86c5027a0 Roll chromium_revision 68cf0b8..aa8e58a (361406:361601)
Due to Chromium moving over to building with a sysroot
image on Linux in
a931efd5dc
we need to disable that until http://crbug.com/561584 is fixed
(libudev.h is missing and is used by talk/media/devices/libudevsymboltable.h).

Change log: 68cf0b8..aa8e58a
Full diff: 68cf0b8..aa8e58a

No dependencies changed.
No update to Clang.

BUG=chromium:561584
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#10795}
2015-11-25 21:20:11 +00:00
Guo-wei Shieh
a34c39e549 GetDefaultLocalAddress should return false when the address is invalid
BUG=
R=pthatcher@webrtc.org

Committed: https://crrev.com/67c6df6153b7b6dceb2b569daf683a498b2fc13c
Cr-Commit-Position: refs/heads/master@{#10779}

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

Cr-Commit-Position: refs/heads/master@{#10794}
2015-11-25 21:12:34 +00:00
Peter Boström
89d658f6b4 Fix fuzzer breakage in Chromium.
Removes log disabling under Chromium which doesn't compile due to
missing LS_INFO in the override log implementation.

Also removes dependency on webrtc/test/BUILD.gn which doesn't build in
Chromium (due to third_party/gflags not being present). Instead the
no-op implementation of field_trials in system_wrappers is used.

BUG=chromium:561667, webrtc:4771
R=kjellander@webrtc.org
TBR=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10793}
2015-11-25 20:58:43 +00:00
Peter Boström
11e022904d Move Chromium logging into rtc_base_approved.
The corresponding set of overrides weren't moved when logging.cc etc.
was moved over. This wasn't noticed because all existing targets before
webrtc fuzzers used to link both rtc_base and rtc_base_approved in
Chromium. Also adding //base:base as a dependency, this used to be
linked in by other targets either way before but generated build errors
when a target solely depends on rtc_base_approved.

BUG=webrtc:4771
R=kjellander@webrtc.org
TBR=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10792}
2015-11-25 20:40:13 +00:00
kjellander
6e004a44e8 Revert of Created a test that reports the statistics for the duration of APM stream processing API calls. (patchset #15 id:280001 of https://codereview.webrtc.org/1436553004/ )
Reason for revert:
This breaks the Win32 Release [large tests] bot (webrtc_perf_tests times out after 1h23m): https://build.chromium.org/p/client.webrtc/builders/Win32%20Release%20%5Blarge%20tests%5D

The Mac64 Release [large tests] bot's runtime also increased with +20 minutes.

These bot configs are not a part of the default trybot set, so please run them manually or add this to the CL description:
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal

Original issue's description:
> A unittest that reports the statistics for the duration of an APM stream processing API call.
>
> BUG=webrtc:5099
>
> Committed: https://crrev.com/880896ab0976bbf86a6753d0c900c70e51f421cb
> Cr-Commit-Position: refs/heads/master@{#10786}

TBR=henrik.lundin@webrtc.org,solenberg@webrtc.org,peah@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10791}
2015-11-25 20:27:46 +00:00
deadbeef
fac0655fd7 Reland of Adding the ability to create an RtpSender without a track.
(patchset #8 id:140001 of https://codereview.webrtc.org/1413713003/ )

Relanding after fixing CallAndModifyStream to account for new
procedures for adding/removing a track from a stream.

Original issue's description:
> Adding the ability to create an RtpSender without a track.
>
> This CL also changes AddStream to immediately create a sender, rather
> than waiting until the track is seen in SDP. And the PeerConnection now
> builds the list of "send streams" from the list of senders, rather than
> the collection of local media streams.
>
> Committed: https://crrev.com/ac9d92ccbe2b29590c53f702e11dc625820480d5
> Cr-Commit-Position: refs/heads/master@{#10414}

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

Cr-Commit-Position: refs/heads/master@{#10790}
2015-11-25 19:26:08 +00:00
deadbeef
376e1235c7 Destroy a Connection if a CreatePermission request fails.
This means that if a TURN server denies permission for an
unreachable address, we'll no longer ping it fruitlessly.

BUG=webrtc:4917

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

Cr-Commit-Position: refs/heads/master@{#10789}
2015-11-25 17:00:12 +00:00
solenberg
13725089ef Open backdoor in VoiceEngineImpl to get at the actual voe::Channel objects from an ID.
This will allow Audio[Send|Receive]Stream to bypass the VoE interfaces in many cases and talk directly to the channel.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10788}
2015-11-25 16:16:57 +00:00
peah
54eb5e2e9a Removed the aec state as an input parameter to the FilterFar function.
BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10787}
2015-11-25 15:43:20 +00:00
peah
880896ab09 A unittest that reports the statistics for the duration of an APM stream processing API call.
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10786}
2015-11-25 10:07:57 +00:00
kwiberg
9cd5c8ca79 Move the FEC enabling logic from CodecManager to Rent-A-Codec
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10785}
2015-11-25 09:25:14 +00:00
kwiberg
989b4abcf3 Move the stereo-disables-CNG logic from CodecManager to Rent-A-Codec
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10784}
2015-11-25 09:19:19 +00:00
Henrik Kjellander
46a491bcbb Set mac_deployment_target default to 10.7
This overrides the default (10.6) in Chromium's
build/common.gypi. It's needed since we want ARC and libc++.

TESTED=Ran webrtc/build/gyp_webrtc before this patch and then
grep -r macosx-version-min out/Debug/* | grep 10.6
which gave a lot of output.
Then with this patch applied, there were no output for 10.6 (only 10.7).

R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10783}
2015-11-25 07:35:12 +00:00
qiangchen
444682acf9 Remove frame time scheduing in IncomingVideoStream
This is part of the project that makes RTC rendering more
smooth. We've already finished the developement of the
frame selection algorithm in WebMediaPlayerMS, where we
managed a frame pool, and based on the vsync interval, we
actively select the best frame to render in order to
maximize the rendering smoothness.

Thus the frame timeline control in IncomingVideoStream is
no longer needed, because with sophisticated frame
selection algorithm in WebMediaPlayerMS, the time control
in IncomingVideoStream will do nothing but add some extra
delay.

BUG=514873

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

Cr-Commit-Position: refs/heads/master@{#10781}
2015-11-25 02:08:03 +00:00
Guo-wei Shieh
953eabc027 Revert "GetDefaultLocalAddress should return false when the address is invalid"
This reverts commit 67c6df6153b7b6dceb2b569daf683a498b2fc13c.

TBR=pthatcher@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10780}
2015-11-24 20:00:38 +00:00
Guo-wei Shieh
67c6df6153 GetDefaultLocalAddress should return false when the address is invalid
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10779}
2015-11-24 19:59:26 +00:00
Peter Boström
7d842d660e Move thread_ conditional back under defines.
Unbreaks Windows builds.

BUG=
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10778}
2015-11-24 17:23:29 +00:00
Peter Boström
c661213a63 Skip setting thread priorities in NaCl.
Fixes Chromium build since PlatformThread is now built under NaCl.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10777}
2015-11-24 17:10:36 +00:00
kwiberg
c3ddb3e127 Improve documentation for ArrayView
Review URL: https://codereview.webrtc.org/1468183003

Cr-Commit-Position: refs/heads/master@{#10775}
2015-11-24 16:59:40 +00:00
kjellander
b7a88291dc Remove duplicated headers after updating downstream code.
Remove the headers that were kept to provide non-breaking updates
of downstream code for https://codereview.webrtc.org/1418913006/
and https://codereview.webrtc.org/1417283007/.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#10773}
2015-11-24 15:13:52 +00:00
solenberg
302c978c92 Work around data race in TransmitMixer.
BUG=chromium:389098

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

Cr-Commit-Position: refs/heads/master@{#10772}
2015-11-24 14:28:30 +00:00
Peter Boström
92f8dbde77 Remove VIDEOCODEC_* from engine_configurations.h.
Removes index-based codec fetching from the VCM and overall cleans up
the code.

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

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

Cr-Commit-Position: refs/heads/master@{#10770}
2015-11-24 12:56:05 +00:00
Peter Boström
97c821dc56 Inline ConvertToSystemPriority.
Unused function when building Chromium, triggered build errors when
importing webrtc.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10768}
2015-11-24 12:48:20 +00:00
Per
d48015364d Add option to capture to texture in AppRTCDemo for Android.
The purpose is to be able to easier test and find differences between the path when capturing to textures or byte buffers.

This require https://codereview.webrtc.org/1403713002/ to work.

BUG=webrtc:4993
R=magjed@webrtc.org
TBR=glaznew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10766}
2015-11-24 10:13:34 +00:00
peah
d860523112 First part of the preparatory work before the actual work for solving the ducking problem starts.
This works aims to:
-More clearly separate the functionalities in the AEC.
-Make the inputs and outputs to functions more clear (currently the state struct is often passed as a parameter to the functions and the functions use members of the state both as inputs and outputs, which reduces the readability of the code and makes it difficult to change/refactor.

What is done in this CL:
-Most of what belongs to the echo subtraction functionality has been moved to a separate function.
-The NonLinearProcessing function has been renamed to EchoSuppressor which I think is more appropriate.
-Part of the code was replaced by a call to the TimeToFrequency function (which was also suggested by an existing todo).
-For consistency, a function FrequencyToTime doing the opposite of TimeToFrequency was added and part of the code was moved to that.
-The ScaleErrorSignal function was changed to no longer have the state as an input parameter. This entailed also changing the corresponding assembly optimized files accordingly.

Testing:
-The changes have been tested for bitexactness on Linux using a fairly extensive test.
-All the unittests pass on linux.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10764}
2015-11-24 07:05:49 +00:00
kjellander
70bed7d415 GN: Fix iOS error in audio_device and rtc_base
With this in, the only compilation errors left seems
related to yasm and libjpeg_turbo.
Notice the below example builds x86 builds (not ARM) since if
specifying target_cpu="arm", the gn step fails (separate issue).

BUG=webrtc:5213, webrtc:5195, chromium:459705
TESTED=Passing compilation with:
gn gen --args="target_os=\"ios\"" out/Default
ninja -C out/Default rtc_base audio_device

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

Cr-Commit-Position: refs/heads/master@{#10763}
2015-11-24 01:23:47 +00:00
pbos
12411ef40e Move ThreadWrapper to ProcessThread in base.
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).

BUG=webrtc:5158
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10760}
2015-11-23 22:48:01 +00:00
guoweis
255d6f6fb2 Test case for CL 1437933002.
This is to make sure that we don't have any assert failure when running with adapter enumeration disabled and we have no IPv6 default local address.

BUG=webrtc:5061

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

Cr-Commit-Position: refs/heads/master@{#10759}
2015-11-23 22:12:44 +00:00
henrik.lundin
057fb89f83 Add new method AcmReceiver::last_packet_sample_rate_hz()
This change allows us to delete AcmReceiver::last_audio_codec_id().

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10756}
2015-11-23 16:19:58 +00:00
kwiberg
74e35f1d62 Remove the special case for std::vector in rtc::ArrayView
We don't need it anymore now that we can use std::vector::data().

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

Cr-Commit-Position: refs/heads/master@{#10755}
2015-11-23 14:54:56 +00:00
henrik.lundin
d89814bfd7 NetEq: Add new method last_output_sample_rate_hz
This change moves the logics for keeping track of the last ouput
sample rate from AcmReceiver to NetEq, where it fits better. The
getter function AcmReceiver::current_sample_rate_hz() is renamed to
last_output_sample_rate_hz().

BUG=webrtc:3520

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

Cr-Commit-Position: refs/heads/master@{#10754}
2015-11-23 14:49:31 +00:00
Tommi
dfafd12418 Remove ThreadWrapper::GetThreadId. The method just calls rtc::CurrentThreadId(), which also has a more descriptive name.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10753}
2015-11-23 14:37:34 +00:00
Peter Boström
62e9bda7bf Implement fuzzing of VP9 depacketization.
Provides an example for how to use fuzzing within the webrtc tree.

BUG=webrtc:4771
R=aizatsky@chromium.org, asapersson@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10752}
2015-11-23 14:12:13 +00:00
sprang
ee37de3c13 Add screenshare perf tests with lossy links
This is a re-land of https://codereview.webrtc.org/1409513005/
Fingers crossed, the problems previously seen have been resolved by
https://codereview.webrtc.org/1412233003/

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10751}
2015-11-23 14:10:28 +00:00
kwiberg
1379f1f1e6 Extract the parameters for the encoder stack from the CodecManager
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10750}
2015-11-23 12:30:56 +00:00
jbauch
db81ffd6f5 Request keyframe if too many packets are missing and NACK is disabled.
This allows enabling "EndToEndTest.ReceivesPliAndRecoversWithoutNack".

BUG=webrtc:2250

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

Cr-Commit-Position: refs/heads/master@{#10747}
2015-11-23 11:59:07 +00:00
kjellander@webrtc.org
fa8ae9a535 Remove <iostream> include from file_audio_device.cc
Including this header in production code introduces static
initializers, which is disallowed in Chromium.

BUG=chromium:559766
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10746}
2015-11-23 11:44:10 +00:00