Commit Graph

8934 Commits

Author SHA1 Message Date
4c6696c912 Revert of Disable P2PTestConductor.LocalP2PTestDtlsBundleInIceRestart under msan (patchset #1 id:1 of https://codereview.webrtc.org/2546913003/ )
Reason for revert:
Should be fixed (for good this time) by https://codereview.webrtc.org/2544003004/

Original issue's description:
> Disable P2PTestConductor.LocalP2PTestDtlsBundleInIceRestart under msan
>
> The test is flaky.
>
> BUG=webrtc:6811
> TBR=deadbeef@webrtc.org
>
> Committed: https://crrev.com/a28a1b9db6b8b44b3687c45fddf834e81b921b20
> Cr-Commit-Position: refs/heads/master@{#15382}

TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6811

Review-Url: https://codereview.webrtc.org/2546183003
Cr-Commit-Position: refs/heads/master@{#15399}
2016-12-03 02:09:09 +00:00
c23efae6b2 Allow locally rendered video to be downscaled in end-to-end tests.
A previous CL (https://codereview.webrtc.org/2547673002/) only did this
for end-to-end rendered video. But it appears locally rendered video is
downscaled too.

BUG=webrtc:6811

Review-Url: https://codereview.webrtc.org/2544003004
Cr-Commit-Position: refs/heads/master@{#15397}
2016-12-02 23:45:36 +00:00
c63b894686 Modify the parameter type of PeerConnectionObserver callback OnAddTrack.
Change the second parameter type to a const reference of vector so that
the vector will not be copied.

BUG=none

Review-Url: https://codereview.webrtc.org/2551603003
Cr-Commit-Position: refs/heads/master@{#15396}
2016-12-02 23:41:15 +00:00
2e59a02dd4 Revert of Use different restrictions of acked bitrate lag depending on operating point. (patchset #3 id:40001 of https://codereview.webrtc.org/2542083003/ )
Reason for revert:
Appears to cause a regression to RampUpTest.SendSideAudioOnlyUpDownUpRtx:

https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus6%29/builds/626

Original issue's description:
> Use different restrictions of acked bitrate lag depending on operating point.
>
> Before this the BWE was allowed to operate freely up to 100 kbps. This isn't a good idea for audio BWE.
>
> BUG=webrtc:5079
>
> Committed: https://crrev.com/5932149c9aeaa7679ad0bc3183047766832ca907
> Cr-Commit-Position: refs/heads/master@{#15389}

TBR=terelius@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:5079

Review-Url: https://codereview.webrtc.org/2547113002
Cr-Commit-Position: refs/heads/master@{#15394}
2016-12-02 19:29:41 +00:00
9cef11b75e Fix exponential probing in ProbeController.
https://codereview.webrtc.org/2504023002 broke exponential probing.
After that change ProbeController stops exponential probes prematurely:
it goes to kProbingComplete state if SetEstimatedBitrate() is called
with bitrate lower than min_bitrate_to_probe_further_bps_, which always
happens with the first pair of probes. As result it wasn't sending
repeated probes as it should. This change fixes that issue by moving
probe expieration logic to ProbeContoller::Process(). This also ensures
that the controller goes to kProbingComplete state as soon as probing
timeout expired, without waiting for the next SetEstimatedBitrate()
call.

BUG=669421

Review-Url: https://codereview.webrtc.org/2546613003
Cr-Commit-Position: refs/heads/master@{#15392}
2016-12-02 19:03:08 +00:00
4eb03c76fa Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabled.
Error resilience is currently always enabled for VP9 which reduces quality.

BUG=webrtc:6783

Review-Url: https://codereview.webrtc.org/2532053002
Cr-Commit-Position: refs/heads/master@{#15390}
2016-12-02 16:58:02 +00:00
5932149c9a Use different restrictions of acked bitrate lag depending on operating point.
Before this the BWE was allowed to operate freely up to 100 kbps. This isn't a good idea for audio BWE.

BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/2542083003
Cr-Commit-Position: refs/heads/master@{#15389}
2016-12-02 16:46:32 +00:00
a790d834c9 Wire up rtcp xr target bitrate on receive side.
BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2540363003
Cr-Commit-Position: refs/heads/master@{#15388}
2016-12-02 15:29:48 +00:00
0f01c7f930 Added tool for reference less video analysis (go/refless-video-analysis)
This tool takes list of video file names as input and calculates freezing metrics score for the video files without having reference to original video by comparing the PSNR and SSIM values of current and previous frame.

BUG=webrtc:6759

Review-Url: https://codereview.webrtc.org/2515253004
Cr-Commit-Position: refs/heads/master@{#15386}
2016-12-02 13:00:10 +00:00
b2250e5dbb New gn target video_frame_api.
This is in preparation for https://codereview.webrtc.org/2517173004/,
which needs some updates of downstream dependencies. This cl adds the
target to api/BUILD.gn, creates the directory api/video, and a single
harmless include file there.

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2546723003
Cr-Commit-Position: refs/heads/master@{#15385}
2016-12-02 12:01:21 +00:00
969b12f6aa Remove xdisplaycheck
The tool is no longer needed and will be removed in Chromium.

BUG=chromium:670470

Review-Url: https://codereview.webrtc.org/2548763002
Cr-Commit-Position: refs/heads/master@{#15384}
2016-12-02 11:30:51 +00:00
df28e47a4b fix coding and documentary ambiguity in AimdRateControl::TimeToReduceFurther.
BUG=webrtc:6812

Review-Url: https://codereview.webrtc.org/2549453002
Cr-Commit-Position: refs/heads/master@{#15383}
2016-12-02 11:27:18 +00:00
a28a1b9db6 Disable P2PTestConductor.LocalP2PTestDtlsBundleInIceRestart under msan
The test is flaky.

BUG=webrtc:6811
TBR=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2546913003
Cr-Commit-Position: refs/heads/master@{#15382}
2016-12-02 10:59:37 +00:00
5c71166dff VP8DecoderImpl: Fix uninitialized memory crash
It is not safe to call vpx_codec_destroy if vpx_codec_dec_init failed,
because the |decoder_| memory will be uninitialized. See the bug for
more info.

BUG=chromium:663293

Review-Url: https://codereview.webrtc.org/2541163007
Cr-Commit-Position: refs/heads/master@{#15381}
2016-12-02 10:46:26 +00:00
00bceb1eda Deprecated SetAudioPacketSize from RTPSender and removed calls to it.
The packet size was only used to control how often to output DTMF
packets. However, it likely did not work as intended, since that
interval was only set during initialization. No changes to the packet
size, like what AudioEncoder::Num10MsFramesInNextPacket could
indicate, were picked up. The value was instead taken from an entry in
ACMCodecDB.

Since it was not-fully-functional, its exact value didn't seem to
matter and it was getting in the way of making it possible to supply
an external audio encoder factory, I've decided to remove it
altogether. The DTMF code now uses an interval of 50 ms regardless,
which is a value recommended by the RFC.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2545753002
Cr-Commit-Position: refs/heads/master@{#15380}
2016-12-02 10:40:12 +00:00
e066b302ab Remove API-related #defines from voice_engine_configurations.h
BUG=webrtc:6506
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.chromium.mac:mac_chromium_rel_ng,ios-device;master.tryserver.chromium.win:win_chromium_rel_ng;master.tryserver.chromium.android:android_compile_dbg,linux_android_rel_ng

Review-Url: https://codereview.webrtc.org/2549443002
Cr-Commit-Position: refs/heads/master@{#15379}
2016-12-02 10:30:23 +00:00
b336392562 Sanity check parsed QP values from H264 bitstream
BUG=chromium:663610

Review-Url: https://codereview.webrtc.org/2532973002
Cr-Commit-Position: refs/heads/master@{#15377}
2016-12-02 09:29:53 +00:00
b465980fd7 In end-to-end PeerConnection tests, allow video to be downscaled.
QualityScaler may scale down the resolution, so our tests shouldn't
expect the input resolution to exactly match the resolution received on
the other side. Instead, we now just check that the aspect ratio
matches.

BUG=webrtc:5907

Review-Url: https://codereview.webrtc.org/2547673002
Cr-Commit-Position: refs/heads/master@{#15373}
2016-12-02 00:23:36 +00:00
8f89bff9a6 Revert of Disabled flaky P2PTestConductor tests on ASAN and MSAN. (patchset #1 id:1 of https://codereview.webrtc.org/2539103002/ )
Reason for revert:
The flaky tests should now be fixed.

Original issue's description:
> Disabled flaky P2PTestConductor tests on ASAN and MSAN.
>
> TBR=deadbeef@webrtc.org
> BUG=webrtc:6776
>
> Committed: https://crrev.com/8d66a5a3b18eef73b238f4220477da265bf4494b
> Cr-Commit-Position: refs/heads/master@{#15324}

TBR=ossu@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6776

Review-Url: https://codereview.webrtc.org/2550453003
Cr-Commit-Position: refs/heads/master@{#15371}
2016-12-01 20:54:28 +00:00
c6b6e09d18 Relaxing timeouts for TestMediaMonitor.
This isn't a performance test, so it may be running in a slow
environment, and shouldn't be subject to strict timeouts.

BUG=webrtc:6801
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2539183005
Cr-Commit-Position: refs/heads/master@{#15370}
2016-12-01 20:49:25 +00:00
8f425f9629 Relaxing DCHECK for packets sent before SRTP is enabled.
We still DCHECK for RTP, but not RTCP. RTCP packets can be sent before
offer/answer negotiation is complete, due to this bug:
https://bugs.chromium.org/p/webrtc/issues/detail?id=6809

This bug can only occur if the RTCP mux policy is "require", which is
why we started hitting it recently (the default in unit tests was
recently changed to "require").

BUG=webrtc:6776
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2542233002
Cr-Commit-Position: refs/heads/master@{#15369}
2016-12-01 20:26:33 +00:00
f29e05d774 Add linearly spaced counting histograms
This change adds HistogramFactoryGetCountsLinear and
RTC_HISTOGRAM_COUNTS_LINEAR. Note that the default implementation of
HistogramFactoryGetCounts in metrics_default.cc also provides a
linearly spaced histogram, while the Chrome UMA implementation
provides exponentially spaced buckets.

BUG=none

Review-Url: https://codereview.webrtc.org/2548463002
Cr-Commit-Position: refs/heads/master@{#15367}
2016-12-01 17:58:53 +00:00
1454669c1d Cleanup RtpHeaderExtensionMap removing use of two legacy functions
BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2491273002
Cr-Commit-Position: refs/heads/master@{#15366}
2016-12-01 16:39:44 +00:00
182e4a4aff Remove bitrate cap for AdaptiveVideoSource and increase other caps to 25 Mbps.
AdaptiveVideoSource is used in testing/simulations of the bandwidth estimator.

Nada's reaction to delay depends on the current bitrate and the configured max rate in a non-intuituve way. Increase the starting bitrate to compensate for the increased max bitrate. This is only used in unit tests.

BUG=webrtc:6807

# Presubmit warns about a lint error in bwe.h that's unrelated to my change. Fixing it is beyond the scope of this CL.
NOPRESUBMIT=true

Review-Url: https://codereview.webrtc.org/2542843003
Cr-Commit-Position: refs/heads/master@{#15364}
2016-12-01 15:29:15 +00:00
1a646ee522 Wire up BitrateAllocation to be sent as RTCP TargetBitrate
This is the video parts of https://codereview.webrtc.org/2531383002/
Wire up BitrateAllocation to be sent as RTCP TargetBitrate

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2541303003
Cr-Commit-Position: refs/heads/master@{#15359}
2016-12-01 14:34:18 +00:00
5e38c967e0 Wire up RTCP XR target bitrate in rtp/rtcp module
This is breakout of the rtcp parts of
https://codereview.webrtc.org/2531383002/

BUG=webrtc:6301

Review-Url: https://codereview.webrtc.org/2546713002
Cr-Commit-Position: refs/heads/master@{#15358}
2016-12-01 13:18:19 +00:00
5e13d41124 Remove limit on how often quality scaling downscales
When starting from 720p this is necessary to achieve acceptable
quality at low bitrates.

BUG=webrtc:6495

Review-Url: https://codereview.webrtc.org/2538913003
Cr-Commit-Position: refs/heads/master@{#15356}
2016-12-01 11:59:56 +00:00
86cf9a2474 Increase test timeout to combat flakiness.
These tests have been a little flaky on the bots.
Hopefully increasing the timeout by 200% will help.

BUG=webrtc:6799

Review-Url: https://codereview.webrtc.org/2541743006
Cr-Commit-Position: refs/heads/master@{#15355}
2016-12-01 10:57:07 +00:00
e90adcef42 Remove OnLocalSsrcChanged
Removing the unused interface OnLocalSsrcChanged.

BUG=webrtc:6456

Review-Url: https://codereview.webrtc.org/2546703002
Cr-Commit-Position: refs/heads/master@{#15354}
2016-12-01 10:39:49 +00:00
665bc3c7ad Move webrtc/api/androidtests to webrtc/sdk/android/instrumentationtests
BUG=webrtc:5882
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2541823002
Cr-Commit-Position: refs/heads/master@{#15352}
2016-12-01 09:45:35 +00:00
2bc324cc5a Add method on AVFoundation capturer to adapt output format.
This CL makes a method available on the AVFoundationVideoCapturer
that adapts the output format of captured video to the specified
width and height.

BUG=webrtc:6753

Review-Url: https://codereview.webrtc.org/2528493004
Cr-Commit-Position: refs/heads/master@{#15351}
2016-12-01 09:36:22 +00:00
dd40702357 Move VideoDecoder::Create() logic to separate internal video decoder factory
The goal with this CL is to move implementation details out from the
webrtc root (webrtc/video_decoder.h) to simplify the dependency graph.
Another goal is to streamline the creation of VideoDecoders in
webrtcvideoengine2.cc; it will now have two factories of the same
WebRtcVideoDecoderFactory type, one internal and one external.

Specifically, this CL:
 * Removes webrtc::VideoDecoder::DecoderType and use webrtc::VideoCodecType
   instead.
 * Removes 'static VideoDecoder* Create(DecoderType codec_type)' and
   moves the create function to the internal decoder factory instead.
 * Removes video_decoder.cc. webrtc::VideoDecoder is now just an
   interface without any static functions.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2521203002
Cr-Commit-Position: refs/heads/master@{#15350}
2016-12-01 08:27:35 +00:00
aa354c9512 Rename full_stack.cc to full_stack_tests.cc.
Also rename the accompanying plot file.

BUG=None

Review-Url: https://codereview.webrtc.org/2529293006
Cr-Commit-Position: refs/heads/master@{#15349}
2016-12-01 08:20:24 +00:00
a974d76c74 Enable VideoToolbox encoder on mac
BUG=webrtc:6317

Review-Url: https://codereview.webrtc.org/2532983006
Cr-Commit-Position: refs/heads/master@{#15348}
2016-12-01 08:16:54 +00:00
ed6e077263 Make SurfaceTextureHelper and I420Frame public in Java.
This change makes the Java classes and constructors for
SurfaceTextureHelper and I420Frame public. This allows applications to
use the WebRTC CameraVideoCapturer to obtain raw frames, and to render
frames on the WebRTC VideoRenderer without having to pass them through a
VideoTrack - such as when using Quartc.

BUG=None.

Review-Url: https://codereview.webrtc.org/2544563002
Cr-Commit-Position: refs/heads/master@{#15344}
2016-11-30 22:40:23 +00:00
a15948c9c6 Change assert to RTC_DCHECK in bwe_test_logging.cc
BUG=None
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2546483002
Cr-Commit-Position: refs/heads/master@{#15343}
2016-11-30 17:02:26 +00:00
3a9bc1790a Allow custom drawers to be added to framelisteners.
BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2541053002
Cr-Commit-Position: refs/heads/master@{#15342}
2016-11-30 16:30:11 +00:00
06c1d6484e Prep to remove API-related #defines from voice_engine_configurations.h
The follwing #defines are marked as deprecated:
- WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
- WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
- WEBRTC_VOICE_ENGINE_RTP_RTCP_API
- WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
- WEBRTC_VOICE_ENGINE_HARDWARE_API
- WEBRTC_VOICE_ENGINE_FILE_API
- WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API
- WEBRTC_VOICE_ENGINE_CODEC_API
- WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2538093003
Cr-Commit-Position: refs/heads/master@{#15341}
2016-11-30 16:21:54 +00:00
9332b7d0ad Reland "Update rtt on audio only calls".
https://codereview.webrtc.org/2402333002

BUG=webrtc:6508

Review-Url: https://codereview.webrtc.org/2530383002
Cr-Commit-Position: refs/heads/master@{#15340}
2016-11-30 15:51:19 +00:00
93c5d030fc Start gathering perf data for VP8 + FlexFEC.
This is to assess the performance penalty of the (current)
lack of integration with FlexFEC and BWE.

This CL also enables send-side BWE for the following tests:
- foreman_cif_net_delay_0_0_plr_0_VP9
- foreman_cif_net_delay_0_0_plr_0_H264
- foreman_cif_delay_50_0_plr_5_VP9
- foreman_cif_delay_50_0_plr_5_H264
- foreman_cif_delay_50_0_plr_5_H264_flexfec
- foreman_cif_delay_50_0_plr_5_H264_ulpfec
Perf alerts on these tests are therefore expected.

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

Review-Url: https://codereview.webrtc.org/2534203004
Cr-Commit-Position: refs/heads/master@{#15339}
2016-11-30 15:50:13 +00:00
13d38fbe90 Delete all of the video_processing module but the denoiser code.
It is unused since cl https://codereview.webrtc.org/2386573002.

The new denoiser implementation and its tests are kept for now. This
code is also unused, but there are some plans to take this code into
use in the not too distant future.

BUG=None

Review-Url: https://codereview.webrtc.org/2496153002
Cr-Commit-Position: refs/heads/master@{#15338}
2016-11-30 15:44:59 +00:00
13f1a0a9ca Wire up x-google-{min,start,max}-bitrate to WebRtcVoiceMediaChannel.
BUG=webrtc:6793

Review-Url: https://codereview.webrtc.org/2534173002
Cr-Commit-Position: refs/heads/master@{#15337}
2016-11-30 15:23:07 +00:00
127387e5ce Delete nalu parser in mediaencoder
We already have an implementation in h264_common. We should have
as few of these as possible as they are subtly hard to get right
and it creates work to maintain N implementations.

BUG=webrtc:6546

Review-Url: https://codereview.webrtc.org/2538133002
Cr-Commit-Position: refs/heads/master@{#15336}
2016-11-30 15:12:54 +00:00
cb861e074a Templatize percentile_filter.h and move it to base/analytics.
BUG=None

Review-Url: https://codereview.webrtc.org/2529063002
Cr-Commit-Position: refs/heads/master@{#15334}
2016-11-30 14:52:06 +00:00
4b9a2cb0d8 Reland "Renaming AudioEncoder::SetTargetBitrate and SetProjectedPacketLossRate."
The earlier attempt of this was in
https://codereview.webrtc.org/2411613002/

It was reverted due to failures on internal bots, showing that we cannot deprecate one method.

BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2538493006
Cr-Commit-Position: refs/heads/master@{#15333}
2016-11-30 14:50:08 +00:00
26bddb92f0 Replace test_support_main by test_main and get rid of test_support_main_threaded_mac
test_support_main_threaded_mac doesn't seem to be used. It looks like it was
last used about a year and a half ago, and was removed in
https://webrtc-codereview.appspot.com/55379004

BUG=webrtc:6424
R=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2540693002
Cr-Commit-Position: refs/heads/master@{#15332}
2016-11-30 14:12:10 +00:00
18f7c8d4df Remove warning suppression from VideoToolboxEncoder
This warning no longer needs to be supressed as the issue
has been fixed.

BUG=webrtc:6307
TBR=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2537293003
Cr-Commit-Position: refs/heads/master@{#15331}
2016-11-30 13:31:07 +00:00
076c0118c5 Change unit of logged bitrate stats in bytes/s to bits/s.
Multiplier added to ToString method in AggregatedStats.

BUG=webrtc:5283

Review-Url: https://codereview.webrtc.org/2535323003
Cr-Commit-Position: refs/heads/master@{#15330}
2016-11-30 13:17:21 +00:00
aff96361d3 Greatly reduce number of level controller tests.
These tests have been causing a large number of false alerts, which is
tons of work for the perf sheriff. It's infeasible to test every single
permutation, so we must choose carefully. This CL reduces the number
of RESULT lines from the test from ~450 to ~50. I attempted to choose
interesting permutations, but you probably know better what's
interesting...

https://chromeperf.appspot.com/report?
sid=a7193c96f708018848ca07ad9c78ac657cadab3c70b3939c42bd7d70a092d61a
also suggests most of the metrics have enormous standard deviations,
so maybe you could look into how stable the metrics really are
and remove/stabilize the ones that aren't?

BUG=chromium:666725

Review-Url: https://codereview.webrtc.org/2529393006
Cr-Commit-Position: refs/heads/master@{#15329}
2016-11-30 13:04:47 +00:00
6a2e20ad14 Make sure GetLastError on a PlatformThread return an error that is relevant to the thread.
BUG=none

Review-Url: https://codereview.webrtc.org/2541003002
Cr-Commit-Position: refs/heads/master@{#15328}
2016-11-30 12:53:14 +00:00