Commit Graph

9914 Commits

Author SHA1 Message Date
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
f24a06406a Recreate WebrtcVideoSendStream if screen content setting is changed.
This avoids the situation where an encoder, not supporting certain
screen content settings, is created for a config where screencast is
off, and later ReconfigureEncoder() is called updating the configuration
but not the encoder instance, causing an inconsistency in the encoder's
InitEncode() call.

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

Review-Url: https://codereview.webrtc.org/2710493008
Cr-Commit-Position: refs/heads/master@{#16921}
2017-02-28 21:23:26 +00:00
b050cf9903 Disable ViEEncoderTest.InitialFrameDropOffWhenEncoderDisabledScaling on tsan
BUG=webrtc:7260
TBR=magjed@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2722863002
Cr-Commit-Position: refs/heads/master@{#16919}
2017-02-28 18:12:29 +00:00
9751c45910 Provide an inline implementation of IsEnabled.
This is temporary to avoid breaking downstream builds.

BUG=none
TBR=sprang@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2719233003
Cr-Commit-Position: refs/heads/master@{#16918}
2017-02-28 17:26:22 +00:00
907abd8414 Re-enable disabled test and upgrade avformatmappertests to OCMock 3 syntax.
BUG=webrtc:7137

Review-Url: https://codereview.webrtc.org/2724443003
Cr-Commit-Position: refs/heads/master@{#16917}
2017-02-28 17:14:45 +00:00
c1b57a15bf Test field trial group with startswith rather than equals.
BUG=webrtc:7266

Review-Url: https://codereview.webrtc.org/2717973005
Cr-Commit-Position: refs/heads/master@{#16915}
2017-02-28 16:50:47 +00:00
f8ee65ead6 Fix rare race in ViEEncoderTest.UMACpuLimitedResolutionInPercent
The test aims to synchronize by waiting for the last sent frame, using
sink_.WaitForEncodedFrame(). Then it stops the vie_encoder instance and
finally reset the SendStatsProxy to trigger UMA stats to be registered.

The problem is that the callback that triggers WaitForEncodedFrame() to
release will call FrameSent() on the overuse detecter just after that,
and so it may try to update the stats proxy while it is being deleted.

To prevent this, simply destroy the vie_encoder instance too, so that
we know that the task queue has been stopped.

BUG=None

Review-Url: https://codereview.webrtc.org/2720183004
Cr-Commit-Position: refs/heads/master@{#16914}
2017-02-28 16:49:33 +00:00
ba08a140da Remove saturation warning support from TransmitMixer.
BUG=none

Review-Url: https://codereview.webrtc.org/2720253002
Cr-Commit-Position: refs/heads/master@{#16913}
2017-02-28 16:25:11 +00:00
e3e902eef9 Restructure protobuf targets to fit with downstream requirements.
The paths of the protobuf output files needs to match the actual tree path
in order for Bazel builds to work.

BUG=webrtc:6412
NOTRY=True

Review-Url: https://codereview.webrtc.org/2716413004
Cr-Commit-Position: refs/heads/master@{#16912}
2017-02-28 16:01:46 +00:00
a2508c1e0f Fix reporting QP in FFmpeg H264 encoder.
The QP was previously written after calling OnEncodedImage. This was a
bug.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2718353003
Cr-Commit-Position: refs/heads/master@{#16911}
2017-02-28 15:57:00 +00:00
2dfea3e548 Avoid busy looping as the VideoReceiveStream is shut down.
BUG=webrtc:7269

Review-Url: https://codereview.webrtc.org/2720963003
Cr-Commit-Position: refs/heads/master@{#16910}
2017-02-28 15:19:43 +00:00
aebc61e3dc Minor cleanups in VideoProcessor.
This CL is broken out from a future "real" CL, that introduces
support for pipelining HW codecs to VideoProcessor. I order to
simplify the reviewing of that CL a bit, some of the cleanups are
split out here.

No functional changes are intended.

BUG=webrtc::6634

Review-Url: https://codereview.webrtc.org/2709123004
Cr-Commit-Position: refs/heads/master@{#16909}
2017-02-28 15:13:47 +00:00
b61927c687 Avoid busy looping in case of send failure while probing.
BUG=webrtc:7255

Review-Url: https://codereview.webrtc.org/2719183004
Cr-Commit-Position: refs/heads/master@{#16908}
2017-02-28 15:05:23 +00:00
13f54b2c56 Rename RTCCodecStats.codec -> mimeType, parameters -> sdpFmtpLine.
As per https://github.com/w3c/webrtc-stats/pull/168.

NOTRY due to broken linux_ubsan_vptr, all other tests passed.

BUG=webrtc:7061
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718383002
Cr-Commit-Position: refs/heads/master@{#16907}
2017-02-28 14:56:04 +00:00
7562fc8adb Make hbos and hta rtcstats* OWNERS of webrtc/pc, not webrtc/api.
We were already OWNERS of these files, but when these files were moved
from webrtc/api/ to webrtc/pc/ and a new OWNERS file created our
ownership was accidentally not moved.

Becoming per-file=rtcstats* OWNER of webrtc/pc/ which includes:
 rtcstats_integrationtest.cc
 rtcstatscollector.cc
 rtcstatscollector.h
 rtcstatscollector_unittest.cc

Dropping ownership of webrtc/api/ which no longer includes any
rtcstats* files.

Already OWNER of all of webrtc/api/stats/ which includes:
 rtcstats.h
 rtcstats_objects.h
 rtcstatscollectorcallback.h
 rtcstatsreport.h

Already OWNER of all of webrtc/stats/ which includes:
 rtcstats.cc
 rtcstats_objects.cc
 rtcstats_unittest.cc
 rtcstatsreport.cc
 rtcstatsreport_unittest.cc

BUG=webrtc:7060
TBR=hta@webrtc.org, deadbeef@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2726563002
Cr-Commit-Position: refs/heads/master@{#16906}
2017-02-28 14:46:44 +00:00
bf8d3e572c RTCIceCandidatePairStats.[total/current]RoundTripTime collected.
Collected in accordance with the spec:
https://w3c.github.io/webrtc-stats/#candidatepair-dict*

totalRoundTripTime is collected as the sum of rtt measurements, it was
previously not collected.
currentRoundTripTime is collected as the latest rtt measurement, it
was previously collected as a smoothed value, which was incorrect.

Connection is updated to collect these values which are surfaced
through ConnectionInfo.

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2719523002
Cr-Commit-Position: refs/heads/master@{#16905}
2017-02-28 14:34:47 +00:00
4e836828f4 Fix non-functional nit in videoadapter
We should DCHECK alignment of width, not height.

BUG=None

Review-Url: https://codereview.webrtc.org/2726543002
Cr-Commit-Position: refs/heads/master@{#16904}
2017-02-28 14:30:59 +00:00
275234763b Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2725573002/ )
Reason for revert:
breaks linux_ubsan bots.

Original issue's description:
> Reland of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2712133003/ )
>
> Reason for revert:
> Relanding - using sched_yield() in PlatformThread on all posix platforms.
>
> Original issue's description:
> > Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
> >
> > Reason for revert:
> > Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.
> >
> > Original issue's description:
> > > Use sched_yield on all POSIX platforms in PlatformThread.
> > > (not only MacOS)
> > >
> > > This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
> > >
> > > BUG=695438
> > > TBR=solenberg@webrtc.org
> > >
> > > Review-Url: https://codereview.webrtc.org/2716683002 .
> > > Cr-Commit-Position: refs/heads/master@{#16807}
> > > Committed: 384498abb5
> >
> > TBR=solenberg@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=695438
> >
> > Review-Url: https://codereview.webrtc.org/2712133003
> > Cr-Commit-Position: refs/heads/master@{#16833}
> > Committed: 3ba1a8cd1b
>
> TBR=solenberg@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=695438
>
> Review-Url: https://codereview.webrtc.org/2725573002
> Cr-Commit-Position: refs/heads/master@{#16899}
> Committed: 4974df4183

TBR=solenberg@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=695438

Review-Url: https://codereview.webrtc.org/2721893002
Cr-Commit-Position: refs/heads/master@{#16903}
2017-02-28 14:20:38 +00:00
b1629cf5d6 Avoid overflow in NetEq's TimeStretch::SpeechDetection
BUG=chromium:675193
R=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2718943004 .
Cr-Commit-Position: refs/heads/master@{#16902}
2017-02-28 13:58:30 +00:00
3fd31fe502 Fix TSAN race in webrtc::voe::Channel.
|transport_overhead_per_packet_| and |rtp_overhead_per_packet_| could
be read from and written to on different threads concurrently. This CL
introduces a lock to GUARD these variables.

NOTRY because master.tryserver.webrtc.linux_ubsan_vptr is broken, all
other tests pass.

BUG=webrtc:7231
NOTRY=True

Review-Url: https://codereview.webrtc.org/2710363003
Cr-Commit-Position: refs/heads/master@{#16900}
2017-02-28 13:43:16 +00:00
4974df4183 Reland of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2712133003/ )
Reason for revert:
Relanding - using sched_yield() in PlatformThread on all posix platforms.

Original issue's description:
> Revert of Use sched_yield on all POSIX platforms in PlatformThread. (patchset #1 id:1 of https://codereview.webrtc.org/2716683002/ )
>
> Reason for revert:
> Reverting this change since it didn't affect the perf regressions we were seeing and actually seems to have caused more regressions as per comment in the bug.
>
> Original issue's description:
> > Use sched_yield on all POSIX platforms in PlatformThread.
> > (not only MacOS)
> >
> > This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().
> >
> > BUG=695438
> > TBR=solenberg@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2716683002 .
> > Cr-Commit-Position: refs/heads/master@{#16807}
> > Committed: 384498abb5
>
> TBR=solenberg@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=695438
>
> Review-Url: https://codereview.webrtc.org/2712133003
> Cr-Commit-Position: refs/heads/master@{#16833}
> Committed: 3ba1a8cd1b

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

Review-Url: https://codereview.webrtc.org/2725573002
Cr-Commit-Position: refs/heads/master@{#16899}
2017-02-28 11:17:32 +00:00
78f2d21e74 Fixed cpu time unittest to be less flaky
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2725553002
Cr-Commit-Position: refs/heads/master@{#16897}
2017-02-28 10:24:10 +00:00
50235b77d0 Make FakeNetworkPipe not busy loop any more.
BUG=webrtc:7259, webrtc:7255

Review-Url: https://codereview.webrtc.org/2718343002
Cr-Commit-Position: refs/heads/master@{#16896}
2017-02-28 10:19:33 +00:00
ab210c8ad9 Added memory usage function to webrtc/base/.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2706403010
Cr-Commit-Position: refs/heads/master@{#16895}
2017-02-28 10:18:27 +00:00
322a9e42f8 Handle TimeUntilNextProcess in StartupShutdownWithExternalADM
BUG=webrtc:7258

Review-Url: https://codereview.webrtc.org/2719113002
Cr-Commit-Position: refs/heads/master@{#16894}
2017-02-28 10:12:57 +00:00
d9cbd5138d Remove unused include from rtc_event_log_parser.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2723533002
Cr-Commit-Position: refs/heads/master@{#16893}
2017-02-28 09:46:19 +00:00
f2183ffbf6 Create unit test for VideoReceiveStream.
- Create an unit test skeleton for VideoReceiveStream.
- Add an actual test case for creating a frame from H264 Sprop Parameter
  Sets and an Rtp H264 IDR Nalu.

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2721653002
Cr-Commit-Position: refs/heads/master@{#16892}
2017-02-28 09:33:09 +00:00
b1175bb101 Simplify webrtc::voe::MonitorModule and remove the .cc file.
The class basically implements a timer and can be replaced with a PostDelayedTask call down the line.

BUG=none

Review-Url: https://codereview.webrtc.org/2722613002
Cr-Commit-Position: refs/heads/master@{#16891}
2017-02-28 09:16:48 +00:00
985371bda9 Revert of Move fake_audio_device to its own target. (patchset #5 id:80001 of https://codereview.webrtc.org/2717983003/ )
Reason for revert:
Breaks build DEPS.

Original issue's 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
>
> Review-Url: https://codereview.webrtc.org/2717983003
> Cr-Commit-Position: refs/heads/master@{#16889}
> Committed: 03d850ddf9

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

Review-Url: https://codereview.webrtc.org/2718083003
Cr-Commit-Position: refs/heads/master@{#16890}
2017-02-28 08:56:28 +00:00
03d850ddf9 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

Review-Url: https://codereview.webrtc.org/2717983003
Cr-Commit-Position: refs/heads/master@{#16889}
2017-02-28 08:49:48 +00:00
21d110fe4e Enable include check for webrtc_h264 target
BUG=webrtc:7242,webrtc:6828

Review-Url: https://codereview.webrtc.org/2718143002
Cr-Commit-Position: refs/heads/master@{#16888}
2017-02-28 08:28:04 +00:00
f9495c3199 Avoid calling TimeUntilNextProcess() from Process() in BitrateControllerImpl
BUG=none

Review-Url: https://codereview.webrtc.org/2725433002
Cr-Commit-Position: refs/heads/master@{#16887}
2017-02-28 08:05:27 +00:00
1c6cc9a05f Enable GN check for webrtc/common_video
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715113002
Cr-Commit-Position: refs/heads/master@{#16883}
2017-02-28 00:37:54 +00:00
2f1a555839 Enable GN check for webrtc/call
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2720503003
Cr-Commit-Position: refs/heads/master@{#16882}
2017-02-27 23:57:45 +00:00