1144 Commits

Author SHA1 Message Date
brandtr
3b941bef7a Minor FlexFEC fixes.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2720693007
Cr-Commit-Position: refs/heads/master@{#17292}
2017-03-17 14:02:46 +00:00
ilnik
baded15381 Reland of write frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2751063005/ )
Fix reduced frame-rate on Mac and Android.

Also enable huge full-stack test Largeroom_50thumbs on Windows.

BUG=webrtc:7301

Review-Url: https://codereview.webrtc.org/2760583003
Cr-Commit-Position: refs/heads/master@{#17288}
2017-03-17 12:55:25 +00:00
tommi
b1db3702f7 Delete unsupported method VideoCodingModule::RegisterDecoderTimingCallback.
The implementation behind this method has been a noop for a long time.

BUG=none

Review-Url: https://codereview.webrtc.org/2757843002
Cr-Commit-Position: refs/heads/master@{#17286}
2017-03-17 12:35:43 +00:00
ilnik
2a420ce8c4 Revert of write frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #11 id:300001 of https://codereview.webrtc.org/2750473002/ )
Reason for revert:
Changes to frame-generator resulted in reduced fps on android and Mac on all tests.

Original issue's description:
> Reland of write frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2748643002/ )
>
> Reason for revert:
> Reland with fixes to the failing perf tests.
>
> Original issue's description:
> > Revert of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #2 id:90001 of https://codereview.webrtc.org/2744003002/ )
> >
> > Reason for revert:
> > CallPerfTest.ReceivesCpuOveruseAndUnderuse perf test fails due to this CL. It requires very accurate frame rate, which may not be so accurate now.
> >
> > Original issue's description:
> > > Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2743993002/ )
> > >
> > > And enable large full-stack test depending on that change (Reland of https://codereview.webrtc.org/2741823003/)
> > > TBR=stefan@webrtc.org,tommi@webrtc.org
> > > BUG=webrtc:7301,webrtc:7325
> > >
> > > Review-Url: https://codereview.webrtc.org/2744003002
> > > Cr-Commit-Position: refs/heads/master@{#17196}
> > > Committed: 8c0a5896d1
> >
> > TBR=stefan@webrtc.org,tommi@webrtc.org,sprang@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7301,webrtc:7325
> >
> > Review-Url: https://codereview.webrtc.org/2748643002
> > Cr-Commit-Position: refs/heads/master@{#17198}
> > Committed: 382a72a0d3
>
> BUG=webrtc:7301,webrtc:7325
>
> Review-Url: https://codereview.webrtc.org/2750473002
> Cr-Commit-Position: refs/heads/master@{#17253}
> Committed: 2549ad4fef

TBR=sprang@webrtc.org,tommi@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7301,webrtc:7325

Review-Url: https://codereview.webrtc.org/2751063005
Cr-Commit-Position: refs/heads/master@{#17276}
2017-03-16 16:43:44 +00:00
philipel
277a8b5c4f De-parameterized EndToEndTests.
BUG=webrtc:6790

Review-Url: https://codereview.webrtc.org/2756633004
Cr-Commit-Position: refs/heads/master@{#17272}
2017-03-16 12:19:49 +00:00
ehmaldonado
f7f7fb9cf8 Add traces for some video events.
This CL adds traces to compute the following metrics that getStats()
captures for video:
- googFrameRateSent
- googFrameRateInput
- googFirsReceived
- googNacksReceived
- googFrameWidthSent
- googFrameHeightSent
- googAvgEncodeMs
- googEncodeUsagePercent

BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2746903004
Cr-Commit-Position: refs/heads/master@{#17260}
2017-03-15 17:45:49 +00:00
ilnik
2549ad4fef Reland of write frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2748643002/ )
Reason for revert:
Reland with fixes to the failing perf tests.

Original issue's description:
> Revert of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #2 id:90001 of https://codereview.webrtc.org/2744003002/ )
>
> Reason for revert:
> CallPerfTest.ReceivesCpuOveruseAndUnderuse perf test fails due to this CL. It requires very accurate frame rate, which may not be so accurate now.
>
> Original issue's description:
> > Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2743993002/ )
> >
> > And enable large full-stack test depending on that change (Reland of https://codereview.webrtc.org/2741823003/)
> > TBR=stefan@webrtc.org,tommi@webrtc.org
> > BUG=webrtc:7301,webrtc:7325
> >
> > Review-Url: https://codereview.webrtc.org/2744003002
> > Cr-Commit-Position: refs/heads/master@{#17196}
> > Committed: 8c0a5896d1
>
> TBR=stefan@webrtc.org,tommi@webrtc.org,sprang@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7301,webrtc:7325
>
> Review-Url: https://codereview.webrtc.org/2748643002
> Cr-Commit-Position: refs/heads/master@{#17198}
> Committed: 382a72a0d3

BUG=webrtc:7301,webrtc:7325

Review-Url: https://codereview.webrtc.org/2750473002
Cr-Commit-Position: refs/heads/master@{#17253}
2017-03-15 14:48:54 +00:00
ilnik
35b7de480b Fix crash in vie_encoder when encoder configure fails
Bad changes are from CL 2745523002.

These changes were originally done by Sprang@. Sometimes, when encoder is failed to be configured on release build it causes a crash at vie_encoder.cc:451. That changes look like they are not important to other changes. This CL is simply reverting them.

BUG=chromium:701526

Review-Url: https://codereview.webrtc.org/2747403002
Cr-Commit-Position: refs/heads/master@{#17241}
2017-03-15 11:24:21 +00:00
nisse
cd386eb13f Delete support for sending RTCP RPSI and SLI messages.
BUG=webrtc:7338

Review-Url: https://codereview.webrtc.org/2746413003
Cr-Commit-Position: refs/heads/master@{#17229}
2017-03-14 15:54:43 +00:00
tommi
d0a71ba1ae Updates to VCMDecodedFrameCallback, VideoReceiver and a few related classes/tests.
* The _receiveCallback member of VCMDecodedFrameCallback does actually not require locking now that the threading model is slightly clearer. Documentation and checks have been added.
* UserReceiveCallback() never returns null and must always be called on the decoder thread. Checks have been added and the two test suites that were failing to set this callback, have been fixed and a new mock class added.  (looks like sakal@ may have hit some issues with flaky tests there).
* Changed VcmPayloadSink to use move semantics which I suspect was the intention at the time the code was written (when we didn't have move semantics).
* Added thread checker to a couple of classes and started adding thread checks for known behavior.  There's more to be  done there.
* Remove the |_decoder| member variable in VideoReceiver. It is not needed and as it could be used, left us open to a race.
* TODOs added for places where we can reduce locking. I suspect that we can get away with not needing a lock around _codecDataBase in VideoReceiver once we've got a clear picture of the threading model and ensured that all adhere to it.

BUG=webrtc:7328

Review-Url: https://codereview.webrtc.org/2744013002
Cr-Commit-Position: refs/heads/master@{#17226}
2017-03-14 11:16:20 +00:00
tommi
39e1289e64 Avoid holding lock while calling stream_resetter_ in MaxPaddingSetTest
BUG=webrtc:7330

Review-Url: https://codereview.webrtc.org/2745083002
Cr-Commit-Position: refs/heads/master@{#17207}
2017-03-13 12:15:14 +00:00
sprang
6ef1b34aae Fix perf test regression for screenshare and vp9.
Turns out temporal_layer_thresholds_bps doesn't work quite as expected.
It's for instance not honored at all for normal VP8 video. We need to
take a pass over this in general.

BUG=chromium:700297

Review-Url: https://codereview.webrtc.org/2744823002
Cr-Commit-Position: refs/heads/master@{#17199}
2017-03-13 09:01:32 +00:00
ilnik
382a72a0d3 Revert of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #2 id:90001 of https://codereview.webrtc.org/2744003002/ )
Reason for revert:
CallPerfTest.ReceivesCpuOveruseAndUnderuse perf test fails due to this CL. It requires very accurate frame rate, which may not be so accurate now.

Original issue's description:
> Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2743993002/ )
>
> And enable large full-stack test depending on that change (Reland of https://codereview.webrtc.org/2741823003/)
> TBR=stefan@webrtc.org,tommi@webrtc.org
> BUG=webrtc:7301,webrtc:7325
>
> Review-Url: https://codereview.webrtc.org/2744003002
> Cr-Commit-Position: refs/heads/master@{#17196}
> Committed: 8c0a5896d1

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

Review-Url: https://codereview.webrtc.org/2748643002
Cr-Commit-Position: refs/heads/master@{#17198}
2017-03-13 08:54:13 +00:00
stefan
ff2ebf5e30 Clean up perf metrics and report ramp-up stats for fewer tests.
BUG=None

Review-Url: https://codereview.webrtc.org/2738183004
Cr-Commit-Position: refs/heads/master@{#17197}
2017-03-13 08:27:03 +00:00
ilnik
8c0a5896d1 Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (patchset #1 id:1 of https://codereview.webrtc.org/2743993002/ )
And enable large full-stack test depending on that change (Reland of https://codereview.webrtc.org/2741823003/)
TBR=stefan@webrtc.org,tommi@webrtc.org
BUG=webrtc:7301,webrtc:7325

Review-Url: https://codereview.webrtc.org/2744003002
Cr-Commit-Position: refs/heads/master@{#17196}
2017-03-13 08:03:07 +00:00
tommi
ca37cf6691 Don't set the priority of the decoder to 'high' on Android.
Doing so competes with the actual decoding that happens on a different thread.

BUG=695438

Review-Url: https://codereview.webrtc.org/2745813003
Cr-Commit-Position: refs/heads/master@{#17184}
2017-03-11 12:54:06 +00:00
ilnik
f44f53360f Revert of Enable big largeroom fullstack tests on Windows (patchset #1 id:1 of https://codereview.webrtc.org/2741823003/ )
Reason for revert:
This depends on another patchset, which causes problem and will be reverted too.

Original issue's description:
> Enable big largeroom fullstack tests on Windows
>
> BUG=webrtc:7301
>
> Review-Url: https://codereview.webrtc.org/2741823003
> Cr-Commit-Position: refs/heads/master@{#17169}
> Committed: 15939e7775

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

Review-Url: https://codereview.webrtc.org/2738353006
Cr-Commit-Position: refs/heads/master@{#17172}
2017-03-10 17:48:31 +00:00
ilnik
15939e7775 Enable big largeroom fullstack tests on Windows
BUG=webrtc:7301

Review-Url: https://codereview.webrtc.org/2741823003
Cr-Commit-Position: refs/heads/master@{#17169}
2017-03-10 16:18:34 +00:00
ilnik
cb8c1467bd Add FullStack test for simulcast screenshare mode.
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2745523002
Cr-Commit-Position: refs/heads/master@{#17150}
2017-03-09 17:23:30 +00:00
elad.alon
5bbf43f9d4 Move delay_based_bwe_ into CongestionController
BUG=webrtc:7058

Review-Url: https://codereview.webrtc.org/2725823002
Cr-Commit-Position: refs/heads/master@{#17146}
2017-03-09 14:40:08 +00:00
nisse
c69385de8b Add |protected_by_flexfec| flag to VideoReceiveStream::Config.
Use of FlexFEC is known when streams are created in
WebRtcVideoChannel2, so this replaces the code in Call to infer
FlexFEC config of video streams from the configuration of the FlexFEC
stream(s). This also allows us to switch to a more logical creation
order, where media streams are created before the FlexFEC stream.

This is done in preparation for a larger refactoring of the RTP
demuxing done in Call.

BUG=None

Review-Url: https://codereview.webrtc.org/2712683002
Cr-Commit-Position: refs/heads/master@{#17143}
2017-03-09 14:13:20 +00:00
ilnik
3ae7c259ef Disable failing 15 thumbernails full-stack test on windows
BUG=webrtc:7301

Review-Url: https://codereview.webrtc.org/2737703005
Cr-Commit-Position: refs/heads/master@{#17105}
2017-03-08 09:17:35 +00:00
ilnik
f89a738626 Disable failing fullstack test with 15 thumbnail streams
BUG=webrtc:7301

Review-Url: https://codereview.webrtc.org/2739613003
Cr-Commit-Position: refs/heads/master@{#17095}
2017-03-07 14:15:27 +00:00
ilnik
566c43b525 Cleaning up full-stack simulcast tests and making them more realistic.
BUG=none

Review-Url: https://codereview.webrtc.org/2734753003
Cr-Commit-Position: refs/heads/master@{#17093}
2017-03-07 12:42:54 +00:00
ilnik
a014cc5eb1 Reland of "Added large room scenario to full-stack tests"
Added thumbnail streams functionality to video quality test.

Changed simulcast full-stack tests to be 30fps instead of 50 to
better reflect real usecases (expect all kind of perf metrics to
improve).

BUG=webrtc:7095, webrtc:7301

Review-Url: https://codereview.webrtc.org/2733943003
Cr-Commit-Position: refs/heads/master@{#17092}
2017-03-07 12:21:04 +00:00
ilnik
bfb124596e Revert of Added large room scenario to full-stack tests. Added thumbnail streams functionality to call test/v… (patchset #8 id:140001 of https://codereview.webrtc.org/2730073002/ )
Reason for revert:
webrtc_perf_tests crashes on android and windows due to too large test.

Original issue's description:
> Added large room scenario to full-stack tests. Added thumbnail streams functionality to video quality test.
>
> Changed simulcast full-stack tests to be 30fps instead of 50 to better reflect real usecases (expect all kind of perf metrics to improve).
>
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2730073002
> Cr-Commit-Position: refs/heads/master@{#17068}
> Committed: d8bd1b1d82

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/2734753004
Cr-Commit-Position: refs/heads/master@{#17071}
2017-03-06 15:35:13 +00:00
ilnik
d8bd1b1d82 Added large room scenario to full-stack tests. Added thumbnail streams functionality to video quality test.
Changed simulcast full-stack tests to be 30fps instead of 50 to better reflect real usecases (expect all kind of perf metrics to improve).

BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2730073002
Cr-Commit-Position: refs/heads/master@{#17068}
2017-03-06 14:10:28 +00:00
tommi
db23ea69b6 Add performance tracing for PlatformThread and parts of the video code.
BUG=webrtc:7219

Review-Url: https://codereview.webrtc.org/2729783004
Cr-Commit-Position: refs/heads/master@{#17009}
2017-03-03 15:21:18 +00:00
danilchap
4336d73bd3 Reland of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #1 id:1 of https://codereview.webrtc.org/2730893002/ )
Reason for revert:
Fixing race and relanding

Original issue's description:
> Revert of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #2 id:20001 of https://codereview.webrtc.org/2728103002/ )
>
> Reason for revert:
> Fails on tsan
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan%20v2/builds/10235
>
> Original issue's description:
> > Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
> > Add extra checks to it to simplify diagnostic should it fail again.
> >
> > BUG=webrtc:7292
> >
> > Review-Url: https://codereview.webrtc.org/2728103002
> > Cr-Commit-Position: refs/heads/master@{#16999}
> > Committed: bcb6004a9d
>
> TBR=asapersson@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7292
>
> Review-Url: https://codereview.webrtc.org/2730893002
> Cr-Commit-Position: refs/heads/master@{#17000}
> Committed: 9a59473f2c

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

Review-Url: https://codereview.webrtc.org/2730673004
Cr-Commit-Position: refs/heads/master@{#17006}
2017-03-03 14:21:54 +00:00
danilchap
9a59473f2c Revert of Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo (patchset #2 id:20001 of https://codereview.webrtc.org/2728103002/ )
Reason for revert:
Fails on tsan
http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan%20v2/builds/10235

Original issue's description:
> Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
> Add extra checks to it to simplify diagnostic should it fail again.
>
> BUG=webrtc:7292
>
> Review-Url: https://codereview.webrtc.org/2728103002
> Cr-Commit-Position: refs/heads/master@{#16999}
> Committed: bcb6004a9d

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

Review-Url: https://codereview.webrtc.org/2730893002
Cr-Commit-Position: refs/heads/master@{#17000}
2017-03-03 13:04:49 +00:00
danilchap
bcb6004a9d Fix flaky EndToEndTest.TransportSeqNumOnAudioAndVideo
Add extra checks to it to simplify diagnostic should it fail again.

BUG=webrtc:7292

Review-Url: https://codereview.webrtc.org/2728103002
Cr-Commit-Position: refs/heads/master@{#16999}
2017-03-03 12:38:11 +00:00
tommi
dea489f33e Add support for Location (RTC_FROM_HERE) to ProcessThread::RegisterModule.
This makes a few things a lot clearer when looking at perf trace data:

* What module instances (where they were created) are called
* On what thread
* How frequently
* For how long

ProcessThread will be replaced by TaskQueue moving forward and this is a step towards understanding the behavior of the affected code.

BUG=webrtc:7219

Review-Url: https://codereview.webrtc.org/2729053002
Cr-Commit-Position: refs/heads/master@{#16998}
2017-03-03 11:20:24 +00:00
kthelgason
2fc52544b0 Fix flaky ViEEncoder tests.
This CL fixes two issues. The first is a tsan complaint about a data
race. The test had a fix to make it deterministic but the race still
existed, so this adds locks around the critical section to appease
the sanitizer.

The second, more annoying issue, is that occasionally the test would
start before the encoder had been configured, as this happens
asynchronously on a task queue. This would cause frames to be queued
up and dropped, but not where we expected them to be dropped.
This was causing some tests to fail very occasionally. I've added
a synchronisation mechanism by posting a barrier task on the queue
and not proceeding with the tests until it finishes.

BUG=webrtc:7217, webrtc:7232, webrtc:7260

Review-Url: https://codereview.webrtc.org/2722183004
Cr-Commit-Position: refs/heads/master@{#16995}
2017-03-03 08:24:41 +00:00
asapersson
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
ilnik
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
danilchap
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
ilnik
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
ilnik
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
ilnik
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
perkj
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
sprang
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
danilchap
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
sprang
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
sprang
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
philipel
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
johan
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
danilchap
f8475433be Disable flaky ViEEncoderTest.NrOfDroppedFramesLimited
BUG=webrtc:7232
NOTRY=true
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2720003002
Cr-Commit-Position: refs/heads/master@{#16876}
2017-02-27 17:21:14 +00:00
perkj
a8ba195db5 Replace test::FrameGenerator::ChromaGenerator with new FrameGenerator::SquareGenerator The problem with the ChromaGenerator is that the VP8 encoder produce a too low bitrate for each frame. The squaregenerator make the VP8 encoder produce about 600kbit/s at VGA.
SquareGenerator is a FrameGenerator that draws 10 randomly sized and colored
squares. Between each new generated frame, the squares are moved slightly
towards the lower right corner.

BUG=webrtc:7192

Review-Url: https://codereview.webrtc.org/2705973002
Cr-Commit-Position: refs/heads/master@{#16870}
2017-02-27 14:52:10 +00:00
sprang
21253fc2c8 Fix race condition in VideoSendStreamTest.ChangingTransportOverhead
BUG=webrtc:7190

Review-Url: https://codereview.webrtc.org/2708573003
Cr-Commit-Position: refs/heads/master@{#16859}
2017-02-27 11:35:47 +00:00
tommi
f284b7ff5f Remove |running_| state from NackModule to avoid running a tight loop.
Also reducing locking in NackModule (and by extension RtpStreamReceiver)

BUG=webrtc:7246

Review-Url: https://codereview.webrtc.org/2720603002
Cr-Commit-Position: refs/heads/master@{#16856}
2017-02-27 09:59:36 +00:00