Because quality scaling is enabled now in full stack test, correct
factory should be used to compute actual resolution.
Also, since analyzed stream may be disabled completely now, change how
analyzer considers the test finished --- count captured frames and
stop if required amount of frames is captured and no new comparison were
made.
Bug: webrtc:10204
Change-Id: I205ebc892969ec1cf2d83e054e5c95e089d32104
Reviewed-on: https://webrtc-review.googlesource.com/c/118687
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26358}
Also, attach analyzer to the correct receive stream, instead of attaching
it only if there's one receive stream.
Bug: None
Change-Id: I34888b5bd09b61f0939d77b26cb0d10f9261d3cb
Reviewed-on: https://webrtc-review.googlesource.com/c/118688
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26357}
On buildbots WebRTC-QuickPerfTest field trial is set.
Ensure all FullStackTests don't overwrite this trial and use shorter
timeout in it's presence.
Also, reduce timeouts in the longest CallPerfTests.
Bug: None
Change-Id: If70890f4fe47942b5ea44bfeb26cdc4cee9fa885
Reviewed-on: https://webrtc-review.googlesource.com/c/118923
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26356}
This methods were only used in test code, it should be safe to remove
them.
Bug: webrtc:10198
Change-Id: If2da1695f0efbff3aa9b6ebb4eebf4fdfe128593
Reviewed-on: https://webrtc-review.googlesource.com/c/118601
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26352}
This is needed to skip calling trigger_multiple_dimensions.py script
as it does not support custom swarming servers.
Bug: webrtc:10047
Change-Id: Ie8632313bd936dec40854259ffb2a0e2b7b2c177
Reviewed-on: https://webrtc-review.googlesource.com/c/118690
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26347}
This cl is part of work to move several experiments into a joint
experiment group. Most of them vill be ralted to video, hence the name.
Bug: webrtc:10223
Change-Id: I8767c43abb6aa910ab51710eeb908e0f9df1e296
Reviewed-on: https://webrtc-review.googlesource.com/c/118361
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26346}
This cl allows to overwrite TaskQueue implementation
by depending on and setting the global task queue factory.
Bug: webrtc:10191
Change-Id: I69ceb139d00078d3be90eeb4e240758b88829c20
Reviewed-on: https://webrtc-review.googlesource.com/c/118060
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26345}
This CL hooks up the recently added native stack trace functionality to
the existing PeerConnectionFactory API.
Bug: webrtc:10168
Change-Id: I16189d2988b1359fc53f9a4d0b3d06f34e2a8fd5
Reviewed-on: https://webrtc-review.googlesource.com/c/118600
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26344}
The lowest and highest resolution layers are also identified instead
of assuming they are the first and last ones.
Bug: webrtc:10069
Change-Id: If9c76d647415c5065b79dc71850709db6bf16f61
Reviewed-on: https://webrtc-review.googlesource.com/c/114429
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26343}
In this CL a warning is avoided in the reverberation decay estimator code. The change is bitexact.
Bug: chromium:921582
Change-Id: I5a91f4b5970a21ba6da7254cf7fad8c2d0bcac4b
Reviewed-on: https://webrtc-review.googlesource.com/c/118441
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26342}
This is a reland of dc32cc00e80972223767be339f9318b803f4a2ae
Relanding because this CL was not the culprit for the Chrome bot.
(This code shouldn't even be executed in Chrome).
Original change's description:
> Android: Add helper methods for printing native stack traces
>
> This CL adds utility functions to unwind the stack for a given thread on
> Android ARM devices. This works on top of unwind.h and unwinds native
> (C++) stack traces only. Unwinding a thread from another thread is done
> by overriding the signal handler with a custom function and then
> interrupting the specific thread.
>
> Bug: webrtc:10168
> Change-Id: If5adffd3a6bb57bf502168743e09a7eefc292bf3
> Reviewed-on: https://webrtc-review.googlesource.com/c/118141
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26328}
TBR=tommi
Bug: webrtc:10168
Change-Id: I4c33c2c147cf10c0172c98a55d32dd35a08517c8
Reviewed-on: https://webrtc-review.googlesource.com/c/118704
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26341}
In preparation for adding a discardability flag in
RtpGenericFrameDescriptor, deprecate two bits which are always
in practice set to TRUE.
This is conceptual deprecation. RTC_DEPRECATED cannot actually be
applied, because we still want to be able to parse those bits
and make sure they are truly set to TRUE when TRUE is expected.
Bug: webrtc:10214
Change-Id: I7d6cb640fe27f142578883389cc67d326c90f7bb
Reviewed-on: https://webrtc-review.googlesource.com/c/118381
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26340}
Instead timestamps required for processing are provided explicitly.
This makes it easier to ensure correct usage in log processing
and simulation.
Bug: webrtc:10170
Change-Id: I724a6b9b94e83caa22b8e43b63ef4e6b46138e6a
Reviewed-on: https://webrtc-review.googlesource.com/c/118702
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26339}
This is a reland of 80b95de7651caa0cfeb684ffc200860989f667dc
Original change's description:
> Trim down FileWrapper class to be merely a wrapper owning a FILE*
>
> Bug: webrtc:6463
> Change-Id: If71e2f3a75dc1863bc805ab71de1e2d33294f805
> Reviewed-on: https://webrtc-review.googlesource.com/c/117881
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26311}
Bug: webrtc:6463
Change-Id: I12154ef65744c1b7811974a1d871e05ed3fbbc27
Reviewed-on: https://webrtc-review.googlesource.com/c/118660
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26337}
RTC_HISTOGRAM_COMMON_BLOCK_SLOW.
The macro RTC_HISTOGRAM_COMMON_BLOCK uses a static variable for caching,
which causes its usage to behave unlike that of a regular method,
introducing subtble bugs. For example, if this macro is used inside a
member function to log an instance-dependent metric, all instances of
the same class will share the same cached histogram handle and thus
incorrect reports. Before we move away from these macro-based
implementation for metrics, we should avoid using the non-slow macro
unless the caching in logging metrics become performance-critical.
Bug: webrtc:10188, chromium:921023
Change-Id: I8835978498f3e67c5d97580fc916792f38817ff5
Reviewed-on: https://webrtc-review.googlesource.com/c/118022
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26334}
This will allow the blink-layer ICE-transport handling code
to use the virtual interface class rather than the concrete
implementation class.
Bug: chromium:864871
Change-Id: I5dfd1f266b3f3eabe42e09ba35afe218d25634b1
Reviewed-on: https://webrtc-review.googlesource.com/c/118360
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26333}
This CL prepares for adding stack trace capability to the native part of
the Android PeerConnectionFactory code. The main blocker this CL removes
is the static printStackTrace() function. We need this function to be
non-static since the C++ counterpart of PCF is non-static. This Cl also
performs various other cleanups in surrounding code.
This CL:
* Removes static thread references from PeerconnectionFactory and turns
them into non-static member variables.
* Adds a non-static alternative to
PeerconnectionFactory.printStackTraces().
* Removes the rtc::Thread::Invoke() calls, and turns them into
asynchronous posts.
* Consolidates the two different Java PCF ctors into one, so that there
is one shared path used by both native API and Java API.
Bug: webrtc:10168
Change-Id: I05dbf5b17069d4a115d9adafc25faa121f23b945
Reviewed-on: https://webrtc-review.googlesource.com/c/115961
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26329}
This CL adds utility functions to unwind the stack for a given thread on
Android ARM devices. This works on top of unwind.h and unwinds native
(C++) stack traces only. Unwinding a thread from another thread is done
by overriding the signal handler with a custom function and then
interrupting the specific thread.
Bug: webrtc:10168
Change-Id: If5adffd3a6bb57bf502168743e09a7eefc292bf3
Reviewed-on: https://webrtc-review.googlesource.com/c/118141
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26328}
Fix has 2 parts:
1. Fix for the LossBasedControl being at much lower levels than
DelayBased in StartUpPhase.
2. Explicitly fix state machine problem leading to toggling between
the two estimates.
Bug: webrtc:10222
Change-Id: Ieaaaec6c9233da61a86b69d936c4979c79645686
Reviewed-on: https://webrtc-review.googlesource.com/c/118280
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26327}
In particular, time_utils.h is currently pulled in via rtc_event.h
This CL is in preparation of moving parts of the RTC event log to api/.
Bug: webrtc:10206
Change-Id: Idd35aa9404afded4d29b1296344996c45b8c2e91
Reviewed-on: https://webrtc-review.googlesource.com/c/117921
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26326}
Current way with updates on each frame caused a bogus jitter estimate
and lots of dropped frames in unfiltered KSVC stream.
Bug: chromium:912122
Change-Id: I4a1af71a242af3f9b5f5a411b194331b2df24f68
Reviewed-on: https://webrtc-review.googlesource.com/c/117566
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26322}
If we do, the bitrate allocator will assume there can be a lot a FEC
and other things and bumps the max probing bitrate by 2x.
This caused a bunch of perf tests to change in a non-obvious way.
This is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/115410
Bug: webrtc:10155, chromium:922396
Change-Id: I51d3611cb21d98a8fab1bfab2d8f167ed859696d
Reviewed-on: https://webrtc-review.googlesource.com/c/118043
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26319}
PlatfromThread is used by several TaskQueue implementations that plan
to take it's name as string_view and thus wouldn't guarantee it is 0-terminated.
Bug: webrtc:10191
Change-Id: I7dadb917192257f0185f9cb4f0ec207d7156d3c3
Reviewed-on: https://webrtc-review.googlesource.com/c/118140
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26317}
This flag only needs to be set in kOn interlayer prediction mode, because
in all others, if new layer is enabled - a keyframe is generated.
Also, use external reference control in that case, because libvpx creates
rtp-incompatible references in that case.
Bug: webrtc:10180
Change-Id: I0fad188fa8cd424f831bac219769dbad3a788b1d
Reviewed-on: https://webrtc-review.googlesource.com/c/118041
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26316}
This CL adds a single class to manage the use case of having a task
that repeats itself by a fixed or variable interval. It replaces the
repeating task previously locally defined for rtp transport controller
send as well as the cancelable periodic task. Furthermore, it is
introduced where one off repeating tasks were created before.
It provides the currently used functionality of the cancelable periodic
task, but not some of the unused features, such as allowing cancellation
of tasks before they are started and cancellation of a task after the
owning task queue has been destroyed.
Bug: webrtc:9883
Change-Id: Ifa7edee836c2a64fce16a7d0f682eb09c879eaca
Reviewed-on: https://webrtc-review.googlesource.com/c/116182
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26313}
The WebRtcKeyValueConfig interface allows providing custom key value
configurations that changes per instance of GoogCcNetworkController.
Bug: webrtc:10009
Change-Id: I520fff030d1c3c755455ec8f67896fe8a6b4d970
Reviewed-on: https://webrtc-review.googlesource.com/c/116989
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26312}