History log of /external/webrtc/webrtc/video/video_quality_test.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9fea80f50daab46f20d4a6fc67b0144fbbbf56cd 07-Jan-2016 Stefan Holmer <stefan@webrtc.org> Add audio streams to CallTest and a first A/V call test.

Add audio send and receive streams to CallTest and call the necessary voice engine APIs for the streams to be usable. Verifies the implementation by adding a simple test which monitors outgoing packets and checks that both audio and video is being sent with transport sequence numbers.

Audio streams are using a fake audio device with file input.

The CallTest implementation is to a big degree based on call_perf_tests.cc and should in the future replace a lot of that code.

R=pbos@webrtc.org
TBR=kjellander@webrtc.org

BUG=webrtc:5263

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

Cr-Commit-Position: refs/heads/master@{#11171}
/external/webrtc/webrtc/video/video_quality_test.cc
f6975f46131981f83e0c88d276dee6b6c5753180 28-Dec-2015 danilchap <danilchap@webrtc.org> [rtp_rtcp] Lint errors cleaned from rtp_utility

R=åsapersson
BUG=webrtc:5277

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

Cr-Commit-Position: refs/heads/master@{#11131}
/external/webrtc/webrtc/video/video_quality_test.cc
ff483617a4fdf282bb82d7f4ce15af3dbe305a4a 21-Dec-2015 stefan <stefan@webrtc.org> Step 1 to prepare call_test.* for combined audio/video tests.

Also move (and clean up includes) rampup_tests.* to webrtc/call in preparation for combined audio/video ramp-up tests.

No functional changes.

BUG=webrtc:5263

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

Cr-Commit-Position: refs/heads/master@{#11101}
/external/webrtc/webrtc/video/video_quality_test.cc
5811a39f14fd77ebc0793ee93d03ee15a669bd8f 10-Dec-2015 Peter Boström <pbos@webrtc.org> Replace EventWrapper in video/, test/ and call/.

Makes use of rtc::Event which is simpler and can be used without
allocating additional objects on the heap.

Does not modify test/channel_transport/.

BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10968}
/external/webrtc/webrtc/video/video_quality_test.cc
d1590b2571c4cb33416e14c92e4f2dfed42ec3d4 09-Dec-2015 mflodman <mflodman@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
8c38e8b9b96d72317d6ce94c1442113b4e385dcb 26-Nov-2015 Peter Boström <pbos@webrtc.org> Clean up PlatformThread.

* Move PlatformThread to rtc::.
* Remove ::CreateThread factory method.
* Make non-scoped_ptr from a lot of invocations.
* Make Start/Stop void.
* Remove rtc::Thread priorities, which were unused and would collide.
* Add ::IsRunning() to PlatformThread.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10812}
/external/webrtc/webrtc/video/video_quality_test.cc
12411ef40e08c5e28ccde54ab3418c96676ffcbc 23-Nov-2015 pbos <pbos@webrtc.org> Move ThreadWrapper to ProcessThread in base.

Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).

BUG=webrtc:5158
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10760}
/external/webrtc/webrtc/video/video_quality_test.cc
ee37de3c13c5fe4b397d909918e9f980dc8184c5 23-Nov-2015 sprang <sprang@webrtc.org> Add screenshare perf tests with lossy links

This is a re-land of https://codereview.webrtc.org/1409513005/
Fingers crossed, the problems previously seen have been resolved by
https://codereview.webrtc.org/1412233003/

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10751}
/external/webrtc/webrtc/video/video_quality_test.cc
43edf0ffb91a50e2efa01c7befe4d188a7e30ea2 21-Nov-2015 stefan <stefan@webrtc.org> Require negotiation to send transport cc feedback over RTCP.

BUG=4312

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

Cr-Commit-Position: refs/heads/master@{#10735}
/external/webrtc/webrtc/video/video_quality_test.cc
ff761fba8274d93bd73e76c8b8a1f2d0776dd840 04-Nov-2015 Henrik Kjellander <kjellander@webrtc.org> modules: more interface -> include renames

This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
"use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10500}
/external/webrtc/webrtc/video/video_quality_test.cc
ce4aef16eec96862199e89b6d3ffe059558ac2c0 02-Nov-2015 sprang <sprang@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
1295297153ff0487580faf821f24f09a7c16ce30 29-Oct-2015 Stefan Holmer <stefan@webrtc.org> Register header extensions in RtpRtcpObserver to avoid log spam.

BUG=webrtc:5118
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10450}
/external/webrtc/webrtc/video/video_quality_test.cc
98f53510b222f71fdd8b799b2f33737ceeb28c61 28-Oct-2015 Henrik Kjellander <kjellander@webrtc.org> system_wrappers: rename interface -> include

BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
/external/webrtc/webrtc/video/video_quality_test.cc
f116bd0d7a3cdad20bb638d5a87427bd920c8904 27-Oct-2015 stefan <stefan@webrtc.org> Call OnSentPacket for all packets sent in the test framework.

Required a bit of refactoring to make it possible to pass a Call to DirectTransport on construction. This also lead to me having to remove the shared lock between PacketTransport and RtpRtcpObserver. Now RtpRtcpObserver has a SetTransports method instead of a SetReceivers method.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10430}
/external/webrtc/webrtc/video/video_quality_test.cc
7a975f75e7fa7a9335411ef22b6687f78f7b297f 12-Oct-2015 sprang <sprang@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
87f83a9a27d657731ccb54025bc04ccad0da136e 08-Oct-2015 ivica <ivica@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
c1cc854d546f68392242370f9dd13bdb8db1398b 08-Oct-2015 ivica <ivica@webrtc.org> Fixing perf regression caused by refactoring full stack tests

Calling CreateCapturer after CreateStreams. The wrong order of calling those methods seems to have caused perf regressions.

Testing has been done here: https://codereview.webrtc.org/1371113004/

BUG=chromium:534220

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

Cr-Commit-Position: refs/heads/master@{#10212}
/external/webrtc/webrtc/video/video_quality_test.cc
8d15bd6dabae829d27443e17f2f02cfbe6fa6525 07-Oct-2015 ivica <ivica@webrtc.org> Reland of Collecting encode_time_ms for each frame (patchset #1 id:1 of https://codereview.webrtc.org/1383283005/ )

Reason for revert:
The reverted commit didn't affect the tests, but the one before: https://codereview.webrtc.org/1385563005/

I've run the test that was failing (EndToEndTest.AssignsTransportSequenceNumbers) locally multiple times, and it works fine (finishes successfully in 150-170ms).

Original issue's description:
> Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
>
> Reason for revert:
> Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
> on several bots:
> http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
> http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
> http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414
>
> It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.
>
> Original issue's description:
> > Collecting encode_time_ms for each frame.
> >
> > Also, in Sample struct, replacing double with the original type.
> > It makes more sense to save the original data as truthful as possible, and then
> > convert it to double later if necessary (in the plot script).
> >
> > Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> > Cr-Commit-Position: refs/heads/master@{#10184}
>
> TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/810447972425e890bc7911af27f894b86e9b7e6f
> Cr-Commit-Position: refs/heads/master@{#10185}

TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10195}
/external/webrtc/webrtc/video/video_quality_test.cc
810447972425e890bc7911af27f894b86e9b7e6f 06-Oct-2015 kjellander <kjellander@webrtc.org> Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )

Reason for revert:
Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
on several bots:
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414

It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.

Original issue's description:
> Collecting encode_time_ms for each frame.
>
> Also, in Sample struct, replacing double with the original type.
> It makes more sense to save the original data as truthful as possible, and then
> convert it to double later if necessary (in the plot script).
>
> Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> Cr-Commit-Position: refs/heads/master@{#10184}

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

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

Cr-Commit-Position: refs/heads/master@{#10185}
/external/webrtc/webrtc/video/video_quality_test.cc
092b13384e57b33e2003d9736dfa1f491e76f938 06-Oct-2015 ivica <ivica@webrtc.org> Collecting encode_time_ms for each frame.

Also, in Sample struct, replacing double with the original type.
It makes more sense to save the original data as truthful as possible, and then
convert it to double later if necessary (in the plot script).

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

Cr-Commit-Position: refs/heads/master@{#10184}
/external/webrtc/webrtc/video/video_quality_test.cc
1d8a506405734d0cef9653704b036ca4f1388960 02-Oct-2015 stefan <stefan@webrtc.org> Add a PacketOptions struct to webrtc::Transport.

This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

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

Cr-Commit-Position: refs/heads/master@{#10144}
/external/webrtc/webrtc/video/video_quality_test.cc
2d566686a23fe93ada58f1c38a0d4b9a0d68556e 28-Sep-2015 pbos <pbos@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
6b8d3551681f40b880507cecc88f478a12383cc7 24-Sep-2015 Erik Språng <sprang@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
c9bbeb03542cffc14b7d306e5f88b6c0e593864d 23-Sep-2015 Erik Språng <sprang@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
2d4e6c5d9d7b48aec62d1cda9f75fe0b695167aa 23-Sep-2015 ivica <ivica@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc
d4818e73042bc2402256977884c04d96084327fb 22-Sep-2015 ivica <ivica@webrtc.org> Using static frame generator when no scrolling

In screensharing full stack tests, instead of using YuvFileGenerator by default
when no scrolling is used, I always used ScrollingImageFileGenerator.
That possibly slowed down the test a little bit, at least for the slowed
devices, as it unnecessarily copied few MBs per frame.

BUG=chromium:534220

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

Cr-Commit-Position: refs/heads/master@{#10014}
/external/webrtc/webrtc/video/video_quality_test.cc
ef165eefc79cf28bb67779afe303cc2365885547 22-Sep-2015 sprang <sprang@webrtc.org> Wire up send-side bandwidth estimation.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10012}
/external/webrtc/webrtc/video/video_quality_test.cc
5d6a06c1d29a2061bcf4b321ffceab477a404d51 17-Sep-2015 ivica <ivica@webrtc.org> 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}
/external/webrtc/webrtc/video/video_quality_test.cc