39 Commits

Author SHA1 Message Date
ilnik
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
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
Henrik Kjellander
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
kjellander
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
sprang
89c4a7e57d Wire up experiment for improved screenshare bwe.
Also adds some full stack test variants with the experiment enabled.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2949553002
Cr-Commit-Position: refs/heads/master@{#18869}
2017-06-30 20:27:40 +00:00
sprang
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
Tarun Chawla
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
minyue
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
brandtr
a62f5826d7 Integrate FlexFEC in video_loopback.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2497403004
Cr-Commit-Position: refs/heads/master@{#15119}
2016-11-17 08:21:19 +00:00
brandtr
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
minyue
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
minyue
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
minyue
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
minyue
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
asapersson
3ec3da6fc2 Set screenshare.enabled parameter to false when running video_loopback test.
BUG=none

Review-Url: https://codereview.webrtc.org/2413523003
Cr-Commit-Position: refs/heads/master@{#14606}
2016-10-11 23:20:40 +00:00
kwiberg
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
kwiberg
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
palmkvist
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
kjellander
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
minyue
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
minyue
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
minyue
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
minyue
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
stefan
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
mflodman
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
philipel
cb7b44975f Video loopback avg_burst_loss_length default parameter fix.
BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13005}
2016-06-02 08:57:52 +00:00
philipel
536378bf37 Allow FakeNetworkPipe to drop packets in bursts.
The fake network pipe will still only drop packets at an average rate of
|loss_percent| but in bursts at an average length specified by
|avg_burst_loss_length|.

Also added the flag -avg_burst_loss_length to video loopback.

BUG=

Review-Url: https://codereview.webrtc.org/1995683003
Cr-Commit-Position: refs/heads/master@{#12969}
2016-05-31 10:20:28 +00:00
philipel
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
philipel
a2c55235ca Allow packets to be reordered in the fake network pipe.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11384}
2016-01-26 16:42:00 +00:00
sprang
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
sprang
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
ivica
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
ivica
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
Erik Språng
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
Erik Språng
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
sprang
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
ivica
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
pbos
9874ee0d7a Add temporal-layers option to video_loopback.
BUG=
R=asapersson@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9482}
2015-06-22 11:44:30 +00:00
sprang@webrtc.org
131bea89d6 Offline screenshare quality test, plus loopback.
BUG=4171
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34109004

Cr-Commit-Position: refs/heads/master@{#8408}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8408 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 12:46:44 +00:00