It didn't have proper time to stabilize, making it sensitive to small
changes. This CL increases the stabilization period from 20 to 30s.
Also fixing some minor test suite bug found during investigation.
Bug: webrtc:9718
Change-Id: If56dba5383251ad3d3efe304eebcd880522afabe
Reviewed-on: https://webrtc-review.googlesource.com/c/119943
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26408}
This reverts commit 18cf2383aa2eb9de5778991c9d13b6b847143d37.
Reason for revert: Unexpected changes in webrtc_perf stats.
Original change's description:
> Always use real VideoStreamsFactory in full stack tests
>
> 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}
TBR=ilnik@webrtc.org,sprang@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:10204
Change-Id: Ia52fd55c9f68627166e0538d377003eae4ea518a
Reviewed-on: https://webrtc-review.googlesource.com/c/119946
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26405}
This is intended to be used in Blink to implement proper support
for the JavaScript RTCIceCandidate API.
Bug: chromium:683094
Change-Id: I93d117ef1bd9541593f2715bdf3291dc2941737f
Reviewed-on: https://webrtc-review.googlesource.com/c/119940
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26404}
This CL removes the legacy, no longer used, render buffering code. It
also removes four unused parameters from the AEC3 config. The change
is tested for bit-exactness.
Bug: webrtc:8671
Change-Id: I2bb6cb7a1097863f228767d757d551c00593bb00
Reviewed-on: https://webrtc-review.googlesource.com/c/119701
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26399}
VideoQualityAnalyzerInjectionHelper will be used to provide all required
entities to inject video quality analyzer into peer connection pipeline.
Bug: webrtc:10138
Change-Id: Iea7cf453311d809619839d5cf94b78a020ce9167
Reviewed-on: https://webrtc-review.googlesource.com/c/119642
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26395}
This is a reland of 171df9326200d1e01bce530e2ff01ac5890e6cb7
Original change's description:
> Delete RtpUtility::Payload, and refactor RTPSender to not use it
>
> Replaced by a payload type --> video codec map in RTPSenderVideo,
> where it is used to select the right packetizer.
>
> Bug: webrtc:6883
> Change-Id: I43a635d5135c5d519df860a2f4287a4478870b0f
> Reviewed-on: https://webrtc-review.googlesource.com/c/119263
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26380}
Tbr: danilchap@webrtc.org
Bug: webrtc:6883
Change-Id: I30771b86bbe50de609353e23e80dc532dc884ad4
Reviewed-on: https://webrtc-review.googlesource.com/c/119661
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26394}
The LibvpxVp8Encoder does not allow automatic quality scaling to be used when
encoding multiple resolutions (for simulcast).
Bug: None
Change-Id: Ic47d53850d03f399f80b6cf292fc607c19c1581d
Reviewed-on: https://webrtc-review.googlesource.com/c/119702
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26393}
Create a new RTCP feedback message for reporting the loss and/or non-decodability of video frames, to be used by the upcoming injectable VideoFrameBufferController. The new feedback message should report:
1. The sequence number of the last decoded non-discardable video frame. (TBD: If a multi-packet frame, should it be the sequence number of the first, last, or any of the packets?)
2. The sequence number of the last received RTP packet in the stream.
3. A decodability flag, whose specific meaning depends on the last-received
RTP sequence number. The decodability flag is true if and only if all of
the frame's dependencies are known to be decodable, and the frame itself
is not yet known to be unassemblable.
* Clarification #1: In a multi-packet frame, the first packet's
dependencies are known, but it is not yet known whether all parts
of the current frame will be received.
* Clarification #2: In a multi-packet frame, the dependencies would be
unknown if the first packet was not received. Then, the packet will
be known-unassemblable.
Bug: webrtc:10226
Change-Id: I1563c944477e3ed40235e82ab99a439414632aff
Reviewed-on: https://webrtc-review.googlesource.com/c/118931
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26387}
This reverts commit 171df9326200d1e01bce530e2ff01ac5890e6cb7.
Reason for revert: Breaks downstream project
Original change's description:
> Delete RtpUtility::Payload, and refactor RTPSender to not use it
>
> Replaced by a payload type --> video codec map in RTPSenderVideo,
> where it is used to select the right packetizer.
>
> Bug: webrtc:6883
> Change-Id: I43a635d5135c5d519df860a2f4287a4478870b0f
> Reviewed-on: https://webrtc-review.googlesource.com/c/119263
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26380}
TBR=danilchap@webrtc.org,brandtr@webrtc.org,nisse@webrtc.org
Change-Id: I76489c29541827aaba72515a76db54bdb7495e28
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6883
Reviewed-on: https://webrtc-review.googlesource.com/c/119640
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26385}
Further, strictly require VideoReceiveStream::Config::rendererer
to be non-null when the VideoReceiveStream is started. This is
already true by construction in the production code.
Bug: None
Change-Id: Ia0a41cfafa44215efc195a9eb6204194930c3dde
Reviewed-on: https://webrtc-review.googlesource.com/c/115040
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26384}
This encoder will be used to inject VideoQualityAnalyzerInterface into
VideoEncoder, so it will be able to measure its metrics and also trace
frames from capturing on one peer side to rendering on another peer side.
The decoder will be used for the same purpose but in VideoDecoder pert.
Bug: webrtc:10138
Change-Id: Idf719753e3c0b3b1369ff206365bf0558705eb98
Reviewed-on: https://webrtc-review.googlesource.com/c/117363
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26381}
Replaced by a payload type --> video codec map in RTPSenderVideo,
where it is used to select the right packetizer.
Bug: webrtc:6883
Change-Id: I43a635d5135c5d519df860a2f4287a4478870b0f
Reviewed-on: https://webrtc-review.googlesource.com/c/119263
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26380}
UniqueIdGenerator classes are useful outside the pc directory.
This change moves them to the rtc_base directory to enable code
in all directories to reference them.
Bug: None
Change-Id: I1c77da87ea26d9611f37dc1d4d2c16006a6589c6
Reviewed-on: https://webrtc-review.googlesource.com/c/119460
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26378}
If the invoker sets "configs", the default configs would be overridden
by the forward_variables_from() call. This fixes linker errors for
certain shared libraries on Mac Asan when rolling in the change that
switches Mac to build with our in-tree libc++.
BUG=chromium:924121
R=yvesg
CC=thakis
Change-Id: If9db41b724f891034086c64dc7ba38a6406aef92
Reviewed-on: https://webrtc-review.googlesource.com/c/119286
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Tom Anderson <thomasanderson@google.com>
Cr-Commit-Position: refs/heads/master@{#26377}
In the great rename of 2019, several files were renamed to snake_case.
Some of these files were referenced in PRESUBMIT.py alas, the references
were not updated.
Bug: webrtc:10159
Change-Id: I462938a1e8ea11b865d9427b40cba43fd0aab998
Reviewed-on: https://webrtc-review.googlesource.com/c/119160
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26376}
The FrameGeneratorCapturer instances continue to live after
RunBaseTest() returns, and have their own internal task queues. This
means any class that listens for frames may be called after return
from RunBaseTest(), at which point they may be destroyed.
This CL makes sure we remove any capturer before returning.
A specific example of this problem is
VideoSendStreamTest.SuspendBelowMinBitrate
Bug: None
Change-Id: I857566301acce3e32c0888c7a1d2ee3470e6eb28
Reviewed-on: https://webrtc-review.googlesource.com/c/116684
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26375}
Some codecs don't support directly creating simulcast layers with
non-optimal parameters. This proxy will detect this and create
multiple encoders then, one for each layer as a fallback.
Bug: webrtc:10069
Change-Id: I4bcafcfdd68d9ed466e2fafe564db849de6ed4f6
Reviewed-on: https://webrtc-review.googlesource.com/c/119264
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26373}
This class collects the field trial based configuration of audio
allocation and bandwidth in one place. This makes it easier
overview and prepares for future cleanup of the trials.
Bug: webrtc:9718
Change-Id: I34a441c0165b423f1e2ee63894337484684146ac
Reviewed-on: https://webrtc-review.googlesource.com/c/118282
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26370}
The set of tests is a copy of rtc_base/task_queue_unittests excluding tests
that verify rtc::NewClosure rather than task queue implementation itself.
Bug: webrtc:10191
Change-Id: I94e962ad63ff6510c43a97ef0cd4da7d08f25538
Reviewed-on: https://webrtc-review.googlesource.com/c/118445
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26369}
Previously, when abs-send-time was negotiated, it was not sent if TWCC
was enabled. With this FieldTrial, abs-send-time header extension is
sent even if TWCC was negotiated in addition to abs-send-time.
Bug: webrtc:10234
Change-Id: I3af85720760882e89760888d43996fe85def619a
Reviewed-on: https://webrtc-review.googlesource.com/c/118936
Commit-Queue: Konrad Hofbauer <hofbauer@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26368}
The parameter was expanded twice in the macro,
leading to double use and move.
This is both an example of:
* Issue spotted by clandtidy's bug-prone patterns.
* Premature optimization.
Bug: webrtc:9855
Change-Id: I1a0cb2c99f95c6aec79ba1eb198aa39743ccbcd9
Reviewed-on: https://webrtc-review.googlesource.com/c/119042
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26367}
Since end-of-candidates signalling isn't implemented yet, the ice transport shouldn't reach completed. We also shouldn't assume that the transport has failed because gathering is complete without candidates, as we might still get remote candidates.
Bug: chromium:922588
Change-Id: I332f57be494efc775819d80908e9f39610311f82
Reviewed-on: https://webrtc-review.googlesource.com/c/118741
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26365}
By enabling this trial, we can also remove reporting of packet
feedback status from send streams that was used before.
Bug: webrtc:9718
Change-Id: I3e7c4656b0ac6592a834617e044f23a072454181
Reviewed-on: https://webrtc-review.googlesource.com/c/118281
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26363}
These methods should only be used when parsing frames produced
by an older client; newer clients should not attempt to set
these values.
(When talking to older clients, TRUE is hard-coded. When talking
to newer clients, these flags are deprecated.)
Bug: webrtc:10214
Change-Id: I8537869ef3112f4ce9531c6becc33951715685a1
Reviewed-on: https://webrtc-review.googlesource.com/c/118421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26360}
Several PSFB messages might be supported, distinguished using
the unique identifier. If the unique identifier is not REMB, it's
not an error, and so a warning should not be issued.
Bug: webrtc:10226
Change-Id: I5e79b473bd54cf0964f19329efb33354f63f5d5e
Reviewed-on: https://webrtc-review.googlesource.com/c/118686
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26359}