123 Commits

Author SHA1 Message Date
Artem Titov
bc558cebdc Add support of specifying audio sample rate for PC test framework
Bug: webrtc:10138
Change-Id: I6f868ede4b762884d7b2e9e7dac51bc60e9925d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144940
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28513}
2019-07-09 11:36:00 +00:00
Jonas Olsson
a4d873786f Format almost everything.
This CL was generated by running

git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format

Most of these changes are clang-format grouping and reordering includes
differently.

Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
Artem Titov
e420c6aa01 Add missing include for memcpy/memcmp
Bug: webrtc:10792, webrtc:10138
Change-Id: I0559e28e31d21ff63154cf811f60bc9de757b7b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144522
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28461}
2019-07-03 12:27:02 +00:00
Artem Titov
16661ebfd9 Fix: report video_bwe_stats as bytes per second, as specified in the unit
Bug: webrtc:10138
Change-Id: I5b74e9066f47fde0a72348591524f6e43dfd8799
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142172
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28458}
2019-07-03 10:30:57 +00:00
Artem Titov
ea95c37b0c Report freeze_time_ms from PC test framework
Bug: webrtc:10138
Change-Id: If6bc8f4e4b03bc18b44c8625e241837a47e96ae2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144243
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28430}
2019-07-01 12:41:20 +00:00
Artem Titov
754c952dfa Don't do ToI420() for each frame while checking is it dummy
Bug: webrtc:10138
Change-Id: I7dba58324afd65ce046a0a255277de7134ebd0b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144242
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28429}
2019-07-01 12:23:49 +00:00
Artem Titov
6d9f0010f0 Fix regression in PC quality test.
After adding support of simulcast for Vp8 in PC test framework the bug
was intorduced: when ulp FEC is enabled by user, it actualy was disabled
because of typo in FilterVideoCodecCapabilities. This CL will restore
the right behavior.

Bug: webrtc:10138, chromium:976690
Change-Id: Ia977f6d903af5a6b0ed9d2c65b75973bd65f5000
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144241
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28428}
2019-07-01 12:18:16 +00:00
Elad Alon
8f01c4e1b6 Define FecControllerOverride and plumb it down to VideoEncoder
The purpose of this interface is to allow VideoEncoder to override
the bandwidth allocation set by FecController in RtpVideoSender.

This CL defines the interface and sends it down to VideoSender.
Two upcoming CLs will:
1. Make LibvpxVp8Encoder pass it on to the (injectable)
   FrameBufferController, where it might be put to good use.
2. Modify RtpVideoSender to respond to the message sent to it
   via this API.

TBR=kwiberg@webrtc.org

Bug: webrtc:10769
Change-Id: I2ef82f0ddcde7fd078e32d8aabf6efe43e0f7f8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143962
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28416}
2019-06-28 15:57:22 +00:00
Danil Chapovalov
4ba04b7740 Delete RtcEventLogFactory factory as now unused
Bug: webrtc:10206, webrtc:10284
Change-Id: I34fa780f566b52e375ec625bf0d5d02c505d9912
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143782
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28400}
2019-06-27 10:03:22 +00:00
Sebastian Jansson
b64ad0e72c Using Clock::CurrentTime() where non-test behavior is unchanged.
This CL replaces all uses of Timestamp::us(Clock::TimeInMicroseconds())
with Clock::CurrentTime() which should be a no-op apart from slight
changes in checks.

Additionally instances of Timestamp::ms(Clock::TimeInMilliseconds()) in
test code is replaced. This slightly changes the behavior since the
timestamp will get increased resolution.

Timestamp::ms(Clock::TimeInMilliseconds()) in non-test code is untouched
to avoid changing behavior of production code.

Bug: webrtc:9883
Change-Id: I8047f4cb2ca735f44f11d32f9367aa3eb376ec04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142803
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28321}
2019-06-19 09:18:21 +00:00
Niels Möller
4d504c76cb New interface EncodedImageBufferInterface, replacing use of CopyOnWriteBuffer
Bug: webrtc:9378
Change-Id: I62b7adbd9dd539c545b5b1b1520721482a4623c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138820
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28317}
2019-06-19 07:02:34 +00:00
Artem Titov
7f2a67f8ce Cleanup names and extra checks for errors in PC test framework
Bug: webrtc:10138
Change-Id: I5585f30e941cf9914028a0040388a02778ab46c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141672
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28282}
2019-06-14 11:31:52 +00:00
Artem Titov
ad82e8e1a6 Fix: restore disabling PC smoke test on iOS
Bug: webrtc:10138
Change-Id: I988cf96a60b7de6d304020135f53f90e8536feb2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142161
Reviewed-by: Oleksandr Iakovenko <iakovenko@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28280}
2019-06-14 10:31:39 +00:00
Artem Titov
ef3fd9c8ad Add support for simulcast with Vp8 from caller into PC level quality tests.
Add support of negotiating simulcast offer/answer. Also fix some minor
issues around to make it finally work.

Bug: webrtc:10138
Change-Id: I382f5df04ca6ac04d8ed1e030e7b2ae5706dd10c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137425
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28274}
2019-06-13 17:27:09 +00:00
Artem Titov
da1c65fb53 Change reporting of time_between_freezes.
Report time_between_freezes as test duration when there were no freezes
in the call.

Bug: webrtc:10138
Change-Id: I3d99be4b714f1b1d13e7b8b7055b368a20859490
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141665
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28248}
2019-06-12 11:57:03 +00:00
Elad Alon
370f93a34a Reland "Inform VideoEncoder of negotiated capabilities"
This is a reland of 11dfff0878c949f2e19d95a0ddc209cdad94b3b4

Now that I am sure that WebRTC code is not calling the obsolete
versions, I will just remove the NOT_REACHED and call the
new version from the old ones, so as not to trip up downstream
projects.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
>
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
>
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,sprang@webrtc.org

Bug: webrtc:10720
Change-Id: I46c69e45c190805c07f7e51acbe277d7eebd1600
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141412
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28236}
2019-06-11 14:49:37 +00:00
Philip Eliasson
49d661a7d3 Revert "Inform VideoEncoder of negotiated capabilities"
This reverts commit 11dfff0878c949f2e19d95a0ddc209cdad94b3b4.

Reason for revert: Downstream import failure.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
> 
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
> 
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,eladalon@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org

Change-Id: I7f833055c67f1f879b01dd8c156ba7b8840e8747
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10720
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141411
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28225}
2019-06-11 11:56:04 +00:00
Elad Alon
11dfff0878 Inform VideoEncoder of negotiated capabilities
After this CL lands, an announcement will be made to
discuss-webrtc about the deprecation of one version
of InitEncode().

Bug: webrtc:10720
Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28224}
2019-06-11 11:32:13 +00:00
Danil Chapovalov
1a5fc9035b in test/pc/e2e pass TaskQueueFactory explicitly
instead of relying on factories that use GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Icc32ae1c159c39a6594d2aaec79c68dcc826fea8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139894
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28220}
2019-06-11 08:48:56 +00:00
Chen Xing
5d24b16c77 Prepare for splitting the api/video:video_frames build rule.
This change is part of a change to break the dependency between "api:rtp_headers" and "api/video:video_frame". It does so by first creating an empty "api/video:video_rtp_headers" build rule so that downstream projects can be fixed before moving the source files.

Bug: webrtc:10668
Change-Id: I81aa6edfef3639b457a40aa93de048e62cbfd8ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140291
Commit-Queue: Chen Xing <chxg@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28209}
2019-06-10 11:50:51 +00:00
Artem Titov
85a9d91cd4 Add ability to set min/start/max bitrate on peer's PC in PC quality tests
Bug: webrtc:10138, webrtc:10692
Change-Id: I4d7ae84dc2945fef6451a6671786b3b19cd9abd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139108
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28107}
2019-05-29 13:25:26 +00:00
Artem Titov
232b6a16cc Propagate screenshare info into video track and it's source.
If screen share is set, then we need to tell video source, that it
is screen share source. Also video track should be aware, that it is
screen share track. It is required to choose proper video encoding
settings.

Bug: webrtc:10138
Change-Id: I5c82584ae0325a303a495554d87962a98b676694
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138278
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28098}
2019-05-29 10:14:22 +00:00
Artem Titov
2370242acf Enable flex fec support in PC quality test framework
Bug: webrtc:10138, webrtc:10683
Change-Id: I9235fef99d3ea857f10234fdd82e8468480f71a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138822
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28078}
2019-05-27 14:48:48 +00:00
Artem Titov
4d29ef063c Add periodic alive message logging to prevent test infra think, that test is dead
Bug: webrtc:10138
Change-Id: Ib39ff6df81776a7784687be2dc16ab81c500cc3e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137428
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28005}
2019-05-21 11:09:18 +00:00
Artem Titov
7581ff7375 Add screen share support to PC level test framework
Bug: webrtc:10138
Change-Id: I1a8ac683e91f8061387f407610d7db2a6d0d4fe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136805
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27950}
2019-05-15 14:07:00 +00:00
Artem Titov
0379d8cfea Change a way, how receive stream is determined in DefaultAudioQualityAnalyzer.
Bug: webrtc:10138
Change-Id: I8955c30f0a5d98abeca029323396e469a2fb243b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136683
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27927}
2019-05-13 13:07:01 +00:00
Mirko Bonadei
daac58290e Remove -Wno-undef and -Wno-extra-semi.
These issues have been fixed upstream in Abseil.

Bug: webrtc:10138
Change-Id: Ic0ebd22d0ad95bbd5269c08c182a76f9bf42f3a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135571
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27883}
2019-05-08 17:42:09 +00:00
Niels Möller
d8b9ed77cf Promote RtcEventLogOutputFile to api/
Preparation for deleting PeerConnectionInterface::StartRtcEventLog
method with a PlatformFile argument.

Bug: webrtc:6463
Change-Id: Ia9fa1d99a3d87f3bf193e73382690b782ffea65c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135285
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27879}
2019-05-08 12:29:42 +00:00
Mirko Bonadei
60f14ce217 Do not use absl::flat_hash_map in DefaultVideoQualityAnalyzer.
This CL removes the usage of absl::flat_hash_map because it transitively
depends on CCTZ which fails to link with lld-link after the switch to
libc++.

Since std::map doesn't support heterogeneous lookup until C++14, this
CL also stops using absl::string_view and switches to
`const std::string&`.

Bug: webrtc:10605
Change-Id: I4fc93969c6fc0cc7e7e62b4d2f801bdd27cff0f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135566
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27877}
2019-05-08 10:23:59 +00:00
Mirko Bonadei
630bd43fcf DefaultAudioQualityAnalyzer: use bytes_recv instead of packets_recv.
Bug: webrtc:10138
Change-Id: I2fa5d9da2dd7788ffc48cf6a4171eb3ce0de5423
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135461
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27866}
2019-05-07 14:59:02 +00:00
Artem Titov
f65a89b7f7 Add support of specifying concrete codec for video stream
Bug: webrtc:10138
Change-Id: I074bfccfa5c8f619ea7fa17d6ca99f9b4cbb18b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123386
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27864}
2019-05-07 11:46:57 +00:00
Mirko Bonadei
4487ac4a53 Reland "Add Video Bwe stats collection to DefaultVideoQualityAnalyzer."
This is a reland of 8848229234aae01ec19582ece7b748d557119d66

Original change's description:
> Add Video Bwe stats collection to DefaultVideoQualityAnalyzer.
>
> This CL adds the possibility to collect the following Video BWE stats:
> - available_send_bandwidth
> - transmission_bitrate
> - retransmission_bitrate
> - actual_encode_bitrate
> - target_encode_bitrate
>
> Example of the output:
>
> RESULT available_send_bandwidth: smoke_test/alice= {487754.33,87583.093} bytesPerSecond
> RESULT transmission_bitrate: smoke_test/alice= {465779.17,212075.5} bytesPerSecond
> RESULT retransmission_bitrate: smoke_test/alice= {20036,26326.751} bytesPerSecond
> RESULT actual_encode_bitrate: smoke_test/alice= {418779.33,200486.03} bytesPerSecond
> RESULT target_encode_bitrate: smoke_test/alice= {469491.17,77866.909} bytesPerSecond
> RESULT available_send_bandwidth: smoke_test/bob= {642924.83,168842.34} bytesPerSecond
> RESULT transmission_bitrate: smoke_test/bob= {626115.5,294783.56} bytesPerSecond
> RESULT retransmission_bitrate: smoke_test/bob= {0,0} bytesPerSecond
> RESULT actual_encode_bitrate: smoke_test/bob= {594235.33,297289.54} bytesPerSecond
> RESULT target_encode_bitrate: smoke_test/bob= {640463.5,167676.66} bytesPerSecond
>
> Bug: webrtc:10138
> Change-Id: I0414055af0010b8fb4d909297e6da86d398157c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132703
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@google.com>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27760}

TBR=tommi@webrtc.org

Bug: webrtc:10138
Change-Id: Ib76dfeca741134d6f18ae0eb436920ead42a1d42
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134543
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27856}
2019-05-06 06:32:48 +00:00
Artem Titov
b93c4e622f Add propagation of test duration to PC framework user.
Add method to get real test execution time, where test execution time is
time from call setup to call terminated.

Bug: webrtc:10138
Change-Id: I7ae3995c0051ecb4fc796b895be1180c8aab77cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134302
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27822}
2019-05-02 10:20:26 +00:00
Artem Titov
e680c83a41 Revert "Add Video Bwe stats collection to DefaultVideoQualityAnalyzer."
This reverts commit 8848229234aae01ec19582ece7b748d557119d66.

Reason for revert: break chromium compilation on iOS
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8915214519549611184/+/steps/compile/0/stdout

Original change's description:
> Add Video Bwe stats collection to DefaultVideoQualityAnalyzer.
> 
> This CL adds the possibility to collect the following Video BWE stats:
> - available_send_bandwidth
> - transmission_bitrate
> - retransmission_bitrate
> - actual_encode_bitrate
> - target_encode_bitrate
> 
> Example of the output:
> 
> RESULT available_send_bandwidth: smoke_test/alice= {487754.33,87583.093} bytesPerSecond
> RESULT transmission_bitrate: smoke_test/alice= {465779.17,212075.5} bytesPerSecond
> RESULT retransmission_bitrate: smoke_test/alice= {20036,26326.751} bytesPerSecond
> RESULT actual_encode_bitrate: smoke_test/alice= {418779.33,200486.03} bytesPerSecond
> RESULT target_encode_bitrate: smoke_test/alice= {469491.17,77866.909} bytesPerSecond
> RESULT available_send_bandwidth: smoke_test/bob= {642924.83,168842.34} bytesPerSecond
> RESULT transmission_bitrate: smoke_test/bob= {626115.5,294783.56} bytesPerSecond
> RESULT retransmission_bitrate: smoke_test/bob= {0,0} bytesPerSecond
> RESULT actual_encode_bitrate: smoke_test/bob= {594235.33,297289.54} bytesPerSecond
> RESULT target_encode_bitrate: smoke_test/bob= {640463.5,167676.66} bytesPerSecond
> 
> Bug: webrtc:10138
> Change-Id: I0414055af0010b8fb4d909297e6da86d398157c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132703
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@google.com>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27760}

TBR=mbonadei@webrtc.org,mbonadei@google.com,ilnik@webrtc.org,tommi@webrtc.org,titovartem@webrtc.org

Change-Id: Ib0ef94331410d9b22b6425e4da412b75360fa2d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134210
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27771}
2019-04-25 13:39:04 +00:00
Mirko Bonadei
8848229234 Add Video Bwe stats collection to DefaultVideoQualityAnalyzer.
This CL adds the possibility to collect the following Video BWE stats:
- available_send_bandwidth
- transmission_bitrate
- retransmission_bitrate
- actual_encode_bitrate
- target_encode_bitrate

Example of the output:

RESULT available_send_bandwidth: smoke_test/alice= {487754.33,87583.093} bytesPerSecond
RESULT transmission_bitrate: smoke_test/alice= {465779.17,212075.5} bytesPerSecond
RESULT retransmission_bitrate: smoke_test/alice= {20036,26326.751} bytesPerSecond
RESULT actual_encode_bitrate: smoke_test/alice= {418779.33,200486.03} bytesPerSecond
RESULT target_encode_bitrate: smoke_test/alice= {469491.17,77866.909} bytesPerSecond
RESULT available_send_bandwidth: smoke_test/bob= {642924.83,168842.34} bytesPerSecond
RESULT transmission_bitrate: smoke_test/bob= {626115.5,294783.56} bytesPerSecond
RESULT retransmission_bitrate: smoke_test/bob= {0,0} bytesPerSecond
RESULT actual_encode_bitrate: smoke_test/bob= {594235.33,297289.54} bytesPerSecond
RESULT target_encode_bitrate: smoke_test/bob= {640463.5,167676.66} bytesPerSecond

Bug: webrtc:10138
Change-Id: I0414055af0010b8fb4d909297e6da86d398157c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132703
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@google.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27760}
2019-04-25 09:37:54 +00:00
Artem Titov
1845922d5a Introduce QualityMetricsReporter and implement network stats gathering
QualityMetricsReporter helps to keep network emulation framework and
peer connection level test framework separated. Also it provides
ability to gather statistics from any component around with
correlation with call start and end.

Bug: webrtc:10138
Change-Id: Ib3330a8d35481fde77fcf77d2271d6cfcf188fec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132718
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27759}
2019-04-25 09:36:50 +00:00
Niels Möller
43f7002aff Delete DecodedImageCallback::ReceivedDecodedFrame
This was a companion method to ReceivedDecodedReferenceFrame, deleted
in https://webrtc-review.googlesource.com/c/src/+/133348.

Tbr: kwiberg@webrtc.org # Mock class update
Bug: webrtc:7408
Change-Id: I429f5f5c18f14c27136e82860297107a82c81d13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133571
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27754}
2019-04-25 08:09:29 +00:00
Artem Titov
7e2f6b7d92 Fix reporting of metrics when there is no video in the test.
Before if there is no video in PC quality test video quaity analyzer
failed on RTC_CHECK becuase of empty counter. Now it will report no
metrics and print 0 in debug logging.

Bug: webrtc:10138
Change-Id: If6656a613465c522cac1d4b2e4dd455e409229ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133886
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27731}
2019-04-24 08:58:55 +00:00
Danil Chapovalov
d0e0ed82af Use explicit TaskQueueFactory for FrameGeneratorCapturer in test/pc/e2e
This replaces the implicit usage of GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: I04f04208c852d9e4917a9b1dc555c72bfc28fb7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133577
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27707}
2019-04-23 10:26:06 +00:00
Sebastian Jansson
2d87a50b46 Only process cross traffic simulation if added.
This avoids extra processing overhead when there's no cross traffic
simulation active.

Bug: webrtc:10365
Change-Id: I8c8ae2fb823a47af2406e62ae350ebb551169646
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133620
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27705}
2019-04-23 10:04:07 +00:00
Artem Titov
76723ae836 Add API to get raw stats value from DefaultAudioQualityAnalyzer
Bug: webrtc:10138
Change-Id: I60601a47c8dd8f669297d91825fe057f2b3da634
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133565
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27685}
2019-04-18 12:04:06 +00:00
Niels Möller
2317c5ee0a Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame
The code invoking it was deleted in
https://codereview.webrtc.org/2753783002

Tbr: kwiberg@webrtc.org # Change to mock class in api/test
Bug: webrtc:7408
Change-Id: I576d7aacd7dc60e42a05d2ea837fddf16594e685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133348
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27680}
2019-04-18 08:14:40 +00:00
Artem Titov
153056b059 Add ability to play audio in circle for TestAudioDevice wav file capturer
Also use this ability in PC smoke test.

Bug: webrtc:10138
Change-Id: I83d526344f203082a19377d9642c9e453454f7ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133163
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27649}
2019-04-16 15:33:03 +00:00
Artem Titov
6a0aad9260 Temporary switch back to generated audio to fix test flakes
Wav file capturer won't repeat file or produce silence after file end and
WebRTC pipeline will crash in such case. In future we need to make it
possible to continue audio after file was ended to behalf in the same
way as video files capturer.

Bug: webrtc:10138
Change-Id: I35f5bd33790cd430a56002a44af0abb894a96d29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132795
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27609}
2019-04-15 09:22:28 +00:00
Erik Språng
16cb8f5d74 Reland "Replace usage of old SetRates/SetRateAllocation methods"
This is a reland of 7ac0d5f348f0b956089c4ed65c46e65bac125508

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
>
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
>
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,perkj@webrtc.org

Bug: webrtc:10481
Change-Id: I2978d5c527a18e885b7845c4e53a2424e8ad5b4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132551
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27593}
2019-04-12 13:37:32 +00:00
Artem Titov
70f80e5962 Add support for creation of AEC dump during the test with PC framework.
Also add conversational speech into PC smoke test (with resource files).

Bug: webrtc:10138
Change-Id: I415a5565bc9146821476ffc60f57f47ed51f89c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132323
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27592}
2019-04-12 13:09:12 +00:00
Niels Möller
7aacdd9515 Reland "Delete CodecSpecificInfo argument from VideoDecoder::Decode"
This is a reland of 39d3a7de02d63894d12e7332322e1d80cd7c0d40

Original change's description:
> Delete CodecSpecificInfo argument from VideoDecoder::Decode
>
> Bug: webrtc:10379
> Change-Id: I079b419604bf4e9c1994fe203d7db131a0ccddb6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125920
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27022}

Tbr: kwiberg@webrtc.org
Bug: webrtc:10379
Change-Id: I8197bebd2ae7dc460644a98795b8257b033c27c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126480
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27565}
2019-04-11 13:03:52 +00:00
Minyue Li
7ddef1af88 Revert "Replace usage of old SetRates/SetRateAllocation methods"
This reverts commit 7ac0d5f348f0b956089c4ed65c46e65bac125508.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Replace usage of old SetRates/SetRateAllocation methods
> 
> This rather large CL replaces all relevant usage of the old
> VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
> API is unchanged to allow downstream projects to update without
> breakage.
> 
> Bug: webrtc:10481
> Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27554}

TBR=brandtr@webrtc.org,sakal@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,perkj@webrtc.org

Change-Id: I576760b584e3f258013b0279c0c173c895bbb37e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10481
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132561
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27559}
2019-04-11 10:50:29 +00:00
Erik Språng
7ac0d5f348 Replace usage of old SetRates/SetRateAllocation methods
This rather large CL replaces all relevant usage of the old
VideoEncoder::SetRates()/SetRateAllocation() methods in WebRTC.
API is unchanged to allow downstream projects to update without
breakage.

Bug: webrtc:10481
Change-Id: Iab8f292ce6be6c3f5056a239d26361962b14bb38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131949
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27554}
2019-04-11 07:46:09 +00:00
Artem Titov
8b9f51132a Add stream labels into PeerConnection level smoke test.
Bug: webrtc:10138
Change-Id: I779a8eb0516471273ddb313df3c2a34e66dff869
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131396
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27479}
2019-04-08 09:58:51 +00:00