Commit Graph

6088 Commits

Author SHA1 Message Date
3609a5aeb6 AgcManagerDirect: Remove clipping_predictor_evaluator_
Remove the evaluation of clipping prediction. The result is not used.

Bug: webrtc:7494
Change-Id: I18d2c1f50ed675a9653d518095f69ed263a34041
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278361
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38320}
2022-10-07 13:30:56 +00:00
cfc3eb1a92 AgcManagerDirect: Remove logging of metrics from ClippingPredictorEvaluator
Remove logging of:
 - WebRTC.Audio.Agc.ClippingPredictor.PredictionInterval
 - WebRTC.Audio.Agc.ClippingPredictor.F1Score
 - WebRTC.Audio.Agc.ClippingPredictor.Precision
 - WebRTC.Audio.Agc.ClippingPredictor.Recall

Bug: webrtc:7494
Change-Id: I52e271f592370c172b8913664936f13a517f8d34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278380
Commit-Queue: Hanna Silen <silen@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38319}
2022-10-07 13:25:54 +00:00
a098fcdb3d AgcManagerDirect: Add a mechanism for RMS error override
Add passing optional speech level and speech probability to Process().
This enables computing an override for the RMS error from
Agc::GetRmsErrorDb(). Currently no speech level or probability are
passed outside the tests and no override happens elsewhere.

Bug: webrtc:7494
Change-Id: I0a7b1204aa51bcde8588963a5af023410405e83d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277560
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38318}
2022-10-07 13:07:36 +00:00
7446b60823 Only update TimestampExtrapolator on the last frame of the temporal unit.
Bug: webrtc:14526
Change-Id: I3fd7cb286050fc4cbe0008534f05141aa19b7606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278142
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38310}
2022-10-06 15:02:54 +00:00
767898c048 Add SpeechProbabilityBuffer
Add a buffer class to store speech probabilities and to estimate speech
activity. Follows the implementation of speech activity computation in
LoudnessHistogram but uses floats for computations.

Bug: webrtc:7494
Change-Id: I6ee72ec52919904ea4e1fbe51d61993aa7813c9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277801
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38309}
2022-10-06 11:23:03 +00:00
09c292f84d AdaptiveDigitalGainController: Add method GetSpeechLevelDbfsIfConfident
Bug: webrtc:7494
Change-Id: I18d8ee4e50f6fd901f29e4591ff12759018d070d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277381
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38303}
2022-10-05 13:44:10 +00:00
9dc43057cf Use MaybeWorkerThread in TaskQueuePacedSender
The pacer can thus run on the Worker thread or an owned TQ depending on field trial string "WebRTC-SendPacketsOnWorkerThread"

Bug: webrtc:14502
Change-Id: Ic74b92b21371cc62c7b2f62f039bc800dcceef8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277622
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38301}
2022-10-05 11:48:04 +00:00
ad68affb90 PacingController: remove unused kDefaultPaceMultiplier
Bug: None
Change-Id: Ida1fa3b8cde7a9c3694095c1d56aca5832498850
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278040
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38299}
2022-10-05 10:30:23 +00:00
d0b3e4beb4 Ensure pointers in MaybeWorkerThread is valid until after task queue is
deleted.

Bug: webrtc:14502
Change-Id: Ic3be7a4b04f9c3f559695eb4439d376750beed9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277447
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38298}
2022-10-05 09:05:12 +00:00
cfbda697ec ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2
Bug: webrtc:7494
Change-Id: If88795fe34a73faa267a9c0bd5250e36455d4d81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277741
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38296}
2022-10-05 08:35:42 +00:00
edcae05bd4 Add utility class MaybeWorkerThread
The class will be used in experiment aiming at reducing the number of
used threads. The experiment will remove the need for the Pacer TQ and
RTP module worker TQ.
The helper ensure calls are made on either the worker thread a TQ
depending on the field trial
"WebRTC-SendPacketsOnWorkerThread"

Bug: webrtc:14502
Change-Id: I47581e3e3203712a244f1cb76952cd94734cc3f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277444
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38289}
2022-10-04 11:39:38 +00:00
56b3a00d52 MonoAgc: Move error computation outside UpdateGain
Bug: webrtc:7494
Change-Id: If95f44bf404316b8fadf28e3fd01a25f87c96a5b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277625
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38282}
2022-10-03 19:59:40 +00:00
c0b0494860 Fix loss of precision in accumulation of RTT in GoogCC
Bug: webrtc:14513
Change-Id: Iefa4cf906ded02b224b970cabeea5b8c4ed122de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277760
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38273}
2022-10-03 12:10:48 +00:00
48912451d4 Delete modules/video_processing
Reasons:
1) It is not used by `PeerConnection` (only in tests)
2) We have no plans on using it
3) The code is functionally untouched since many years

Bug: b/249972434
Change-Id: I1d30edd34231f25d86e8495ff71f1786ba2b0a1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277445
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38260}
2022-09-30 13:50:49 +00:00
ae5677639c Revise video owners
Bug: None
No-try: True
Change-Id: Ibc8dcb22d0ca81897dc63d39ff13372b0fc7302d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277402
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Fanny Linderborg <linderborg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38255}
2022-09-30 08:44:30 +00:00
0c4563c0c4 Remove the libaom av1 decoder.
Bug: webrtc:14267
Change-Id: I95a416b25fa20d4dea6896e05beb59789621f1fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268305
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38253}
2022-09-30 08:42:25 +00:00
73009ec641 Move ownership of decoders to VCMDecoderDatabase
Bug: webrtc:14497
Change-Id: Idf719a1d1605f19fcf46eff7990c61144f2b9e3b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277401
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38251}
2022-09-30 06:21:36 +00:00
20b3271b61 Fork VCMDecoderDatabase for VideoReceiver.
This is to keep the deprecated VideoReceiver separate from the
implementation used by VideoReceiver2 before updating
VCMDecoderDatabase to have ownership of the registered decoders.

Fixing typo (DataBase->Database) in the name of the remaining class.

Bug: webrtc:14486, webrtc:14497
Change-Id: I5ee755921454b0831b3af6d0161f5b48c7c60540
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276781
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38247}
2022-09-29 19:01:05 +00:00
96c1a9b9e2 Clean up decoders when stopping video receive stream.
This updates VideoReceiveStream2::Stop() to symmetrically tear down
state that's built up in VideoReceiveStream2::Start().

Bug: webrtc:11993, webrtc:14486
Change-Id: I41f4feea5584e5baaeed2143432136f8b9761321
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272537
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38244}
2022-09-29 12:03:13 +00:00
2c1b4dac57 Apply stricter bandwidth cap for high loss.
When loss rate is above a certain threshold, set instant_limit = 500 - 1000 * average_loss_rate, which returns 200kbps at 30% loss rate, or 100kbps at 40% loss rate. When the loss rate is above 50%, use the min_bitrate from send_side_bandwidth_estimation.

The high_loss_rate_threshold is set to 1.0, so the change is not activated by default.

Tested the change with hamrit, when average loss rate is above 50%, bandwidth backed to 10kbps, and it took ~10s to ramp up to 1.5Mbps.
https://screenshot.googleplex.com/7dvPoWa2b5SgMSL

Bug: webrtc:12707
Change-Id: I5eea04ef709a183bdf696246094dbd4a204e48f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272061
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38243}
2022-09-29 10:24:13 +00:00
6c2dae21e9 Move VideoEncoderConfig from api/ into video/config
This cl move VideoEncoderConfig from api/ to video/config.

VideoStreamEncoderInterface and VideoStreamEncoderObserver
are moved as collateral.

brandt@ think that the reason these were in api/ in the
first place had to downstream project.

Functionality wise, this is a NOP, but it makes it easier
to modify the encoder (config).

Bug: webrtc:14451
Change-Id: I2610d815aeb186298498e7102cac773ecac8cd36
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277002
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38242}
2022-09-29 09:44:43 +00:00
5ed1752843 APM: Fix benign race in MaybeInitializeCapture()
MaybeInitializeCapture may overwrite the render configuration of a concurrent render reinitialization, leading to a second render reinitialization on the next render processing call.

See bug description for details.

Tested: Verified bitexactness offline (single-threaded) on a large number of aecdumps.
Bug: webrtc:14495
Change-Id: I9b70b454ce1c27859c3414c9c9ec89b7bbe35559
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277380
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38241}
2022-09-29 09:30:03 +00:00
8da45ad5f6 Remove unused #define in quality_scaler.cc
Bug: None
Change-Id: I8a4f130d90fa5e3c251945c333b2ac584e5e0662
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277001
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38240}
2022-09-29 09:10:33 +00:00
0d43caac37 Add WindowId to Source on ChromeOS
This change adds support to allow ChromeOS capturers to also pass a
WindowId with a source. This WindowID can be used to help allow plumbing
and passing an Id that the capturing process knows about, in case it
wants to use any in-process capturing logic.

Bug: chromium:1273189
Change-Id: Ibcf494a75aec06eb1c44e6ff5fbdd9e2952e9b7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267086
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#38238}
2022-09-28 21:05:22 +00:00
23b85d7381 Remove old checksums for older version of opus.
Bug: None
Change-Id: I3f00f1b05f1fd7578536558869cedc39f630026c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/277040
Commit-Queue: Felicia Lim <flim@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38225}
2022-09-27 18:33:52 +00:00
1262eb5ebc Move EncoderStreamFactory into own file
This cl/ is a NOP refactoring,
moving the EncoderStreamFactory from within webrtc_video_engine.cc
into own file in video/. simulcast.cc is collateral.

Bug: webrtc:14451
Change-Id: Ia69b9241d8cd8a12be6628d887701f2e244c07cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276861
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38224}
2022-09-27 17:29:11 +00:00
2d0ba28e25 Audio stack traces
Bug: webrtc:0
Change-Id: I90ea6301f02c2ebe72711ddbeda0bf000a6873aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276940
Auto-Submit: Olga Sharonova <olka@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38223}
2022-09-27 15:05:51 +00:00
dab4cea30d Migrate VideoCodecTestFixture on new perf metrics logging API
Bug: b/246095034
Change-Id: I312f2643e4c84cdfa3e8fef7078a2decbbfef978
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276629
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38217}
2022-09-27 08:31:12 +00:00
6c2ac2ea6b Fix math involving enums in C++20
(-Wdeprecated-anon-enum-enum-conversion)
- Replace enum with constexpr if necessary.
- Merge multiple definitions for H.264 NalDefs and FuDefs and apply
  constexpr.

Bug: chromium:1284275
Change-Id: I4a4d95ed6aba258e7c19c3ae6251c8b78caf84ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276561
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#38215}
2022-09-27 06:55:31 +00:00
7fee2f7908 Migrate CallSimulator to the new perf metrics logging API
Bug: b/246095034
Change-Id: I613f702d2f469b6bc8d1634f8dda40d444ff7cf2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276632
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38213}
2022-09-26 19:37:51 +00:00
136ef25acb Fix crash when appending empty array to AudioMultiVector.
Bug: webrtc:14442,chromium:1367993
Change-Id: I9453e300a6d3d78571d08cc65770787e13d43885
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276620
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38208}
2022-09-26 14:58:55 +00:00
dd65499002 Skip one data copy on dav1d decoding
This CL wraps the |Dav1dPicture| data directly for |VideoFrame| using
instead of copy data out to new buffer.

Bug: None
Change-Id: I21ceffb5cac7dda4a44eafbd0ed221974b8d45ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276526
Commit-Queue: Zhaoliang Ma <zhaoliang.ma@intel.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38194}
2022-09-26 08:37:24 +00:00
e39115a0ca Migrate audio perf tests on new perf metrics export API
Bug: b/246095034
Change-Id: Id659e43c116428cab47d334c93a6036f74dbb8e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276626
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38192}
2022-09-25 18:55:50 +00:00
62b40efe5a base_pipwire_capturer: Stop stream upon destruction
Shared screencast stream is tied to desktop capturer options,
which may outlive capturer itself. This leads to a case where
one may attempt to restart the stream in the capturer. This
causes the previous pipewire objects to leak (as observed
in `pw-top` output) and seems to appear as frozen screen for
clients. This CL ensures that the shared screen cast stream,
which is started in this capturer, is also stopped when the
capturer is destroyed.

Bug: chromium:1291247
Change-Id: I5f2b22e54e916549a5280ec457cd76360e42e48a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276640
Commit-Queue: Salman Malik <salmanmalik@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#38187}
2022-09-24 12:29:59 +00:00
0c01606ab2 Add CapturerID for X11 and Wayland for telemetry
Chrome Remote Desktop will support both X11 and Wayland desktop
capturers in the near future and we'd like to differentiate between
the two in our video frame stats and telemetry.  I beleive other
products are in a similar position so I would like to add a capturer
ID to the frames generated by the capturer classes.

Bug: chromium:1366062
Change-Id: If27c35ad6ef89b6396120982edc4dd0cf2a1e51c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276081
Commit-Queue: Joe Downing <joedow@google.com>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#38185}
2022-09-23 21:31:48 +00:00
8e0fc17204 Add a video codec timeout error code
Reporting timeouts is useful for native hw backed codec implementations.
The value is in sync with VideoCodecStatus.java in the Android sdk.

Bug: b/185740707
Change-Id: I9a08a1303586c677be53aaa4f39455f42e519996
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276042
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Auto-Submit: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38168}
2022-09-22 10:49:10 +00:00
bc4796af94 Add the dependency descriptor for H.264 temporal scalability
And validate it using svc_e2e_tests.

Bug: webrtc:13961
Change-Id: Ie7edcf5a0684f46e4d26155b77cebbebbd46d21f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269541
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38153}
2022-09-21 12:18:23 +00:00
a18144182d Dont send probe if NetworkStateEstimate.link_capacity_upper=DataRate::Zero
Bug: webrtc:14392
Change-Id: I7df34239f3f9ef27a26d04a16e6f3edf3e45d4bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276183
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38151}
2022-09-21 11:59:46 +00:00
2f650fa822 JitterEstimator: remove unnecessary helper functions
Move functionality to closer where the values are used instead,
as per previous CL comment.

Bug: webrtc:14151
Change-Id: I6b7ca02da197420a1f5da930ba87021e6f557444
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275204
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38148}
2022-09-21 10:42:57 +00:00
c69188d15a AudioProcessingImpl: Add input volume unit tests
Bug: webrtc:7494
Change-Id: I5a32359cacfb7cd6b610ae13b95f92283c761362
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275500
Commit-Queue: Hanna Silen <silen@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38132}
2022-09-20 15:29:59 +00:00
56b96ffe6a Surface local_capture_clock_offset from RtpSource
- Propagating `RtpPacketInfo::local_capture_clock_offset`, an
  existing field that is related to the abs-capture-timestamp
  header extension field `estimated_capture_clock_offset`
- Propagated through `SourceTracker::SourceEntry`

Bug: webrtc:10739, b/246753278
Change-Id: I21d9841e4f3a35da5f8d7b31582898309421d524
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275241
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38129}
2022-09-20 12:51:22 +00:00
a1d035655e RtpPacketInfo: new ctor + deprecated ctors clean-up
New ctor added without optional and media specific fields.

Bug: webrtc:10739, b/246753278
Change-Id: I7e15849aced6ed0a7ada725ea171a15ea1e9bc5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275941
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38124}
2022-09-20 08:58:38 +00:00
7d1f6bb86c Add field trial to not probe if estimates are larger that max needed.
This add field trial string "skip_if_est_larger_than_fraction_of_max"
Dont send a probe if min(estimate, network state estimate) is larger than this
fraction of the set max bitrate.



Bug: webrtc:14392
Change-Id: I7333f6ef45ab0c019f21b9e4c604352219e1d025
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275940
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38123}
2022-09-20 07:55:49 +00:00
1306ad4bd7 Keep old checksums for older version of opus
Bug: b/247070183
Change-Id: I9731ba64b9334bd51ae69f8468c987de7824a7b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275764
Auto-Submit: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38112}
2022-09-19 07:05:58 +00:00
9a6a087f37 Remove forward declares
This was missed in https://webrtc-review.googlesource.com/c/src/+/275482.

Bug: webrtc:14111
Change-Id: Id5efcc6838fc3ce4745074b8888c733939e4478d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275767
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38101}
2022-09-16 13:33:08 +00:00
e4bc975a8a JitterEstimator: add field trial for not estimating noise for congested frames
The reason for rejecting the congested frames in the first place, is
that they do not obey a Gaussian distribution around the line from the
Kalman filter. It therefore also does not make sense to include them
in the noise (*) estimation.

(*) noise = variation around the line from the Kalman filter.

Bug: webrtc:14151
Change-Id: Id8a44ba5f13bf9787ab54848109430ef7657f67a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275762
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38100}
2022-09-16 12:40:38 +00:00
4cdc9effac Revert "Update checksums for some Opus bit-exactness tests."
This reverts commit 44c6ce1bf6545b599c0b82bbecfd1eed65b34f48.

Reason for revert: Breaks downstream projects

Original change's description:
> Update checksums for some Opus bit-exactness tests.
>
> Opus was recently updated in Chromium (https://crbug.com/1347531), resulting in these failing for a non-SSE build.
>
> Bug: None
> Change-Id: I6c4124192f98f9358e7cc2241aec16a5338e689a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274760
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Felicia Lim <flim@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38095}

Bug: None
Change-Id: I290226d96e3183f3b4188fd7d80229e104138c3a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275765
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38098}
2022-09-16 11:21:28 +00:00
03e6cccc28 Revert "rtp sender: don't send BYE on deactivating streams"
This reverts commit a22c2a0c581cbe3f612f7a7d9fb9840186cc1e06.

Reason for revert: breaks upstream project

Original change's description:
> rtp sender: don't send BYE on deactivating streams
>
> as this breaks RTCP assumptions about SSRCs being no longer
> active as defined in
>   https://www.rfc-editor.org/rfc/rfc3550#section-6.6
>
> This should not be sent in reaction to temporarily disabling
> a stream via RTCRtpParameters.active as this does not mean that
> the participant is leaving the session as defined in
>   https://www.rfc-editor.org/rfc/rfc3550#section-6.3.7
> and does not indicate end of participation as defined in
>   https://www.rfc-editor.org/rfc/rfc3550#section-6.1
> which stipulates BYE should be the last packet sent from this SSRC.
>
> BUG=webrtc:11082
>
> Change-Id: Ia5144857f85303643146b0759184f0f3f50b66e4
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273348
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#38059}

Bug: webrtc:11082
Change-Id: Iaaff0c0d7bb857fe9ce78ebcc716f3c6f1bc5c4a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275640
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38097}
2022-09-16 09:40:18 +00:00
44c6ce1bf6 Update checksums for some Opus bit-exactness tests.
Opus was recently updated in Chromium (https://crbug.com/1347531), resulting in these failing for a non-SSE build.

Bug: None
Change-Id: I6c4124192f98f9358e7cc2241aec16a5338e689a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/274760
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Felicia Lim <flim@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38095}
2022-09-16 05:24:08 +00:00
bcf24f5bcd Move TimestampExtrapolator closer to its single user
The `TimestampExtrapolator` is only used by the `VCMTiming`
class, despite there being references to it from both
`modules/rtp_rtcp/BUILD.gn` and `modules/video_coding/BUILD.gn`.

Bug: webrtc:14111
Change-Id: If1a02a56a0c83b13d619ca08dc76c884fa829369
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275482
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38093}
2022-09-15 13:49:18 +00:00