Commit Graph

50 Commits

Author SHA1 Message Date
9843695166 Add rtpdump and rtc log functionality to screenshare_loopback and video_loopback
BUG=none

Review-Url: https://codereview.webrtc.org/2974903002
Cr-Commit-Position: refs/heads/master@{#18996}
2017-07-13 07:47:03 +00:00
6cc25614a9 Remove webrtc::VideoEncoderFactory
Replace the use of webrtc::VideoEncoderFactory with
cricket::WebRtcVideoEncoderFactory and remove the adapter classes
between these two factory types.

Some code changes were necessary in order to accomplish this:
 * Move SimulcastEncoderAdapter from
   webrtc/modules/video_coding/codecs/vp8 to webrtc/media/engine (that's
   where it's used).
 * Rename simulcast_unittest.h to simulcast_test_utility.h and make it
   into it's own target, because it's used from both
   simulcast_unittest.cc and simulcast_encoder_adapter_unittest.cc.
 * Remove ownership of the encoder factory from SimulcastEncoderAdapter,
   and make the necessary changes in surrounding code.

The goal with this CL is to clean up the code, and also to free up
the name webrtc::VideoEncoderFactory for future use.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/2964953002
Cr-Commit-Position: refs/heads/master@{#18945}
2017-07-10 10:26:36 +00:00
1168fd4ed5 What can't loopback test be more like full stack test?
It can; this CL makes it a lot closer, if not all the way to a merge.
Performance from video_loopback and screenshare_loopback should now
match what we're seeing in FullStackTest, which will make debugging and
assesment of quality differences much easier.

It also adds the ability to view all of the simulcast streams at once,
in separate windows.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2946893003
Cr-Commit-Position: refs/heads/master@{#18703}
2017-06-21 16:00:17 +00:00
6b826ef66d Add cropping to VIEEncoder to match simulcast streams resolution
Detect when simulcaststreamfactory adjust resolution and remeber cropping
parameters in VIEEncoder.
Expose EncoderStreamFactory in webrtcvideoengine2.

BUG=webrtc:7375, webrtc:6958

Review-Url: https://codereview.webrtc.org/2936393002
Cr-Commit-Position: refs/heads/master@{#18632}
2017-06-16 13:53:48 +00:00
8e857d10fd Adding capture device selection capability for video_loopback. It will help to select any capture device to test the utility. In future we can add screen share as capture device.
BUG=webrtc:7719

Change-Id: Iddc66188341c0c90e96766dff671ac3863bf3f5d
Reviewed-on: https://chromium-review.googlesource.com/517523
Commit-Queue: Peter Boström <pbos@webrtc.org>
Reviewed-by: Peter Boström <pbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18392}
2017-06-01 21:10:29 +00:00
8d8185c774 Add command-line param to screenshare_loopback to specify a list of slides
BUG=none

Review-Url: https://codereview.webrtc.org/2814023003
Cr-Commit-Position: refs/heads/master@{#17670}
2017-04-12 11:52:55 +00:00
20c84ccd48 Making FakeNetworkPipe demux audio and video packets.
BUG=None

Review-Url: https://codereview.webrtc.org/2794243002
Cr-Commit-Position: refs/heads/master@{#17629}
2017-04-10 23:57:57 +00:00
c5d62e29ca Reland of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #1 id:1 of https://codereview.webrtc.org/2783183003/ )
Reason for revert:
Seem to be a flaky test rather than an issue with this cl. Creating reland, will add code to reduce flakiness to that test.

Original issue's description:
> Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #8 id:410001 of https://codereview.webrtc.org/2781433002/ )
>
> Reason for revert:
> This has resulted in failure of CallPerfTest.ReceivesCpuOveruseAndUnderuse test on the Win7 build bot https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1780
>
> Original issue's description:
> > Reland of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #1 id:1 of https://codereview.webrtc.org/2764133002/ )
> >
> > Reason for revert:
> > Found issue with test case, will add fix to reland cl.
> >
> > Original issue's description:
> > > Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #14 id:250001 of https://codereview.webrtc.org/2716643002/ )
> > >
> > > Reason for revert:
> > > Breaks perf tests:
> > > https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1679
> > > https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/2325
> > >
> > > Original issue's description:
> > > > Add framerate to VideoSinkWants and ability to signal on overuse
> > > >
> > > > In ViEEncoder, try to reduce framerate instead of resolution if the
> > > > current degradation preference is maintain-resolution rather than
> > > > balanced.
> > > >
> > > > BUG=webrtc:4172
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2716643002
> > > > Cr-Commit-Position: refs/heads/master@{#17327}
> > > > Committed: 72acf25261
> > >
> > > TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@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:4172
> > >
> > > Review-Url: https://codereview.webrtc.org/2764133002
> > > Cr-Commit-Position: refs/heads/master@{#17331}
> > > Committed: 8b45b11144
> >
> > TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:4172
> >
> > Review-Url: https://codereview.webrtc.org/2781433002
> > Cr-Commit-Position: refs/heads/master@{#17474}
> > Committed: 3ea3c77e93
>
> TBR=ilnik@webrtc.org,stefan@webrtc.org,asapersson@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:4172
>
> Review-Url: https://codereview.webrtc.org/2783183003
> Cr-Commit-Position: refs/heads/master@{#17477}
> Committed: f9ed235c9b

R=ilnik@webrtc.org,stefan@webrtc.org
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2789823002
Cr-Commit-Position: refs/heads/master@{#17498}
2017-04-03 06:53:04 +00:00
f9ed235c9b Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #8 id:410001 of https://codereview.webrtc.org/2781433002/ )
Reason for revert:
This has resulted in failure of CallPerfTest.ReceivesCpuOveruseAndUnderuse test on the Win7 build bot https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1780

Original issue's description:
> Reland of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #1 id:1 of https://codereview.webrtc.org/2764133002/ )
>
> Reason for revert:
> Found issue with test case, will add fix to reland cl.
>
> Original issue's description:
> > Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #14 id:250001 of https://codereview.webrtc.org/2716643002/ )
> >
> > Reason for revert:
> > Breaks perf tests:
> > https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1679
> > https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/2325
> >
> > Original issue's description:
> > > Add framerate to VideoSinkWants and ability to signal on overuse
> > >
> > > In ViEEncoder, try to reduce framerate instead of resolution if the
> > > current degradation preference is maintain-resolution rather than
> > > balanced.
> > >
> > > BUG=webrtc:4172
> > >
> > > Review-Url: https://codereview.webrtc.org/2716643002
> > > Cr-Commit-Position: refs/heads/master@{#17327}
> > > Committed: 72acf25261
> >
> > TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@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:4172
> >
> > Review-Url: https://codereview.webrtc.org/2764133002
> > Cr-Commit-Position: refs/heads/master@{#17331}
> > Committed: 8b45b11144
>
> TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:4172
>
> Review-Url: https://codereview.webrtc.org/2781433002
> Cr-Commit-Position: refs/heads/master@{#17474}
> Committed: 3ea3c77e93

TBR=ilnik@webrtc.org,stefan@webrtc.org,asapersson@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:4172

Review-Url: https://codereview.webrtc.org/2783183003
Cr-Commit-Position: refs/heads/master@{#17477}
2017-03-30 17:44:38 +00:00
3ea3c77e93 Reland of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #1 id:1 of https://codereview.webrtc.org/2764133002/ )
Reason for revert:
Found issue with test case, will add fix to reland cl.

Original issue's description:
> Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #14 id:250001 of https://codereview.webrtc.org/2716643002/ )
>
> Reason for revert:
> Breaks perf tests:
> https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1679
> https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/2325
>
> Original issue's description:
> > Add framerate to VideoSinkWants and ability to signal on overuse
> >
> > In ViEEncoder, try to reduce framerate instead of resolution if the
> > current degradation preference is maintain-resolution rather than
> > balanced.
> >
> > BUG=webrtc:4172
> >
> > Review-Url: https://codereview.webrtc.org/2716643002
> > Cr-Commit-Position: refs/heads/master@{#17327}
> > Committed: 72acf25261
>
> TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@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:4172
>
> Review-Url: https://codereview.webrtc.org/2764133002
> Cr-Commit-Position: refs/heads/master@{#17331}
> Committed: 8b45b11144

TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2781433002
Cr-Commit-Position: refs/heads/master@{#17474}
2017-03-30 14:23:48 +00:00
8b45b11144 Revert of Add framerate to VideoSinkWants and ability to signal on overuse (patchset #14 id:250001 of https://codereview.webrtc.org/2716643002/ )
Reason for revert:
Breaks perf tests:
https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/1679
https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20%28L%20Nexus5%29/builds/2325

Original issue's description:
> Add framerate to VideoSinkWants and ability to signal on overuse
>
> In ViEEncoder, try to reduce framerate instead of resolution if the
> current degradation preference is maintain-resolution rather than
> balanced.
>
> BUG=webrtc:4172
>
> Review-Url: https://codereview.webrtc.org/2716643002
> Cr-Commit-Position: refs/heads/master@{#17327}
> Committed: 72acf25261

TBR=nisse@webrtc.org,magjed@webrtc.org,kthelgason@webrtc.org,ilnik@webrtc.org,stefan@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:4172

Review-Url: https://codereview.webrtc.org/2764133002
Cr-Commit-Position: refs/heads/master@{#17331}
2017-03-21 20:26:06 +00:00
72acf25261 Add framerate to VideoSinkWants and ability to signal on overuse
In ViEEncoder, try to reduce framerate instead of resolution if the
current degradation preference is maintain-resolution rather than
balanced.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2716643002
Cr-Commit-Position: refs/heads/master@{#17327}
2017-03-21 18:54:11 +00:00
4c8b9425b0 Adding audio DTX to video loopback test.
BUG=None

Review-Url: https://codereview.webrtc.org/2768473002
Cr-Commit-Position: refs/heads/master@{#17317}
2017-03-21 11:11:43 +00:00
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
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
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
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
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
2a8c2f589a Added Vp9 simulcast tests.
For them implemeted upscaling in libyuv metrics calculation.
Updated maximum number of SL in vp9 encoder to 3.
Refactored names of some fields in Video_quality_check analyzer.

BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2681683003
Cr-Commit-Position: refs/heads/master@{#16625}
2017-02-15 10:23:28 +00:00
2bc6864278 Reland of Drop frames until specified bitrate is achieved. (patchset #1 id:1 of https://codereview.webrtc.org/2666303002/ )
Reason for revert:
Perf test broke as it made assumptions that quality scaling was turned off. This turns out not to be the case. Fixed by turning quality scaling off for the tests.

Original issue's description:
> Revert of Drop frames until specified bitrate is achieved. (patchset #12 id:240001 of https://codereview.webrtc.org/2630333002/ )
>
> Reason for revert:
> due to failures on perf tests (not on perf stats, but fails running due to dcheck failures), see e.g., https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20(K%20Nexus5)
>
> Original issue's description:
> > Drop frames until specified bitrate is achieved.
> >
> > This CL fixes a regression introduced with the new quality scaler
> > where the video would no longer start in a scaled mode. This CL adds
> > code that compares incoming captured frames to the target bitrate,
> > and if they are found to be too large, they are dropped and sinkWants
> > set to a lower resolution. The number of dropped frames should be low
> > (0-4 in most cases) and should not introduce a noticeable delay, or
> > at least should be preferrable to having the first 2-4 seconds of video
> > have very low quality.
> >
> > BUG=webrtc:6953
> >
> > Review-Url: https://codereview.webrtc.org/2630333002
> > Cr-Commit-Position: refs/heads/master@{#16391}
> > Committed: 83399caec5
>
> TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6953
>
> Review-Url: https://codereview.webrtc.org/2666303002
> Cr-Commit-Position: refs/heads/master@{#16395}
> Committed: 35fc2aa82f

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

Review-Url: https://codereview.webrtc.org/2675223002
Cr-Commit-Position: refs/heads/master@{#16473}
2017-02-07 15:02:22 +00:00
1293acae18 Configure FlexFEC in VideoQualityTest.
Will be used by full stack tests and video_loopback.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2500373002
Cr-Commit-Position: refs/heads/master@{#15114}
2016-11-17 06:47:36 +00:00
a27172d683 Adding audio only mode to video loopback test.
BUG=webrtc:6609

Review-Url: https://codereview.webrtc.org/2321463002
Cr-Commit-Position: refs/heads/master@{#14875}
2016-11-01 12:59:35 +00:00
626bc952aa Reland of "Separating video settings in VideoQualityTest".
This was landed in https://codereview.webrtc.org/2314403007/

and reverted in https://codereview.webrtc.org/2463733002/ because an error was found.

BUG=660473, webrtc:6609

Review-Url: https://codereview.webrtc.org/2466473002
Cr-Commit-Position: refs/heads/master@{#14848}
2016-10-31 12:47:09 +00:00
9aa78832f9 Revert of "Separating video settings in VideoQualityTest". (patchset #4 id:60001 of https://codereview.webrtc.org/2314403007/ )
Reason for revert:
Some parameters were not treated correctly. Will redo some parts.

Original issue's description:
> Reland of "Separating video settings in VideoQualityTest".
>
> Earlier trial of landing: https://codereview.webrtc.org/2312613003
>
> Reverted in https://codereview.webrtc.org/2325723002
>
> BUG=webrtc:6609
>
> Committed: https://crrev.com/16b6d6dc5b367746a9f910d1cebf9f65e8dd2c7f
> Cr-Commit-Position: refs/heads/master@{#14785}

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

Review-Url: https://codereview.webrtc.org/2463733002
Cr-Commit-Position: refs/heads/master@{#14838}
2016-10-31 10:23:09 +00:00
16b6d6dc5b Reland of "Separating video settings in VideoQualityTest".
Earlier trial of landing: https://codereview.webrtc.org/2312613003

Reverted in https://codereview.webrtc.org/2325723002

BUG=webrtc:6609

Review-Url: https://codereview.webrtc.org/2314403007
Cr-Commit-Position: refs/heads/master@{#14785}
2016-10-26 12:04:12 +00:00
e75f204b06 Expose Ivf logging through the native API
BUG=webrtc:6300

Review-Url: https://codereview.webrtc.org/2303273002
Cr-Commit-Position: refs/heads/master@{#14419}
2016-09-28 13:19:53 +00:00
29a44e351e This is a resubmission of https://codereview.webrtc.org/2047513002/
Original description:
Add proper lifetime of encoder-specific settings.

Permits passing VideoEncoderConfig between threads and not worry about
the lifetime of an underlying void pointer. Also adds type safety to
unpacking of codec-specific settings.

These settings are not yet propagating to VideoEncoder interfaces, but
the aim is to get rid of webrtc::VideoCodec for VideoEncoder.

BUG=webrtc:3424
R=perkj@webrtc.org, pbos@webrtc.org
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2347843002
Cr-Commit-Position: refs/heads/master@{#14396}
2016-09-27 10:52:05 +00:00
a49cbd3e24 Replace VideoCapturerInput with VideoSinkInterface.
Adds new method VideoSendStream::SetSource(rtc::VideoSourceInterface* and VieEncoder::SetSource(rtc::VideoSourceInterface*)

This is the first step needed in order for the ViEEncoder to request downscaling using rtc::VideoSinkWants instead of separately reporting CPU overuse and internally doing downscaling due to QP values

This cl
Revert "Revert of Replace interface VideoCapturerInput with VideoSinkInterface. (patchset #13 id:280001 of https://codereview.webrtc.org/2257413002/ )"

This reverts commit 9fdbda6aa3f66ea872344c22e79b23361047cbab.

and fix the problem in the original cl in video_quality_test.cc

BUG=webrtc:5687
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2348533002
Cr-Commit-Position: refs/heads/master@{#14265}
2016-09-16 14:53:48 +00:00
9fdbda6aa3 Revert of Replace interface VideoCapturerInput with VideoSinkInterface. (patchset #13 id:280001 of https://codereview.webrtc.org/2257413002/ )
Reason for revert:
Fails on Mac and Linux webrtc_perf_tests

Original issue's description:
> Replace VideoCapturerInput with VideoSinkInterface.
> Adds new method VideoSendStream::SetSource(rtc::VideoSourceInterface* and VieEncoder::SetSource(rtc::VideoSourceInterface*)
>
> This is the first step needed in order for the ViEEncoder to request downscaling using rtc::VideoSinkWants instead of separately reporting CPU overuse and internally doing downscaling due to QP values.
>
> BUG=webrtc:5687
> // Android CQ seems broken.
> NOTRY=true
>
> Committed: https://crrev.com/95a226f55ae7e32b83a6ba96232fb105a014dc6c
> Cr-Commit-Position: refs/heads/master@{#14238}

TBR=nisse@webrtc.org,sprang@webrtc.org,mflodman@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:5687

Review-Url: https://codereview.webrtc.org/2344923002
Cr-Commit-Position: refs/heads/master@{#14239}
2016-09-15 16:19:28 +00:00
95a226f55a Replace VideoCapturerInput with VideoSinkInterface.
Adds new method VideoSendStream::SetSource(rtc::VideoSourceInterface* and VieEncoder::SetSource(rtc::VideoSourceInterface*)

This is the first step needed in order for the ViEEncoder to request downscaling using rtc::VideoSinkWants instead of separately reporting CPU overuse and internally doing downscaling due to QP values.

BUG=webrtc:5687
// Android CQ seems broken.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2257413002
Cr-Commit-Position: refs/heads/master@{#14238}
2016-09-15 15:57:26 +00:00
5865f48dcb Revert of Separating video settings in VideoQualityTest. (patchset #2 id:20001 of https://codereview.webrtc.org/2312613003/ )
Reason for revert:
Breaks webrtc_perf_tests on Windows, Mac and Linux (that test don't run on trybots):
https://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/8841/steps/webrtc_perf_tests/logs/stdio

Example:
[ RUN      ] FullStackTest.ForemanCifWithoutPacketLossVp9

# Fatal error in ../../webrtc/video/video_quality_test.cc, line 1056
# last system error: 34
# Check failed: !params_.audio.enabled

Original issue's description:
> Separating video settings in VideoQualityTest.
>
> This is a simple refactoring of VideoQualityTest. It will help in adding audio related settings to VideoQualityTest.
>
> BUG=
>
> Committed: https://crrev.com/f07fb0013164bdb031dcc88dc83365a27643b2d9
> Cr-Commit-Position: refs/heads/master@{#14139}

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

Review-Url: https://codereview.webrtc.org/2325723002
Cr-Commit-Position: refs/heads/master@{#14142}
2016-09-08 17:52:41 +00:00
f07fb00131 Separating video settings in VideoQualityTest.
This is a simple refactoring of VideoQualityTest. It will help in adding audio related settings to VideoQualityTest.

BUG=

Review-Url: https://codereview.webrtc.org/2312613003
Cr-Commit-Position: refs/heads/master@{#14139}
2016-09-08 15:20:16 +00:00
7320866091 Reland of Adding audio to video_quality_test.
The original commit was https://codereview.webrtc.org/2136573002/.

BUG=

Review-Url: https://codereview.webrtc.org/2259783002
Cr-Commit-Position: refs/heads/master@{#13818}
2016-08-18 13:28:59 +00:00
f095012dc2 Revert of Adding audio to video_quality_test. (patchset #10 id:230001 of https://codereview.webrtc.org/2136573002/ )
Reason for revert:
This CL breaks https://build.chromium.org/p/client.webrtc/waterfall?builder=Win64%20Debug%20(Clang)

Need to align values to struct Params {} in a proper way. Relanding will follow.

Original issue's description:
> Adding audio to video_quality_test.
>
> This CL adds an audio loopback to video_quality_test (only RunWithVideoRenderer)
>
> BUG=
>
> Committed: https://crrev.com/65a6578e339f52eb5bc400c5715e60498e4af2c1
> Cr-Commit-Position: refs/heads/master@{#13784}

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

Review-Url: https://codereview.webrtc.org/2249163002
Cr-Commit-Position: refs/heads/master@{#13785}
2016-08-16 15:25:48 +00:00
65a6578e33 Adding audio to video_quality_test.
This CL adds an audio loopback to video_quality_test (only RunWithVideoRenderer)

BUG=

Review-Url: https://codereview.webrtc.org/2136573002
Cr-Commit-Position: refs/heads/master@{#13784}
2016-08-16 14:43:54 +00:00
b17976763d Add an HD resolution perf test.
Also update existing perf tests to use send side bwe.

BUG=webrtc:4604, chromium:522001

Review-Url: https://codereview.webrtc.org/2227733004
Cr-Commit-Position: refs/heads/master@{#13726}
2016-08-11 14:01:03 +00:00
48a4beb7a4 Auto pause video streams based on encoder target bitrate.
This CL changes the auto-pause logic to suspend a stream based on the
encoder target bitrate instead of the allocated bitrate for a stream,
to account for possible protection, e.g. FEC and NACK.

This CL also adds periodic logging of the current BWE and possibility
to run with suspension in video loopback test.

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

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

Cr-Commit-Position: refs/heads/master@{#13360}
2016-07-01 11:04:10 +00:00
274c1dc545 Added flag for FEC for video_loopback.
Review-Url: https://codereview.webrtc.org/1937983002
Cr-Commit-Position: refs/heads/master@{#12626}
2016-05-04 13:21:11 +00:00
27f982bbcb Replace scoped_ptr with unique_ptr in webrtc/video/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11833}
2016-03-01 19:52:39 +00:00
d1590b2571 Lint clean video/ and add lint presubmit check.
BUG=webrtc:5316

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

Cr-Commit-Position: refs/heads/master@{#10953}
2015-12-09 15:08:05 +00:00
ce4aef16ee Adding support for simulcast and spatial layers into VideoQualityTest
This is a re-land of https://codereview.webrtc.org/1353263005/
which was reverted because of perf-regressions. Changes since that CL:

* Change LayerFilteringTransport to send a padding packet instead of
  dropping it for data that should be filtered out. This prevents
  confusion due to changed sequence numbers.

* Changed timing of stats poller thread in VideoAnalyzer. Startup was
  racy wrt initializion of send_stream_.

* Minor formatting issues.

PERF NOTE: This change will affect some performance numbers slightly.
In particular, {encode_frame_rate, encode_time_ms,
encode_usage_percent, media_bitrate_bps} will change due to timing
of the measurements.

BUG=
R=pbos@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10483}
2015-11-02 15:23:24 +00:00
7a975f75e7 Revert of Adding support for simulcast and spatial layers into VideoQualityTest (patchset #10 id:180001 of https://codereview.webrtc.org/1353263005/ )
Reason for revert:
Temporarily reverting as this causes some issues with perf tests. Especially tests with packet loss no longer works.

Original issue's description:
> Adding support for simulcast and spatial layers into VideoQualityTest
>
> The CL includes several changes:
> - Adding flags describing the streams and spatial layers.
> - Reorganizing the order of the flags, to make them easier to maintain.
> - Adding a member .params_ to VideoQualityAnalyzer.
>     (instead of passing it to every member function manually)
> - Updating VideoAnalyzer to support simulcast.
>     (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
> - VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
>     Changing to first read bitrates and resolution ratios from the flags, if specified.
>     If not specified, reverting to the old code are setting the values automatically.
> - Changing the parameters in LayerFilteringTransport, replacing
>     xx_discard_thresholds with selected_xx, to make it easier to use for the end user.
>
> Committed: https://crrev.com/87f83a9a27d657731ccb54025bc04ccad0da136e
> Cr-Commit-Position: refs/heads/master@{#10215}

TBR=pbos@webrtc.org,mflodman@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10252}
2015-10-12 13:33:24 +00:00
87f83a9a27 Adding support for simulcast and spatial layers into VideoQualityTest
The CL includes several changes:
- Adding flags describing the streams and spatial layers.
- Reorganizing the order of the flags, to make them easier to maintain.
- Adding a member .params_ to VideoQualityAnalyzer.
    (instead of passing it to every member function manually)
- Updating VideoAnalyzer to support simulcast.
    (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
- VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
    Changing to first read bitrates and resolution ratios from the flags, if specified.
    If not specified, reverting to the old code are setting the values automatically.
- Changing the parameters in LayerFilteringTransport, replacing
    xx_discard_thresholds with selected_xx, to make it easier to use for the end user.

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

Cr-Commit-Position: refs/heads/master@{#10215}
2015-10-08 12:13:37 +00:00
c7199c2d0b Read the number of TLs for VP9 too + cleanup
In video_sender.cc, properly read the number of temporal layers for VP9 too.

Also, some cleanup in video_loopback.cc and video_quality_test.h.

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

Cr-Commit-Position: refs/heads/master@{#10201}
2015-10-07 13:43:43 +00:00
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
6b8d355168 Reland "Wire up send-side bandwidth estimation."
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/

The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc

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

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

Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
c9bbeb0354 Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29

Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}

TBR=stefan@webrtc.org, kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00
2d4e6c5d9d Fixing camera capture for video_loopback
In the middle of refactoring, I replaced the VideoCapturer with
FrameGeneratorCapturer, to reuse the code, and with that disabled the camera.
Now adding capturer_ element to VideoQualityTest and ignoring
frame_generator_capturer_ from the parent class test::CallTest.

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

Cr-Commit-Position: refs/heads/master@{#10023}
2015-09-23 08:57:13 +00:00
ef165eefc7 Wire up send-side bandwidth estimation.
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10012}
2015-09-22 12:10:58 +00:00
5d6a06c1d2 Refactoring full stack and loopback tests
Refactoring full stack, video and screenshare tests to use the same code basis
for parametrization and initialization. This patch is done on top of recently
commited full stack graphs CL https://codereview.webrtc.org/1289933003/, but
virtually no changes have been made to full_stack_plot.py nor to the VideoAnalyzer
in full stack, except moving it to video_quality_test.cc.
Also, full_stack_samples.cc (build target) was removed and replaced with
-output_filename and -duration cmdline arguments in video_loopback and
screenshare_loopback.

The important things to review:
- video_quality_test.h
    Is the structure of Params good? (examples of usage can be found in
    full_stack.cc, video_loopback.cc and screenshare_loopback.cc)
- video_quality_test.cc
    Is the initialization correct? The case for using Analyzer and using local
    renderer are different, can they be further merged?
- webrtc_tests.gypi

Reproducing the different bitrate settings the full stack and loopback tests had
was a little bit tricky. To support both simultaneously, I added BitrateConfig
to the Params struct, as well as separate start_bitrate and target_bitrate flags
for loopback tests.

Note: Side-by-side diff for video_quality_test.cc compares that file directly
with the old full_stack.cc, so changes to VideoAnalyzer are clearly visible.

Note: Recent CL I've committed added -num_temporal_layers and -sl_discard_threshold
args to loopback tests. This was removed here. Support for streams and SVC
will be added in a CL following this one.

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

Cr-Commit-Position: refs/heads/master@{#9969}
2015-09-17 12:30:30 +00:00