38576 Commits

Author SHA1 Message Date
Mirko Bonadei
b337c40e58 Introduce Y4mFrameGenerator.
Bug: b/269577953
Change-Id: Id28a395235cc88cb5422dd9754483fbac3e50807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294100
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39344}
2023-02-20 11:25:26 +00:00
Henrik Boström
8ad4924936 Make SimulcastIndex() and SpatialIndex() distinct (remove fallback).
This CL removes the fallback logic to return the other index when the
one requested has not been set. This means we can remove the codec gates
that was previously needed because SpatialIndex() had multiple meanings,
resolving the TODOs previously added in
https://webrtc-review.googlesource.com/c/src/+/293343.

We have already migrated all known external dependencies from
SpatialIndex() to SimulcastIndex() where necessary, unblocking this CL.

PSA: https://groups.google.com/g/discuss-webrtc/c/SDAVg6xJ3gY

Bug: webrtc:14884
Change-Id: I82787505ab10be151e5f64965b270c45465d63a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293740
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39343}
2023-02-20 10:48:24 +00:00
chromium-webrtc-autoroll
dc8a49abd8 Roll chromium_revision cc44e4fee5..a0f406407b (1107219:1107323)
Change log: cc44e4fee5..a0f406407b
Full diff: cc44e4fee5..a0f406407b

Changed dependencies
* fuchsia_vesion: version:11.20230218.2.1..version:11.20230219.2.1
* src/buildtools: c330465d95..86d8d59707
* src/buildtools/third_party/libc++/trunk: 3c25fb0803..43c39fecf3
* src/ios: 220ca4bf8b..eabc1ecd0b
* src/testing: f6e91f81c5..9686404aed
* src/third_party: 77f3d5d225..b3ece5d0a3
* src/third_party/androidx: vUTlHbKBLM4krixE17LfiE5TEFoG_oG8PWG2kxuKDKYC..MZ9_PEpIzKK0mJj-ofqMi2FNv_6yzhVurgpyh5pHkK8C
* src/tools: 3e95b7c226..23ee8d2022
DEPS diff: cc44e4fee5..a0f406407b/DEPS

No update to Clang.

BUG=None

Change-Id: I560bcb99945832d57cbf0712caccb3f43d035838
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294263
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39342}
2023-02-20 06:34:31 +00:00
Seija K
1a890c13ba Changed OutputToDebug to create a CFString at compile-time, rather than runtime
CFStringFromCString is useful, however if we have a static C string, we can use the defined macro CFSTR to create a CFString at runtime instead.

Bug: None
Change-Id: I54b3f590b3ab07858409af27b817013c98556ded
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293060
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Seija K. <doremylover123@gmail.com>
Cr-Commit-Position: refs/heads/main@{#39341}
2023-02-19 22:41:59 +00:00
Harald Alvestrand
8981a6fac3 Use two MediaChannels for 2 directions.
This CL separates the two directions of MediaChannel into two separate objects that do not couple with each other.

The notable API change is that receiver local SSRC now has to be set explicitly - before, it was done implicitly when the send-side MediaChannel had a stream added to it.

Bug: webrtc:13931
Change-Id: I83c2e3c8e79f89872d5adda1bc2899f7049748b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288400
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39340}
2023-02-19 10:34:42 +00:00
chromium-webrtc-autoroll
6d1a7827dc Roll chromium_revision ab39cad4f6..cc44e4fee5 (1107119:1107219)
Change log: ab39cad4f6..cc44e4fee5
Full diff: ab39cad4f6..cc44e4fee5

Changed dependencies
* fuchsia_vesion: version:11.20230217.2.1..version:11.20230218.2.1
* src/base: bbc1a28521..17550eadaf
* src/buildtools: 8d777d7113..c330465d95
* src/buildtools/third_party/libc++/trunk: 63a3e673a7..3c25fb0803
* src/ios: c57069be61..220ca4bf8b
* src/testing: f874f15a0f..f6e91f81c5
* src/third_party: 4e7784c7e6..77f3d5d225
* src/third_party/androidx: CfcVQ5dwBz8ueZRtHPubi-CkUjZWM4HPCFBnum57ZTUC..vUTlHbKBLM4krixE17LfiE5TEFoG_oG8PWG2kxuKDKYC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bdf25f32dc..6234cc4e01
* src/tools: 6afaf6f2fe..3e95b7c226
DEPS diff: ab39cad4f6..cc44e4fee5/DEPS

No update to Clang.

BUG=None

Change-Id: Ibded68c1952219ec41eea1e6bb31eaabbc73001b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294164
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39339}
2023-02-19 05:06:57 +00:00
chromium-webrtc-autoroll
d431c970f1 Roll chromium_revision 7a6ebdfb13..ab39cad4f6 (1107015:1107119)
Change log: 7a6ebdfb13..ab39cad4f6
Full diff: 7a6ebdfb13..ab39cad4f6

Changed dependencies
* src/base: be4bff667d..bbc1a28521
* src/build: c3699cb936..6be968106c
* src/buildtools: 2ff42d2008..8d777d7113
* src/buildtools/linux64: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* src/buildtools/mac: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* src/buildtools/third_party/libc++/trunk: 6f4617b9ef..63a3e673a7
* src/buildtools/win: git_revision:edf6ef4b06b42c58292faea78498aff76bdf68ed..git_revision:b25a2f8c2d33f02082f0f258350f5e22c0973108
* src/ios: 53ec9d0586..c57069be61
* src/testing: 317b98d4ea..f874f15a0f
* src/third_party: 0701dc0471..4e7784c7e6
* src/third_party/androidx: sqHSBvyXtC4EY8qIZO-IN73yr3to_kvN-gNZ_CfZzJgC..CfcVQ5dwBz8ueZRtHPubi-CkUjZWM4HPCFBnum57ZTUC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/767feea600..bdf25f32dc
* src/tools: c34438abc5..6afaf6f2fe
DEPS diff: 7a6ebdfb13..ab39cad4f6/DEPS

Clang version changed llvmorg-17-init-2082-g6d4a674a:llvmorg-17-init-2387-g68e81d7e
Details: 7a6ebdfb13..ab39cad4f6/tools/clang/scripts/update.py

BUG=None

Change-Id: I3cbe9fb6870d85b64ee27065d3b3f362ee24db16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294060
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39338}
2023-02-18 04:48:38 +00:00
chromium-webrtc-autoroll
13947db794 Roll chromium_revision c6a838a2bc..7a6ebdfb13 (1106860:1107015)
Change log: c6a838a2bc..7a6ebdfb13
Full diff: c6a838a2bc..7a6ebdfb13

Changed dependencies
* fuchsia_vesion: version:11.20230217.0.1..version:11.20230217.2.1
* src/base: 146f709b33..be4bff667d
* src/build: 1103ef535c..c3699cb936
* src/ios: 7f97028c53..53ec9d0586
* src/testing: 166db27fd0..317b98d4ea
* src/third_party: 4578a3fe75..0701dc0471
* src/third_party/breakpad/breakpad: 5687ac51ca..abb105db21
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/44b7bc5487..767feea600
* src/third_party/depot_tools: 3879bd830c..62c7a8bad0
* src/third_party/libyuv: 6e4b0acb4b..2bdc210be9
* src/third_party/perfetto: 5860063396..0d180f4648
* src/tools: 04e6a398f0..c34438abc5
DEPS diff: c6a838a2bc..7a6ebdfb13/DEPS

No update to Clang.

BUG=None

Change-Id: Ifae51760aa9f936d2928b508c1c779f616d66764
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294000
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39337}
2023-02-17 22:36:19 +00:00
chromium-webrtc-autoroll
b47c486937 Roll chromium_revision cce0050145..c6a838a2bc (1106718:1106860)
Change log: cce0050145..c6a838a2bc
Full diff: cce0050145..c6a838a2bc

Changed dependencies
* src/base: a77d8fe58e..146f709b33
* src/ios: dfad7173d7..7f97028c53
* src/testing: 4d7e94b7ae..166db27fd0
* src/third_party: f73bea5c47..4578a3fe75
* src/third_party/androidx: j8ODeb19OPYNvR6IH59xZ0BX66U8NNWdnyl-IOL6-ikC..sqHSBvyXtC4EY8qIZO-IN73yr3to_kvN-gNZ_CfZzJgC
* src/third_party/freetype/src: 0eca6ead82..bbfcd79eac
* src/third_party/icu: 266a46937f..c6b6852231
* src/third_party/perfetto: 1046bf928b..5860063396
* src/third_party/r8: CNzcoXA0246FgCmus3Uk0w-NXoGjqjHku8jocP5AcuUC..EzD88AUfNs2DWG8ytv86PmRrgkNmeLLaiQOrNNLUWwAC
* src/tools: ad17ea6930..04e6a398f0
DEPS diff: cce0050145..c6a838a2bc/DEPS

No update to Clang.

BUG=None

Change-Id: Id33fea19a9b65bb340dfc1410d0ef875170c4b78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293892
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39336}
2023-02-17 18:49:51 +00:00
Mirko Bonadei
3ea7162c3c Make FrameGeneratorInterface::GetResolution pure virtual.
Bug: b/269577953
Change-Id: Ia8d370b9741fe3ed19ce276265ff7de7dcd061d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293961
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39335}
2023-02-17 17:03:24 +00:00
Jakob Ivarsson
91e6cd2fb3 Use generated_noise_samples to count consecutive expands.
This is a pure noop refactor that removes duplicated state.

It also correctly keeps track of generated samples when transitioning from CNG to expand mode when CNG timeout is used.

Bug: webrtc:12790
Change-Id: Ieca559bd771c42566e5d4f8837235cb25b1420bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293862
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39334}
2023-02-17 16:27:53 +00:00
Jakob Ivarsson
48d7842259 Disable stop CNG after a timeout.
This is still a behavior that we want, but a more careful rollout is needed.

Bug: webrtc:12790
Change-Id: Ic74c7b4945c0cdeda2b17f52301069424ad91162
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293860
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39333}
2023-02-17 16:09:04 +00:00
Rasmus Brandt
86163248f4 Rename CodecTimer -> DecodeTimePercentileFilter.
The CodecTimer is not a codec timer, it's more like a decoder stopwatch with a percentile filter wrapped around it. Since the purpose of the class is to provide an estimate for how much decode delay to add when determining the render timestamp of a frame, let's rename this class to `DecodeTimePercentileFilter`.

No functional changes are intended.

Bug: webrtc:14905
Change-Id: I48c99e4f500c4f9e1a2a20b0afe72d6e76c5192d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293462
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39332}
2023-02-17 13:52:38 +00:00
Mirko Bonadei
f1e392214d Make frame generators return the target resolution.
Bug: b/269577953
Change-Id: Ib3db0017becb8a6a680997f59e0f9050a42a3a79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293940
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39331}
2023-02-17 13:20:32 +00:00
chromium-webrtc-autoroll
cd7ea3ef46 Roll chromium_revision 39192b4c63..cce0050145 (1104403:1106718)
Change log: 39192b4c63..cce0050145
Full diff: 39192b4c63..cce0050145

Changed dependencies
* fuchsia_vesion: version:11.20230213.0.1..version:11.20230217.0.1
* reclient_vesion: re_client_version:0.93.0.9ed3cef-gomaip..re_client_version:0.96.2.d36a87c-gomaip
* resultdb_vesion: git_revision:ac21cf9883af7d1bf6d60e8a7448918eb3b6aa18..git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95
* src/base: d78c3d57a4..a77d8fe58e
* src/build: 72a5519940..1103ef535c
* src/buildtools: dbaf3c47d5..2ff42d2008
* src/buildtools/reclient: re_client_version:0.93.0.9ed3cef-gomaip..re_client_version:0.96.2.d36a87c-gomaip
* src/buildtools/third_party/libc++/trunk: fb27d308b0..6f4617b9ef
* src/buildtools/third_party/libc++abi/trunk: b74d771611..f7460fc60a
* src/buildtools/third_party/libunwind/trunk: f0ea28495a..c4ed9cba55
* src/ios: 1f2d3756f5..dfad7173d7
* src/testing: c1ff82d297..4d7e94b7ae
* src/third_party: 27a24c6db0..f73bea5c47
* src/third_party/android_build_tools/manifest_merger: 2JpGK05syKIkt6K-gSTBDV90H50KLdXLP_vyVhXRWqcC..EnlN2b-khJhe8B9hSfh7UxvglJXEwWDKaMm4ixhLYTMC
* src/third_party/androidx: GKy4LARn3eG5qTUEQ110uKvs6CP-0YfU1FYMVl1WYFkC..j8ODeb19OPYNvR6IH59xZ0BX66U8NNWdnyl-IOL6-ikC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/0586618453..ca1690e221
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7947234401..44b7bc5487
* src/third_party/depot_tools: e636a25853..3879bd830c
* src/third_party/flatbuffers/src: b47ba1d5ff..a56f9ec50e
* src/third_party/fontconfig/src: 452be8125f..2ef790a0db
* src/third_party/freetype/src: dacbb55433..0eca6ead82
* src/third_party/kotlin_stdlib: yDx4bgi6fy03EzeCNgTQFs5WWyqNkJtPvSN7yqqN-48C..Mg7371mEUwDQH4_z29HdWqYWVlXN6t2dXX0kIutg_SwC
* src/third_party/perfetto: 565d711bb6..1046bf928b
* src/third_party/r8: aPfF8BYhTWRf1GioUYZMwrC8hlAaLFllM_tfppFbRBIC..CNzcoXA0246FgCmus3Uk0w-NXoGjqjHku8jocP5AcuUC
* src/tools: 249f92dc74..ad17ea6930
* src/tools/luci-go: git_revision:a4b0cf91f9d6e0436705b94b979fe070d21912b1..git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c
* src/tools/luci-go: git_revision:a4b0cf91f9d6e0436705b94b979fe070d21912b1..git_revision:c543f47ae455dbfe7e8fed5baa61a14d9068e98c
* src/tools/resultdb: git_revision:ac21cf9883af7d1bf6d60e8a7448918eb3b6aa18..git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95
DEPS diff: 39192b4c63..cce0050145/DEPS

Clang version changed llvmorg-16-init-17653-g39da55e8:llvmorg-17-init-2082-g6d4a674a
Details: 39192b4c63..cce0050145/tools/clang/scripts/update.py

BUG=None

Change-Id: I24241a983181f521895f38ee4f37f132f4250652
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293889
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39330}
2023-02-17 13:19:30 +00:00
Tony Herre
0277f2b4a7 Add GetDirection method to MockTransformableVideoFrame
Allow mocking of GetDirection in tests.
Required for Chromium adoption of this mock:
https://chromium-review.googlesource.com/c/chromium/src/+/4236916

Bug: chromium:1414370
Change-Id: I2e7443a1bf24966cfcfaeadf47c5b29375e84f99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293745
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Tony Herre <herre@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39329}
2023-02-16 18:55:56 +00:00
Dor Hen
99e002fdc4 Add APIs audio encoder/decoder factories in PeerConfigurer
In Meta we have our own audio encoder/decoder factories and we would like to exercise those in the peer connection e2e test framework.
Also, looks cleaner to have the APIs for both video and audio :)

Bug: webrtc:14910
Change-Id: Ibd1e0f39fc809882ef17b3de3154fdf4b567013b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293782
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39328}
2023-02-16 15:53:01 +00:00
Danil Chapovalov
3970fa85b3 Delete few stale TODOs where no action is planned
encrypted_video_payload already allocates enough bytes - first SetSize query such size from the frame_encryptor_

Minimizing VP9 when generic descriptor is used might be harmful in multi-participant scenario where frame needs to be send to a participant without generic descriptor support and thus require complicated restoration of the VP9 specific descriptor.

No-Try: true
Bug: None
Change-Id: I5f2c32c2c9ae745794dfaaa4aec4c5898dff78f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293820
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39327}
2023-02-16 14:44:09 +00:00
Sergey Silkin
72b99a1128 Test Android HW codecs
Bug: b/261160916, webrtc:14852
Change-Id: Iebeab244a9ca6ae196735016064ccd056b7c888e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293401
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39326}
2023-02-16 14:01:52 +00:00
Sergey Silkin
2bdf79ac91 Handle frame_types=null in VideoEncoderWrapper::Encode()
frame_types=null is a valid input for Encoder(). VP8/VP9/H264 software encoder wrappers can handle frame_types=null.

Bug: b/261160916, webrtc:14852
Change-Id: I96ed98d553546ecbe70ff0356f314496f838c535
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293260
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39325}
2023-02-16 11:09:51 +00:00
Henrik Boström
880f1d5ab9 Update simulcast_encoder_adapter_unittest.cc to use absl::optional<>.
Instead of int and magic value -1.

Bug: webrtc:14884
Change-Id: Ieec148a66956aa763c7c5cd2c9519e36a4bea01b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293346
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39324}
2023-02-16 08:35:53 +00:00
Jeremy Leconte
846ce08328 Add a new webrtc_linux_chromium bot.
Change-Id: I895fdf69132a5907f46cd815556d2565811f09aa
Bug: b/265906442
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39323}
2023-02-16 07:47:01 +00:00
Mirko Bonadei
d76d4822b7 Remove base64 from publicly visible targets.
This library is not expected to be used outside of WebRTC.

Bug: None
Change-Id: I35e864eccc2e4101255332372e0c27bb0c492586
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293341
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39322}
2023-02-16 00:12:50 +00:00
Wan-Teh Chang
4dac78a02b Declare 2 VideoEncoder::EncoderInfo vars as const
Declare two VideoEncoder::EncoderInfo local variables as const. This
makes it clear that they are equal to the return value of
encoder_->GetEncoderInfo().

Bug: None
Change-Id: I08ab34e670e6eb1cb3c67a48b4e9826902d9d9fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293385
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Cr-Commit-Position: refs/heads/main@{#39321}
2023-02-15 19:05:23 +00:00
Wan-Teh Chang
f6eb9d64b2 Declare kMinimumFrameRate for AV1 codec as double
The kMinimumFrameRate constant is only used in a comparison with
RateControlParameters::framerate_fps, which is of the double type.
Declare kMinimumFrameRate as double to match.

Note: The kMinimumFrameRate constant was added in
https://webrtc-review.googlesource.com/c/src/+/170360.

Bug: webrtc:11404
Change-Id: I11769867d4e52a720219c8a0ade8e8b74d13ca86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293384
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Cr-Commit-Position: refs/heads/main@{#39320}
2023-02-15 17:27:34 +00:00
Wan-Teh Chang
bd86684bf3 Make VideoEncoder::GetEncoderInfo() pure virtual
Bug: webrtc:9722
Change-Id: I831a9c460425be86e5da2761769b8eecf231462f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293386
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Cr-Commit-Position: refs/heads/main@{#39319}
2023-02-15 17:26:07 +00:00
Henrik Boström
2e540a28c0 Introduce EncodedImage.SimulcastIndex().
As part of go/unblocking-vp9-simulcast (Step 1), EncodedImage is being
upgraded to be able to differentiate between what is a simulcast index
and what is a spatial index.

In order not to break existing code assuming that "if codec != VP9,
SpatialIndex() is the simulcast index", SimulcastIndex() has fallback
logic to return the value of spatial_index_ in the event that
SetSimulcastIndex() has not been called. This allows migrating external
code from (Set)SpatialIndex() to (Set)SimulcastIndex(). During this
intermediate time, codec gates are still necessary in some places of
the code, see TODOs added.

In a follow-up CL, after having fixed dependencies, we'll be able to
remove the fallback logic and rely on SimulcastIndex() and
SpatialIndex() actually being the advertised index and "if codec..."
hacks will be a thing of the past!

Bug: webrtc:14884
Change-Id: I70095c091d0ce2336640451150888a3c3841df80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293343
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39318}
2023-02-15 15:02:57 +00:00
Tony Herre
daf29e461e Create a Header from metadata in clone of encoded sender video frames
This means sender frames cloned from received frames have a valid
header from the start, rather than callers needing to later call
SetMetadata.

Bug: webrtc:14708
Change-Id: Ie25fbd6609928a9555b6db688ab451ff61fa7147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293041
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Reviewed-by: Tove Petersson <tovep@google.com>
Cr-Commit-Position: refs/heads/main@{#39317}
2023-02-15 13:27:53 +00:00
Sam Zackrisson
56c67555f1 AEC3: Delete render delay buffer alignment killswitch
The code has been running in Chrome since 2020 and ChromeOS since 2022 (https://crrev.com/c/3452884) without issues.

Bug: webrtc:11803
Change-Id: I0c572d362b1f52b4591c7790e11a87c1a1ad1a79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293342
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39316}
2023-02-15 12:57:04 +00:00
Wan-Teh Chang
4173483f61 Rename local var active_tls_ to active_tls
The local variable active_tls_ in

EncoderBitrateAdjuster::AdjustRateAllocation() is named like a class
data member. Rename it active_tls to follow the naming convention for
local variables.

Bug: None
Change-Id: If7a5c7b14227bb03460b071c17f92f72396127f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293440
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39315}
2023-02-15 12:46:41 +00:00
Johannes Kron
f4c04286bc Fix WebRTC.Screenshare.DesktopCapturerFullscreenDetector logging issue
The histogram WebRTC.Screenshare.DesktopCapturerFullscreenDetector
incorrectly counted every time a presentation application was shared
instead of only counting sessions where the presentation was
presented in fullscreen. This bug affected Windows, macOS works as
intended.

Bug: chromium:1348011
Change-Id: I9e84e9d1f4310703ba94e2af2e35a52d74a25842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293461
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39314}
2023-02-15 12:40:12 +00:00
Erik Språng
ea41da2f9f Remove unused field trial WebRTC-Pacer-MinPacketLimitMs
Bug: None
Change-Id: Ifa7dc8a58846578531978fb1e281fc8634717028
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293348
Auto-Submit: Erik Språng <sprang@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39313}
2023-02-15 12:39:07 +00:00
Jeremy Leconte
b5af1640a9 Allow lkgr_finder to run on Python2.
Change-Id: Iffb2601d5862a1092dff96b899ceec14ccfed5b9
Bug: chromium:1413695
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293460
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#39312}
2023-02-15 10:29:03 +00:00
Diep Bui
2badc0907e Fix pending time calculation in goog_cc.
Packet pending time should be diffed between max_revc_time and receive time as it is done at line 436. The current implementation makes pending time to be negative.

Bug: webrtc:14850
Change-Id: Ie6590ef11caa67254750591abb6bf72679d76941
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292461
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39311}
2023-02-15 09:55:12 +00:00
Erik Språng
4f642c11f8 Remove WebRTC-TaskQueuePacer trial.
Removes the last unused field trial parameters, the legacy pacer code
was removed some time ago so the main flag feature has been a noop
since then.

Bug: None
Change-Id: I5266d54fccb4c5fde05a6895072cd76cd5f7fbd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293349
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39310}
2023-02-14 17:35:19 +00:00
Erik Språng
2bee5dd4e3 Remove remnants of deprecated field trial strings
Bug: webrtc:9734
Change-Id: Ifceeb9b0d7da924544be114120129e0c1ff5cde9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293345
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39309}
2023-02-14 14:54:14 +00:00
Diep Bui
4dd3260698 Do not probe if rtt is higher than the limit defined in RTTBasedBackoff
Bug: webrtc:14754
Change-Id: If7e0426fb8e568e3d51a767df12500f181fa86d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292841
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39308}
2023-02-14 08:53:23 +00:00
webrtc-version-updater
6e3b239e45 Update WebRTC code version (2023-02-14T04:05:03).
Bug: None
Change-Id: I7b54cd24588aa03af8f310ab842cf5279b886646
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293250
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39307}
2023-02-14 06:03:28 +00:00
Byoungchan Lee
2e631f5c38 Always build all iOS unittests, even on the simulator.
Also, make the iOS audio unittests not run on the simulator by default,
and if someone wants to run the tests one can do
by using the WEBRTC_IOS_RUN_AUDIO_TESTS environment variable.

Bug: webrtc:7812
Change-Id: Ie9fc70872c6617516e2f2c21039489df309b85fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292621
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39306}
2023-02-13 20:30:24 +00:00
Joe Downing
60795e8c7a Re-initialize the DXGI capturer when the DPI of the monitor changes
I am updating Chrome Remote Desktop to apply a scale factor when using
curtain mode (i.e. a loopback RDP session) and I've found that while
the changes are applied and the desktop is scaled, DXGI stops
producing frames.

This is essentially the same issue as crbug.com/1307357 except this
issue is occurring when the DPI is changed rather than the desktop
size.

The fix is to look at the effective DPI for the source being
captured (or the primary monitor when capturing the full desktop)
and then signaling an environment change when the DPI differs.

Bug: webrtc:14894,b:154733991
Change-Id: Id768d4a384434ba59e7396bc919d0ba30d0f6acc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292791
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Joe Downing <joedow@google.com>
Cr-Commit-Position: refs/heads/main@{#39305}
2023-02-13 18:26:29 +00:00
philipel
04e9354557 Remove deprecated VideoStreamDecoderInterface and FrameBuffer2.
Bug: webrtc:14875
Change-Id: I46ea21d9ed46283ad3f6c9005ad05ec116d841f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291701
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39304}
2023-02-13 16:25:00 +00:00
Sergey Silkin
831664294c Allow getScalingSettings to be called from any thread
Scaling settings is a static property of the encoder wrapper. It has no any dependencies on underlaying HW codec and can be fetched from any thread.

getScalingSettings is called from VideoEncoderWrapper ctor [1]. Presence of checkIsOnValidThread() in getScalingSettings caused capturing of thread [2]. That required all following codec calls to be done from the thread that created the codec.

[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/sdk/android/src/jni/video_encoder_wrapper.cc;drc=c05a1be5b49f5c03b6955b05bcbf47609e1b0381;l=41

[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/rtc_base/java/src/org/webrtc/ThreadUtils.java;l=30

Bug: b/261160916, webrtc:14852
Change-Id: I7bb18bc8e3b371d83ccd44d4a5a096f716c0a0e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291807
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39303}
2023-02-13 15:14:42 +00:00
Sergey Silkin
5dd493b3da Do not use PostDelayedTask in video codec tester's pacer
PostDelayedTask doesn't guarantee task execution order. For example,
if you post two tasks, A and B, back-to-back using the same delay
there is no guarantee that A will be executed before B.

Re-implemented pacing using sleep(). Changed pacer to compute task
scheduled time instead of delay. Sleep time is calculated right before
task start. This provides better accuracy by accounting for any delays
that may happen after pacing time is computed and before task queue is
ready to run the task.

It is tricky to implement pacer tests using simulated clocks. The test
use system time which make them flacky on low performance bots. Keep
the test disabled by default.

Bug: b/261160916, webrtc:14852
Change-Id: I88e1a2001e6d33cf3bb7fe16730ec28abf90acc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291804
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39302}
2023-02-13 15:07:16 +00:00
Jeremy Leconte
5f246cb2bf Use win10 chromium mixins now that win bots are upgraded.
Change-Id: I03f9af65deb4bd11bb942639009936f883ef47fc
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293220
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39301}
2023-02-13 13:10:12 +00:00
chromium-webrtc-autoroll
a5abc24f66 Roll chromium_revision b39fd8fad6..39192b4c63 (1103515:1104403)
Change log: b39fd8fad6..39192b4c63
Full diff: b39fd8fad6..39192b4c63

Changed dependencies
* fuchsia_vesion: version:11.20230209.2.1..version:11.20230213.0.1
* src/base: 4c0de397db..d78c3d57a4
* src/build: de801e9921..72a5519940
* src/buildtools: 70e9f44cbc..dbaf3c47d5
* src/buildtools/third_party/libc++/trunk: 035440c707..fb27d308b0
* src/buildtools/third_party/libunwind/trunk: e95b94b74d..f0ea28495a
* src/ios: 0585530ca8..1f2d3756f5
* src/testing: c304e79dbb..c1ff82d297
* src/third_party: 33fc1ea758..27a24c6db0
* src/third_party/android_build_tools/manifest_merger: gzy9U2HI42hR8r1zspR-mPI3BQ6I3zTmJ3GojAQrvgcC..2JpGK05syKIkt6K-gSTBDV90H50KLdXLP_vyVhXRWqcC
* src/third_party/android_deps/libs/com_google_android_gms_play_services_basement: version:2@18.0.1.cr1..version:2@18.1.0.cr1
* src/third_party/android_deps/libs/com_google_android_gms_play_services_tasks: version:2@18.0.1.cr1..version:2@18.0.2.cr1
* src/third_party/androidx: DmFWfKTs5X8UZayNJFuL3kDaONOVDU9NarTxeqLoyRYC..GKy4LARn3eG5qTUEQ110uKvs6CP-0YfU1FYMVl1WYFkC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/37e879a7d1..7947234401
* src/third_party/depot_tools: 023ee12319..e636a25853
* src/third_party/freetype/src: de8b92dd7e..dacbb55433
* src/third_party/r8: UgTC8OKm5SiqQeTkdMMHkq0jL9h_6gbpI0YTBfHWrs8C..aPfF8BYhTWRf1GioUYZMwrC8hlAaLFllM_tfppFbRBIC
* src/tools: 4b4825241b..249f92dc74
* src/tools/luci-go: git_revision:f6b5518e872364f59bb17dd5a967270b38331b84..git_revision:a4b0cf91f9d6e0436705b94b979fe070d21912b1
* src/tools/luci-go: git_revision:f6b5518e872364f59bb17dd5a967270b38331b84..git_revision:a4b0cf91f9d6e0436705b94b979fe070d21912b1
Added dependencies
* src/third_party/android_deps/libs/com_google_android_play_feature_delivery
* src/third_party/android_deps/libs/com_google_android_play_core_common
Removed dependency
* src/third_party/android_deps/libs/com_google_android_play_core
DEPS diff: b39fd8fad6..39192b4c63/DEPS

No update to Clang.

BUG=None

Change-Id: I8929b4d1ed1a8dc7db62f454e7e879fb6d08a6c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293180
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39300}
2023-02-13 10:56:04 +00:00
Christoffer Jansson
7f7a2c5ad1 Noop change to trigger bots
Bug: None
Change-Id: If722bd2bbdaa75057e199dd3426c94040b68ffc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293160
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Auto-Submit: Christoffer Jansson <jansson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39299}
2023-02-13 10:30:38 +00:00
webrtc-version-updater
d631f00c32 Update WebRTC code version (2023-02-13T04:03:11).
Bug: None
Change-Id: If66757b71eb2810ab30cd4e8ed40bdd6e5802860
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293149
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39298}
2023-02-13 05:34:34 +00:00
Byoungchan Lee
c7db5e2107 Remove the usage of is_win_fastlink GN args
This has been removed from https://crrev.com/c/2071243.

Bug: None
Change-Id: I48a0bccbf84a9ae7a8b6045def544ad1a9f5e83c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293080
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39297}
2023-02-11 09:38:00 +00:00
Mikhail Pavlov
55c5173220 Revert "sdp: add rtcp-fb:* lines for common feedback"
This reverts commit 815522782a92e168b80edc760b2e53e4d0e4ea0d.

Reason for revert: Breaks a downstream project.

The internal investigation is still in-progress.

Original change's description:
> sdp: add rtcp-fb:* lines for common feedback
>
> which potentially allows switching to that pattern in the future.
> Video FEC mechanisms (ulpfec, flexfec-03, RED) that currently
> do not have any feedback parameters but will still be considered "common" and feedback may be sent for them.
>
> For audio this causes rtcp-feedback to be sent for G711 and G722 if negotiated.
>
> BUG=webrtc:14802
>
> Change-Id: I54852d39e176f918d4b36462526ceb40617b8fbe
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290702
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39224}

Bug: webrtc:14802
Change-Id: I4dc3c0c53ad1bc06050c0d73b088303312ac58b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293020
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39296}
2023-02-10 19:42:14 +00:00
Bjorn Terelius
bd94515d30 Enable code coverage trybot by default
Bug: b/236797073
Change-Id: I65d58fd8c376607448d39743834fff83da652de6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291102
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39295}
2023-02-10 15:20:07 +00:00