Commit Graph

6455 Commits

Author SHA1 Message Date
b4a1ae5299 Add separate send-side UMA stats for screenshare and video.
This CL duplicates all the histograms in SendStatisticsProxy. Might be
overkill, but we don't know which stats will be interesting and it makes
the change easier.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10885}
2015-12-03 16:10:13 +00:00
a4527c89e7 Add comments about the Audio parts of the public Call API being WIP.
BUG=webrtc:4690
R=kjellander@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10882}
2015-12-03 12:06:31 +00:00
631e134551 Rewrote the thread synchronization parts of the test for the locking in APM in response to a locking problem when running in a single-threaded manner.
To try to resolve the problem I replaced the custom synchronization with rtc::Event which made the code cleaner, faster, and less error prone.

However, in the end the source of the test locks was that during TearDown one of the threads was stuck in a waiting loop.

I added a fix for the TearDown issue but still decided to keep the rtc:Event - based code change metioned above as that gave a more clean code.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10880}
2015-12-03 09:15:37 +00:00
c3e0fe7c21 Make it extra safe when deleting a turn entry.
Check if it is in the list of turn entries before attempting to delete it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10877}
2015-12-03 00:43:33 +00:00
7635684130 Fix Mac ObjC PeerConnection API compilation.
BUG=webrtc:5287,webrtc:5216

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

Cr-Commit-Position: refs/heads/master@{#10876}
2015-12-03 00:42:41 +00:00
de0fc58784 Adding two more debug macros for logging scalar values to file.
The two added macros simplifies the logging code when a value which is not stored in a variable should be logged.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10870}
2015-12-02 16:20:56 +00:00
2515af28e9 Removing some unnecessary string manipulation code from VoEBase::GetVersion().
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10868}
2015-12-02 14:19:44 +00:00
c729032b1b Resolves issue with multiple calls to audio unit initialization
BUG=webrtc:5166
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10865}
2015-12-02 09:46:57 +00:00
40455d6f37 This cl change so that we use EGL14 where it is supported and EGL10 otherwise. The idea is to make this agnostic to an application and for WebRTC except in EGLBase.
The reason we want to use EGL14 is to be able to use EGLExt.eglPresentationTimeANDROID when writing textures to MediaEncoder.

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

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

Cr-Commit-Position: refs/heads/master@{#10864}
2015-12-02 09:07:22 +00:00
e3384990ea Revert of Add tests for vp9 (non-flexible mode) using different spatial and temporal configurations. (patchset #18 id:580001 of https://codereview.webrtc.org/1437463002/ )
Reason for revert:
Breaks bots

Original issue's description:
> Add tests for vp9 (non-flexible mode) using different spatial and temporal configurations.
>
> Specify kf_min_dist to get correct key frame interval in svc mode.
>
> BUG=chromium:500602
>
> Committed: https://crrev.com/43b48066a7d75bb051eea1e6f451147339cc98a6
> Cr-Commit-Position: refs/heads/master@{#10862}

TBR=pbos@webrtc.org,stefan@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10863}
2015-12-02 09:05:20 +00:00
43b48066a7 Add tests for vp9 (non-flexible mode) using different spatial and temporal configurations.
Specify kf_min_dist to get correct key frame interval in svc mode.

BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10862}
2015-12-02 07:52:19 +00:00
187db63fdf Remove VideoReceiveStream deregister of decoders.
Also doing some simplifications inside video_coding. No CHECKs added,
since they appear to have introduced breakages in downstream tests.

Overall reducing the number of potential ways a decoder could possibly
be set null. Removing deregistration of external decoders should also
give a quicker shutdown time since that may attempt to register
internal decoders.

BUG=chromium:563299
TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10858}
2015-12-01 16:20:09 +00:00
f94abf720d Nuke webrtc/common_video/plane.*.
Unused code that is unreferenced from build files.

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

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

Cr-Commit-Position: refs/heads/master@{#10856}
2015-12-01 13:10:38 +00:00
dfbb3a4bfc Simplify CodecManager::RegisterEncoder()
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#10855}
2015-12-01 12:45:09 +00:00
46c9cc0190 Provide method for returning certificate expiration time stamp.
We convert ASN1 time via std::tm to int64_t representing milliseconds-since-epoch. We do not use time_t since that cannot store milliseconds, and expires for 32-bit platforms in 2038 also for seconds.

Conversion via std::tm might might seem silly, but actually doesn't add any complexity.

One would expect tm -> seconds-since-epoch to already exist on the standard library. There is mktime, but it uses localtime (and sets an environment variable, and has the 2038 problem).

The ASN1 TIME parsing is limited to what is required by RFC 5280.

BUG=webrtc:5150
R=hbos@webrtc.org, nisse@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10854}
2015-12-01 12:06:46 +00:00
ea07373a2e Enable cpplint for webrtc/audio and webrtc/call, and fix all uncovered cpplint errors.
BUG=webrtc:5268,webrtc:5273
TESTED=Fixed issues reported by:
find webrtc/audio -type f -name *.cc -o -name *.h | xargs cpplint.py
find webrtc/call -type f -name *.cc -o -name *.h | xargs cpplint.py
followed by 'git cl presubmit'.

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

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

Cr-Commit-Position: refs/heads/master@{#10853}
2015-12-01 10:26:46 +00:00
ec192bdb64 Revert of Add _decoder CHECK to VCMGenericDecoder constructor. (patchset #2 id:20001 of https://codereview.webrtc.org/1485713002/ )
Reason for revert:
Speculative revert since a downstream test started failing with this.

Original issue's description:
> Add _decoder CHECK to VCMGenericDecoder constructor.
>
> This should never be using a null decoder, but it looks like it's
> crashing out in the field. Adding a CHECK to see if it catches any
> interesting stack traces.
>
> Also making the _decoder pointer const to show that it should never be
> changing.
>
> BUG=chromium:563299
> R=stefan@webrtc.org
>
> Committed: a443ec1a75

TBR=stefan@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:563299

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

Cr-Commit-Position: refs/heads/master@{#10851}
2015-12-01 07:14:37 +00:00
9f8d39d1b6 Add simple end to end test for video capture and encode using textures.
BUG=webrtc:4993

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

Cr-Commit-Position: refs/heads/master@{#10849}
2015-12-01 06:59:42 +00:00
14f4144a82 Add helper KeepRefUntilDone.
The callback keeps a reference to an object until the callback goes out of scope.

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

Cr-Commit-Position: refs/heads/master@{#10847}
2015-12-01 06:15:53 +00:00
a443ec1a75 Add _decoder CHECK to VCMGenericDecoder constructor.
This should never be using a null decoder, but it looks like it's
crashing out in the field. Adding a CHECK to see if it catches any
interesting stack traces.

Also making the _decoder pointer const to show that it should never be
changing.

BUG=chromium:563299
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10843}
2015-11-30 18:15:02 +00:00
7640ffabd7 Initialize type_preference_ in TestPort.
Prevents use of undefined memory for logging during
PortTest.TestLoopbackCal which was recently enabled for all release
builds.

BUG=
R=asapersson@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10842}
2015-11-30 17:17:07 +00:00
df3efa8c07 Introduced the new locking scheme
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10836}
2015-11-28 20:35:18 +00:00
7e43138c08 -Removed the state as an input to the FilterAdaptation function.
-Renamed the TimeToFrequency and FrequencyToTime functions.
-Moved the windowing from the TimeToFrequency function.
-Simplified the EchoSubtraction function.

Note that the aec state is still an input to the EchoSubtraction function, and it currently needs to be that in order to support the output of the debug file. The longer-term goal is, however, to order the state into substates. This will simplify the parameter lists to the EchoCancellation function as well as replace the aec state as a parameter

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#10830}
2015-11-27 23:24:32 +00:00
19822d63c1 audio_coding: Cleanup duplicated headers after "main" removal.
In https://codereview.webrtc.org/1481493004/ some duplicated headers
were left to make it possible to update downstream without breakage.
Now that's done and we can remove these to avoid confusion.

BUG=webrtc:5095
TBR=henrik.lundin@webrtc.org, kwiberg@webrtc.org
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/1477423002

Cr-Commit-Position: refs/heads/master@{#10829}
2015-11-27 18:55:49 +00:00
358057b945 Use ChannelProxy for most calls on voe::Channel in Audio[Receive|Send]Stream.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10828}
2015-11-27 18:46:47 +00:00
ad856229a7 Use webrtc/base/logging.h for voice_engine.
BUG=webrtc:5118
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10827}
2015-11-27 17:48:40 +00:00
def58203a1 Default to LS_INFO logging for release builds.
Increases default loglevel for test targets to LS_INFO, which is a no-op
for debug builds but increases logging on release builds.

This is to present better debug info on buildbots when test runs fail.

BUG=
R=henrikg@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10826}
2015-11-27 16:53:31 +00:00
521af4e344 Remove duplicate decoders in BitrateEstimatorTest.
Multiple decoders were used for the same payload type in this test case,
causing CHECK failures when configuring.

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

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

Cr-Commit-Position: refs/heads/master@{#10825}
2015-11-27 15:35:14 +00:00
395c7c6519 Re-add missing return in RegisterExternalDecoder.
Breaks waterfall due to possible null-pointer dereferences.

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

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

Cr-Commit-Position: refs/heads/master@{#10824}
2015-11-27 14:23:20 +00:00
f8385aded0 rtcp::Pli moved into own file and got a Parse function
Created rtcp::Psfb abstract class between rtcp::Pli and rtcp::RtcpPacket to hold common data for Feedback Message.

BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#10823}
2015-11-27 13:36:17 +00:00
e997a7de14 Call InitDecode with proper resolution.
Prevents double-initialization of decoders due to resolution changes
between initial database settings and first incoming frame.

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

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

Cr-Commit-Position: refs/heads/master@{#10822}
2015-11-27 13:23:30 +00:00
795dbe4e0f Remove RegisterExternal{De,En}coder error codes.
Also adds a RTC_CHECK in VideoReceiveStream that verifies that decoders
aren't null, since this will attempt to deregister a codec which would
previously fail with an obscure stack trace not indicating what actually
was wrong.

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

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

Cr-Commit-Position: refs/heads/master@{#10821}
2015-11-27 13:09:14 +00:00
8779a777f8 Fix standalone denoiser Android GN compile failure
BUG=webrtc:5255
R=pbos@webrtc.org
TBR=kjellander

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

Cr-Commit-Position: refs/heads/master@{#10818}
2015-11-27 11:03:04 +00:00
81b9bfe685 Added a threadchecking scheme to APM that checks that the APM API calls are called from the correct threads. The actual threadcheckers were, however, removed and will be reintroduced in another upcoming CL.
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10817}
2015-11-27 10:47:36 +00:00
64c0a0a111 Revert of Make overuse estimator one dimensional. (patchset #5 id:80001 of https://codereview.webrtc.org/1376423002/ )
Reason for revert:
Broke webrtc_perf_tests on bots.

Original issue's description:
> 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
>
> Committed: https://crrev.com/06e05a85b9e4def75ed5e6b582c4df842616f25f
> Cr-Commit-Position: refs/heads/master@{#10809}

TBR=terelius@webrtc.org,mflodman@webrtc.org,gaetano.carlucci@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10816}
2015-11-27 09:02:35 +00:00
42f580e490 Leaving all original files in talk/app/webrtc/objc until we can officially tell clients about the new locations.
Also changes presubmit script to not run cpplint on objc dirs.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10815}
2015-11-27 07:18:28 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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