Commit Graph

9947 Commits

Author SHA1 Message Date
eda3a9b582 Revert of Enable GN check for webrtc/examples (patchset #7 id:120001 of https://codereview.webrtc.org/2714343002/ )
Reason for revert:
I wasn't able to resolve it with that CL so I'll have to revert this by now.

Will have another look at this when time permits.

Original issue's description:
> Enable GN check for webrtc/examples
>
> BUG=webrtc:6828
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2714343002
> Cr-Commit-Position: refs/heads/master@{#16987}
> Committed: 81db74a384

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

Review-Url: https://codereview.webrtc.org/2727253003
Cr-Commit-Position: refs/heads/master@{#16991}
2017-03-03 06:27:29 +00:00
2f6af9ca7a Revert of GN: Include webrtc/api targets even if rtc_include_tests=false (patchset #2 id:20001 of https://codereview.webrtc.org/2725053008/ )
Reason for revert:
Fails Chromium builds:
b/c/b/linux/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //third_party/webrtc/api/BUILD.gn:186:5: Can't load input file.
    "//webrtc/test:test_support",
    ^-------------------------

Original issue's description:
> GN: Include webrtc/api targets even if rtc_include_tests=false
>
> The main purpose with the rtc_include_tests GN variable is to avoid
> generating and compiling all the test targets.
> Some of our examples have dependencies on the test headers in API,
> so therefore this change is relaxing that condition.
>
> BUG=webrtc:6828
> NOTRY=True
> TBR=ehmaldonado@webrtc.org,
>
> Review-Url: https://codereview.webrtc.org/2725053008
> Cr-Commit-Position: refs/heads/master@{#16989}
> Committed: a769ceba65

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

Review-Url: https://codereview.webrtc.org/2728073002
Cr-Commit-Position: refs/heads/master@{#16990}
2017-03-03 06:26:23 +00:00
a769ceba65 GN: Include webrtc/api targets even if rtc_include_tests=false
The main purpose with the rtc_include_tests GN variable is to avoid
generating and compiling all the test targets.
Some of our examples have dependencies on the test headers in API,
so therefore this change is relaxing that condition.

BUG=webrtc:6828
NOTRY=True
TBR=ehmaldonado@webrtc.org,

Review-Url: https://codereview.webrtc.org/2725053008
Cr-Commit-Position: refs/heads/master@{#16989}
2017-03-03 06:25:03 +00:00
81db74a384 Enable GN check for webrtc/examples
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2714343002
Cr-Commit-Position: refs/heads/master@{#16987}
2017-03-03 05:29:29 +00:00
cfa95aa995 Enable GN check in voice_engine/
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2714353002
Cr-Commit-Position: refs/heads/master@{#16986}
2017-03-03 05:28:23 +00:00
c4e9d210b3 BlankDetectorDesktopCapturerWrapper to detect a blank DesktopFrame
DXGI capturer highly depends on video adapter and its driver, as well as Windows
itself. I recently found it cannot work on my virtualbox instance any more,
which indicates it may not work well on some specific systems. What worse is,
the APIs do not return a failure in such case.

So this change adds a BlankDetectorDesktopCapturerWrapper, which samples several
pixels in the frame returned by a DesktopCapturer implementation. If all the
pixels selected are blank, this wrapper returns a failure. A typical usage is to
combine BlankDetectorDesktopCapturerWrapper with FallbackDesktopCapturerWrapper,
and use GDI capturer in case of failure.

Usually less than 500 pixels are checked, so the
BlankDetectorDesktopCapturerWrapper should not impact the capturer performance.

This change is expected to resolve bug 682112 in another dimension.

BUG=682112

Review-Url: https://codereview.webrtc.org/2709523003
Cr-Commit-Position: refs/heads/master@{#16984}
2017-03-03 01:38:36 +00:00
bfc7f02d79 ArrayView: Support compile-time constant sizes
BUG=none

Review-Url: https://codereview.webrtc.org/2667383006
Cr-Commit-Position: refs/heads/master@{#16981}
2017-03-02 20:33:50 +00:00
0c4b849b27 Pick a matching CN codec, rather than the first CN codec.
It seems to me that we're currently just picking the first CN codec, rather than the one that matches the clock rate of the voice codec. The only test I've gotten to fail by changing this behavior is the one that's also changed in this CL, which explicitly expects a CN codec to be chosen even though there's none matching.

BUG=webrtc:7282

Review-Url: https://codereview.webrtc.org/2707133007
Cr-Commit-Position: refs/heads/master@{#16979}
2017-03-02 19:03:25 +00:00
a563c21e6a Increase kMinRequiredSamples (5 -> 200) for updating histogram stats from OnFrameBufferTimingsUpdated callback.
Callback used to be reported periodically (each 1000ms) but is now reported per frame.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2729903002
Cr-Commit-Position: refs/heads/master@{#16977}
2017-03-02 16:25:46 +00:00
9fd9f6c15f Fixed VP8 simulcast full-stack-tests to not decode non-selected streams.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2730433005
Cr-Commit-Position: refs/heads/master@{#16976}
2017-03-02 16:10:10 +00:00
0473b1dc03 Go back to only using sched_yield on Mac (sigh)
Using sched_yield on Linux seems to be causing RestartingSendStreamPreservesRtpStatesWithRtx/0 to never complete.

BUG=webrtc:7187
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2732443002
Cr-Commit-Position: refs/heads/master@{#16975}
2017-03-02 16:08:59 +00:00
4c6df8893e Revert of Add QP for FFmpeg H264 decoder. (patchset #4 id:200001 of https://codereview.webrtc.org/2649133007/ )
Reason for revert:
Let's revert this while we investigate a problem in H264 bitstream parser.

Original issue's description:
> Add QP for FFmpeg H264 decoder.
>
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2649133007
> Cr-Commit-Position: refs/heads/master@{#16942}
> Committed: 879f4f6c31

TBR=sprang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6541, chromium:697795

Review-Url: https://codereview.webrtc.org/2726973003
Cr-Commit-Position: refs/heads/master@{#16974}
2017-03-02 15:22:26 +00:00
500f1b7a32 Add a DCHECK for PlatformThread instances that are too busy.
This adds a simple mechanism that provides protection against
implementations that use the legacy callback type in PlatformThread
and are prone to entering a busy loop.

Enabled only in DCHECK enabled builds.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2720223003
Cr-Commit-Position: refs/heads/master@{#16973}
2017-03-02 15:07:09 +00:00
cabea3dbf2 Revert of H264BitstreamParser: Log nalu type when parsing slice type fails. (patchset #1 id:60001 of https://codereview.webrtc.org/2726833005/ )
Reason for revert:
Investigation complete.

Original issue's description:
> H264BitstreamParser: Log nalu type when parsing slice type fails.
>
> Decreases all parsing failures to a warning because they are not
> critical errors. This is a speculative commit to help diagnose
> why bots are failing.
>
> BUG=chromium:697795
> TBR=stefan@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2726833005
> Cr-Commit-Position: refs/heads/master@{#16966}
> Committed: 6bce6ad485

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

Review-Url: https://codereview.webrtc.org/2723883004
Cr-Commit-Position: refs/heads/master@{#16972}
2017-03-02 14:55:07 +00:00
9f5b6224e8 Disabled flaky VideoSendStreamTest.DoesUtilizeUlpfecForVp*WithNackEnabled
BUG=webrtc:7285
TBR=sprang@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2727263002
Cr-Commit-Position: refs/heads/master@{#16971}
2017-03-02 14:22:21 +00:00
0d3573976c Drop out of order frames in VideoRenderFrames.
BUG=webrtc:7253

Review-Url: https://codereview.webrtc.org/2724823004
Cr-Commit-Position: refs/heads/master@{#16970}
2017-03-02 13:59:42 +00:00
a44ba63cb7 APM Quality Assessment tool, new owners
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2729023002
Cr-Commit-Position: refs/heads/master@{#16969}
2017-03-02 13:41:07 +00:00
68af10de7f Revert of fixed VP8 simulcast to not decode non-selected streams (patchset #5 id:80001 of https://codereview.webrtc.org/2728553003/ )
Reason for revert:
Causes regression in VP8 simulcast metrics (receive time, encoded frame size, etc) as two excluded streams' decoders request keyframes periodically, which affects metrics of a selected stream.

Original issue's description:
> In full-stack tests: fixed VP8 simulcast to not decode non-selected streams.
>
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2728553003
> Cr-Commit-Position: refs/heads/master@{#16948}
> Committed: 8dccd67520

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

Review-Url: https://codereview.webrtc.org/2729623005
Cr-Commit-Position: refs/heads/master@{#16967}
2017-03-02 12:59:33 +00:00
6bce6ad485 H264BitstreamParser: Log nalu type when parsing slice type fails.
Decreases all parsing failures to a warning because they are not
critical errors. This is a speculative commit to help diagnose
why bots are failing.

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

Review-Url: https://codereview.webrtc.org/2726833005
Cr-Commit-Position: refs/heads/master@{#16966}
2017-03-02 12:34:32 +00:00
fb4f8b6cb4 VoE Utility: Fix a naming nit in RemixAndResample
This was pointed out in https://codereview.webrtc.org/2712743004 after
committing.

BUG=webrtc:7220
NOTRY=True
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2721123005
Cr-Commit-Position: refs/heads/master@{#16965}
2017-03-02 12:10:57 +00:00
0c29de5579 Android HW decoder: Limit frame size based on cropping information
BUG=webrtc:7267

Review-Url: https://codereview.webrtc.org/2722803002
Cr-Commit-Position: refs/heads/master@{#16963}
2017-03-02 08:55:32 +00:00
55eb6d6214 vp8_impl.cc: Enable postproc for arm under field trial.
For resolutions:
<= 320x240: enable full postproc (VP8_MFQE, VP8_DEBLOCK, VP8_DEMACROBLOCK).
> 320x240: enable VP8_MFQE.

TBR=marpan@webrtc.org
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2696403002
Cr-Commit-Position: refs/heads/master@{#16962}
2017-03-02 07:52:16 +00:00
2c48d0c531 Relanding: Remove the IceTransportInternal2.
Introduing IceTransportInternal2 is a temporary fix to switch the base
class of P2PTransportChannel to IceTransportInternal without breaking
Chromium. It is removed in this CL.

Reland this CL after Chromium doesn't depend on this.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2632563002
Cr-Original-Commit-Position: refs/heads/master@{#16131}
Committed: c7953fa716
Review-Url: https://codereview.webrtc.org/2632563002
Cr-Commit-Position: refs/heads/master@{#16960}
2017-03-02 06:47:18 +00:00
d3edd770ad Introduce dchecked_cast, and start using it
It's the faster, less strict cousin of checked_cast.

BUG=none

Review-Url: https://codereview.webrtc.org/2714063002
Cr-Commit-Position: refs/heads/master@{#16958}
2017-03-02 02:52:48 +00:00
796b8f9d71 Remove usage of VoEVolumeControl from WVoE and Audio[Send|Receive]Stream.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2721003002
Cr-Commit-Position: refs/heads/master@{#16956}
2017-03-02 01:02:23 +00:00
d48f488bed Support GCM ciphers even if ENABLE_EXTERNAL_AUTH is defined.
With ENABLE_EXTERNAL_AUTH, external auth will only be used depending
on the selected cipher (allowed for non-GCM, not allowed for GCM).

BUG=webrtc:5222, chromium:628400

Review-Url: https://codereview.webrtc.org/2720663003
Cr-Commit-Position: refs/heads/master@{#16955}
2017-03-01 23:34:36 +00:00
634fcb32e3 DxgiOutputDuplicator AcquireNextFrame timeout can be 0
Timeout of AcquireNextFrame() can be 0. Though MSDN does not state it clear, I
tried it on my laptop, it works well, with almost zero capture time.
The screenshot is at https://drive.google.com/open?id=0B0OFNI4uoZGRNVZxekxCbm0ycmc.

BUG=682112

Review-Url: https://codereview.webrtc.org/2712353002
Cr-Commit-Position: refs/heads/master@{#16953}
2017-03-01 19:45:37 +00:00
2100c0ba13 Support N unsignaled audio streams.
BUG=webrtc:7175, webrtc:5208

Review-Url: https://codereview.webrtc.org/2685893002
Cr-Commit-Position: refs/heads/master@{#16952}
2017-03-01 19:29:29 +00:00
f7c26d40ab Small TransportFeedbackAdapterTest efficiency boost and TODO resolved
BUG=None

Review-Url: https://codereview.webrtc.org/2726853002
Cr-Commit-Position: refs/heads/master@{#16950}
2017-03-01 17:05:20 +00:00
8dccd67520 In full-stack tests: fixed VP8 simulcast to not decode non-selected streams.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2728553003
Cr-Commit-Position: refs/heads/master@{#16948}
2017-03-01 15:10:30 +00:00
50550e1440 Enable GN check for webrtc/common_audio
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2719743002
Cr-Commit-Position: refs/heads/master@{#16946}
2017-03-01 15:07:10 +00:00
daa574d1db Adding memory usage metric to full-stack video tests (only for WIN until we find more stable method to measure memory usage)
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2719013004
Cr-Commit-Position: refs/heads/master@{#16945}
2017-03-01 14:46:05 +00:00
0981cd16f2 Resolve inconsistent definition of video's webrtc::CodecSpecificInfo.
Following files define the same classes
- modules/video_coding/codecs/interface/video_codec_interface.h
- modules/video_coding/include/video_codec_interface.h

The first one is deprecated. As long as it is not removed, both files
should provide consistent class declarations. Otherwise any donwstream
project that includes its own codecs could experience memory
corruption issues.

Before this CL member declarations and ctor definition for
webrtc::CodecSpecificInfo diverged between both header files.

BUG=webrtc:7280

Review-Url: https://codereview.webrtc.org/2727633002
Cr-Commit-Position: refs/heads/master@{#16944}
2017-03-01 14:32:01 +00:00
e5d3a3ea78 Fix quick perf test setting that was accidentally inverted.
Bug was introduced in
https://codereview.webrtc.org/2717973005/
Only affects test output, so omitting bug.

BUG=None

Review-Url: https://codereview.webrtc.org/2723093002
Cr-Commit-Position: refs/heads/master@{#16943}
2017-03-01 14:20:56 +00:00
879f4f6c31 Add QP for FFmpeg H264 decoder.
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133007
Cr-Commit-Position: refs/heads/master@{#16942}
2017-03-01 14:19:09 +00:00
228c268065 Support 4 channel mic in Windows Core Audio
BUG=webrtc:7220

Review-Url: https://codereview.webrtc.org/2712743004
Cr-Commit-Position: refs/heads/master@{#16940}
2017-03-01 13:11:22 +00:00
c5726c1579 Cleanup video test target dependencies in video_test_common.
The purpose is to fix (Asan discovered) duble definitions in upstream project.

BUG=none

Review-Url: https://codereview.webrtc.org/2721303002
Cr-Commit-Position: refs/heads/master@{#16939}
2017-03-01 11:37:08 +00:00
a67e5f5de9 Fixing an overflow issue in NetEq::BackgroundNoise
BUG=chromium:676941

Review-Url: https://codereview.webrtc.org/2722533002
Cr-Commit-Position: refs/heads/master@{#16938}
2017-03-01 11:06:50 +00:00
f31969a584 Disable flaky test while working on improvement.
WebRtcVideoEngine2Test.RecreatesEncoderOnContentTypeChange is flaky.
Disable it temporarily, while working on improvement.

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

Review-Url: https://codereview.webrtc.org/2727503003
Cr-Commit-Position: refs/heads/master@{#16937}
2017-03-01 10:27:34 +00:00
b324640855 Owners file added
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2727613002
Cr-Commit-Position: refs/heads/master@{#16935}
2017-03-01 10:05:11 +00:00
5271ea6571 Switch temporal layer impl used for screenshare upper simulcast stream.
Use default temporal layers instead of the RealtimeTemporalLayers one.
When using low fps, having a single stream with much higher bitrate than
the lower simulcast stream causes poor rampup behavior.

Tested manually.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2723983002
Cr-Commit-Position: refs/heads/master@{#16934}
2017-03-01 09:58:17 +00:00
09f090c40e Remove workaround for bug 6986
BUG=webrtc:6986

Review-Url: https://codereview.webrtc.org/2681733002
Cr-Commit-Position: refs/heads/master@{#16933}
2017-03-01 09:57:11 +00:00
dc05017fc3 Disable AudioCoding tests on ios
BUG=webrtc:7057
TBR=minyue@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2721323002
Cr-Commit-Position: refs/heads/master@{#16932}
2017-03-01 09:16:51 +00:00
a7a9be159d Move RTCOutboundRTPStreamStats.roundTripTime to inbound, don't collect.
The value is being moved:
https://github.com/w3c/webrtc-stats/pull/167

Stop collecting this value. Our previous value was incorrect, our RTT
value was a smoothed value based on STUN pings but the spec says it
should be based on RTCP timestamps in RTCP Receiver Report (RR) on
inbound streams with isRemote=true (not supported).

Updated some bug references.

BUG=webrtc:7065, webrtc:7066

Review-Url: https://codereview.webrtc.org/2722633005
Cr-Commit-Position: refs/heads/master@{#16931}
2017-03-01 09:02:45 +00:00
deaf6fb071 Opus: Let the decoder interpret 2-byte payloads as DTX/CNG packets
This CL matches the work done in
https://codereview.webrtc.org/2693453003.

BUG=webrtc:7272
TBR=minyue@webrtc.org

Review-Url: https://codereview.webrtc.org/2723893004
Cr-Commit-Position: refs/heads/master@{#16930}
2017-03-01 08:49:18 +00:00
e985b3fe49 Adding metrics to AEC3.
This CL adds metrics reporting to AEC3.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2722453002
Cr-Commit-Position: refs/heads/master@{#16929}
2017-03-01 06:08:53 +00:00
999cf2bd7c Added further tuning of AEC3
TBR=henrik.lundin@webrtc.org
BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2720973005
Cr-Commit-Position: refs/heads/master@{#16928}
2017-03-01 06:07:05 +00:00
3c8771e929 Fixing "control reaches end of non-void function" compile warning.
Warning is benign in this case, and the returns won't ever actually be
hit.

BUG=chromium:697060

Review-Url: https://codereview.webrtc.org/2726633004
Cr-Commit-Position: refs/heads/master@{#16926}
2017-03-01 02:30:35 +00:00
340e3fd59f Split FlexFEC field trial in two.
- The "flexfec-03" codec is advertised in the SDP whenever the
  "WebRTC-FlexFEC-03-Advertised" field trial is enabled.
- Sending FlexFEC packets is enabled whenever the "flexfec-03" codec is
  negotiated, and the "WebRTC-FlexFEC-03" field trial is enabled.

After this CL, the number of calls to
WebRtcVideoChannel2::WebRtcVideoSendStream::SetCodec during renegotiation
will be reduced for cases when only one endpoint has the "WebRTC-FlexFEC-03"
field trial enabled.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2716733005
Cr-Commit-Position: refs/heads/master@{#16925}
2017-02-28 23:43:10 +00:00
16ccfdf457 Reland Move fake_audio_device to its own target.
Patchset 1 is patchset #5 id:80001 of https://codereview.webrtc.org/2717983003/
Patchset 2 fix call_perf_test dep on fake_audio_device.

This reverts commit 985371bda999c6db51286586c5850d2ff58f3511.

Original cl description:

Move fake_audio_device to its own target.
The purpose is to make it usefull for test targets that does not need or can use test_common.

For some reason this also triggered override issues in rtp module tests that are fixed in the same cl.

BUG=none
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718363002
Cr-Commit-Position: refs/heads/master@{#16922}
2017-02-28 22:41:05 +00:00