Commit Graph

37788 Commits

Author SHA1 Message Date
4a1e32f06e Update WebRTC code version (2022-04-15T04:03:51).
Bug: None
Change-Id: I082fcaf042198a3a6179e1cbdf3cd88dedb324ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258936
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@{#36556}
2022-04-15 05:24:20 +00:00
740d704079 Update IsMonitorValid to return false when no displays are found.
Versions of Windows before Win11 will crash when `CreateForMonitor` is
called, but the system has no attached displays. This can be avoided by
adding a check to ensure at least one display is found before we return
true in `IsMonitorValid`. Previously we would early return `true` if the
"monitor" we were checking was the `kFullDesktopScreenId`.

Bug: chromium:1316478
Change-Id: I2562fe3834db574cf3706ee1d604472ac03f9ff3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258920
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Austin Orion <auorion@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#36555}
2022-04-14 21:46:29 +00:00
d229326578 [Connection] Replace pending_delete_ with !port_.
`pending_delete_` was being used to protect from referencing a
potentially bad `port_` pointer. We now use a WeakPtr for the port
reference, which we clear inside of the Destroy() method. This means
we don't need both flags.

Bug: webrtc:13892
Change-Id: I9427829444486e97d30752893ba2a30b153a70e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258980
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36554}
2022-04-14 21:04:50 +00:00
8a1a0af36f In audio ChannelSend move task queue as last class member
To mitigate race between ~ChannelSend and task created in ProcessAndEncodeAudio.
as described in the comment next to the task queue member.

Bug: b/228933184
Change-Id: Ia0efd050c76a4539dc2525ef8efc065fab96861c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258983
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36553}
2022-04-14 16:08:19 +00:00
8f9b44ba38 Remove unused SignalConnectionCreated
Bug: webrtc:11943
Change-Id: I787f200c3506a70788537cc05bff4e938ed2136d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258982
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36552}
2022-04-14 14:07:29 +00:00
21f12d592a Add rtc_offer_answer_options to peer_connection_quality_test_params.
And use it to generate SDP offers.

Bug: b/203195868
Change-Id: I6f04c92dcef42e2d406d954c2e2ee6e845bcbac1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258795
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36551}
2022-04-14 12:42:39 +00:00
35c5cc8a6f Enable DSCP by default.
DSCP is controlled by the spec-compliant API
RTCRtpEncodingParameters.networkPriority[1]. It already has a default
value that is the same as when DSCP is disabled.
- If you want non-default DSCP default values, you need to set
  networkPriority and shouldn't need to set a non-standard googDscp flag
  for it to have an effect.
- If you want the default DSCP value, you wouldn't change
  networkPriority and so you don't care if enable_dscp is true... you'll
  get the default regardless.

Drive-by: This CL also adds crbug references to other goog flags.

[1] https://w3c.github.io/webrtc-priority/#dom-rtcrtpencodingparameters-networkpriority

Bug: chromium:1315574
Change-Id: I15a0470fa04f55e2534cee0d240eeb03446c2de6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258940
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36550}
2022-04-14 09:35:29 +00:00
836d58408d Delete deprecated RTPSender constructor
Bug: webrtc:11340
Change-Id: Id7ade3b15510e32b8bf4653b0e1652c275b58e88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258789
Auto-Submit: 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@{#36549}
2022-04-14 09:00:19 +00:00
9289c0f714 Roll chromium_revision 5bd6667b8d..367352a504 (992315:992416)
Change log: 5bd6667b8d..367352a504
Full diff: 5bd6667b8d..367352a504

Changed dependencies
* src/base: 0a7d9b5dfc..d714333bb0
* src/build: 2bdab09dcc..bb1c23c67d
* src/ios: 014d89cdcb..5b2e06596b
* src/testing: c0fbde487b..d2cc6b1f9d
* src/third_party: d6301164ca..5a0acdf2e3
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/08767b106c..e9e999a4a8
* src/third_party/depot_tools: 07bfa0dd65..3c6f0eb95f
* src/tools: 51a94f1852..8727552b4f
DEPS diff: 5bd6667b8d..367352a504/DEPS

No update to Clang.

BUG=None

Change-Id: I34a31becacd085211b01f806dd3ec05b8b82270d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258925
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@{#36548}
2022-04-14 07:05:49 +00:00
8aec7fc2c8 Update WebRTC code version (2022-04-14T04:03:30).
Bug: None
Change-Id: Ifcdf84115f8d7e6b27a0243a7bb6beddd3e4066b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258924
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@{#36547}
2022-04-14 05:30:09 +00:00
06b846bde2 Roll chromium_revision 1192e00084..5bd6667b8d (992184:992315)
Change log: 1192e00084..5bd6667b8d
Full diff: 1192e00084..5bd6667b8d

Changed dependencies
* src/base: ed49306049..0a7d9b5dfc
* src/build: 23e02f69c1..2bdab09dcc
* src/ios: 34ab457d41..014d89cdcb
* src/testing: a29bb896cb..c0fbde487b
* src/third_party: abdd080072..d6301164ca
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/22aa2610ec..08767b106c
* src/third_party/depot_tools: 3b97fa826e..07bfa0dd65
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/ad6c0b4051..e24a83a72b
* src/tools: 4dd00ca005..51a94f1852
DEPS diff: 1192e00084..5bd6667b8d/DEPS

No update to Clang.

BUG=None

Change-Id: I16cc7297363a82c822360cdd9d861c0d87563b07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258921
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@{#36546}
2022-04-14 01:07:14 +00:00
7e01458bef Roll chromium_revision bd29a99c80..1192e00084 (991577:992184)
Change log: bd29a99c80..1192e00084
Full diff: bd29a99c80..1192e00084

Changed dependencies
* src/base: c164e5b3ed..ed49306049
* src/build: 2eb794502b..23e02f69c1
* src/buildtools/linux64: git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d..git_revision:0cbe341c1a28037ee32d21b589030a7df0b9fdab
* src/buildtools/mac: git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d..git_revision:0cbe341c1a28037ee32d21b589030a7df0b9fdab
* src/buildtools/third_party/libunwind/trunk: c39fea8873..bbcbce9968
* src/buildtools/win: git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d..git_revision:0cbe341c1a28037ee32d21b589030a7df0b9fdab
* src/ios: edb9f2d80a..34ab457d41
* src/testing: 80545bb8f1..a29bb896cb
* src/third_party: 6da366cf3a..abdd080072
* src/third_party/breakpad/breakpad: e09741c609..8b68c72a3f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0e3c38595b..22aa2610ec
* src/third_party/perfetto: 9091f8c694..2188b7ddcf
* src/tools: e9a6b08461..4dd00ca005
DEPS diff: bd29a99c80..1192e00084/DEPS

No update to Clang.

BUG=None

Change-Id: I92e5fe7bed957213e21a32f14192bbe22562121a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258880
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@{#36545}
2022-04-13 21:58:39 +00:00
cbcf8f37b9 Roll chromium_revision a929241fb2..bd29a99c80 (989850:991577)
Manually change dsymutil dependency to use download_from_google_storage.py

Change log: a929241fb2..bd29a99c80
Full diff: a929241fb2..bd29a99c80

Changed dependencies
* src/base: 676395445e..c164e5b3ed
* src/build: 13488f684b..2eb794502b
* src/buildtools/linux64: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d
* src/buildtools/mac: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d
* src/buildtools/third_party/libc++abi/trunk: ac492da4a7..e025ba5dc8
* src/buildtools/third_party/libunwind/trunk: cb96c63d05..c39fea8873
* src/buildtools/win: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d
* src/ios: 7d92c2079d..edb9f2d80a
* src/testing: 044964b58c..80545bb8f1
* src/third_party: 0670b31598..6da366cf3a
* src/third_party/android_build_tools/aapt2: wicn5Ce1ay6ivbZ1GNFF0gRSS3NYv_7hJTPtVga3O-QC..u2Cw4baoLfvlEDMwcJjq9iOJRF0_2BjsgMFl7UhJxGAC
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib: version:2@1.6.10.cr1..version:2@1.6.20.cr1
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_common: version:2@1.6.10.cr1..version:2@1.6.20.cr1
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk7: version:2@1.5.0.cr1..version:2@1.6.20.cr1
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk8: version:2@1.5.0.cr1..version:2@1.6.20.cr1
* src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_android: version:2@1.5.0.cr1..version:2@1.6.1.cr1
* src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm: version:2@1.5.0.cr1..version:2@1.6.1.cr1
* src/third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/9644104c8c..8388a2be54
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5ff11ff500..0e3c38595b
* src/third_party/depot_tools: 0a6b544e20..3b97fa826e
* src/third_party/harfbuzz-ng/src: 965cf1d665..61486746d3
* src/third_party/icu: 5fb4338560..1fd0dbea04
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/d48a17ce98..ad6c0b4051
* src/third_party/perfetto: f3337aeb22..9091f8c694
* src/third_party/turbine: CJm6IViplElcjFYLJc0XtAjZ97BOVjQIwigcJN6C9gsC..y4x80kUnDOxC5QyG48MlVoiRIEn09eaHcIJQFavlqgMC
* src/tools: 6dbc00b623..e9a6b08461
DEPS diff: a929241fb2..bd29a99c80/DEPS

No update to Clang.

BUG=None

Change-Id: I96fdea592f462217f2c63b5932cb6c7f631580d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258782
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36544}
2022-04-13 16:32:58 +00:00
567d039417 Remove use of another deprecated json API in examples.
Bug: b/228975498
Change-Id: I4bc871769d81e7dc8fb79a3d894a1115894f218a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258794
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36543}
2022-04-13 15:48:48 +00:00
e0ac10db0a Remove use of deprecated Json API
Bug: b/228975498
Change-Id: Ib8fafdd092669f1b430c1f02eeb522fe1b13b654
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258788
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36542}
2022-04-13 15:15:58 +00:00
f22dfdddfe Use std::function instead of sigslot for sending packets
Bug: webrtc:11943
Change-Id: I2df9908f5e2e2ded1f2c6fbf50ef415f73760b50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258787
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36541}
2022-04-13 15:01:25 +00:00
f15189dbce [CallbackList] Use CallbackList in AsyncPacketSocket for close events.
This removes use of the SignalClose sigslot. This CL includes thread
checks for the callback list and updates some call sites to unsubscribe
from events before deletion or detaching from a socket instance.

Bug: webrtc:11943
Change-Id: Ib66d39aa5cc795b750c9e3eaa85ed6af8b55b2b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258561
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36540}
2022-04-13 14:56:58 +00:00
a19f0c7409 Fix C function to comply with improved -Wstrict-prototypes
Bug: b/229072413
Change-Id: Id02a4c92693858864fdadfafdbdd98ed78f1c83e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258790
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36539}
2022-04-13 12:27:48 +00:00
a768f5256a [SlackedPacer] Add experiment arm for high precision if long queue time.
This CL adds flag "max_queue_time", e.g:
WebRTC-SlackedTaskQueuePacedSender/Enabled:true,max_queue_time:75ms

If the PacingController's ExpectedQueueTime() is greater than or equal
to "max_queue_time" then we will use high precision delayed tasks to
ensure a smoother (less bursty) pacing of packets.

This should only get triggered in ultra high definition scenarios or
temporarily during key frames being sent. I have confirmed manually that
with the flag set to 75 ms I get low precision when not sending key
frames and temporarily get high precision for 5-15 delayed tasks during
the sending of a key frame.

Bug: webrtc:13957
Change-Id: I3c8aeba5fe18812ed0187610cd3f92a375bc6f18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258623
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36538}
2022-04-13 11:50:38 +00:00
4d12174ca5 AEC3: Add metrics for stereo detection code
Adds two metrics for stereo detection:
- An enum indicating whether the last 10 seconds contained persistent stereo content or not, logged every 10 seconds.
- An enum indicating whether any persistent stereo content at all has been detected, logged at the end of the AEC lifetime.

These metrics allow us to assess:
- What proportion of all audio is treated as stereo.
- What proportion of sessions encounter any significant stereo content. If this is unexpectedly high, the stereo detection code may need fine tuning.

Metrics are only logged for component lifetimes exceeding 5 seconds: This is to avoid brief AEC lifetimes due to internal resets etc within APM.

Corresponding Chrome CL for XML histogram declarations:
https://crrev.com/c/3579317

Bug: chromium:1295710
Change-Id: I93e2bf74588cf4bb2a8922dbfad079bccab01456
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258760
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36537}
2022-04-13 10:16:48 +00:00
0eab478234 Use a parameterized test for Vp9NonFlexMode_* tests.
Bug: none
Change-Id: I49aecf36e1e4e21338d4ed08712d385e979bfe61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258621
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36536}
2022-04-13 09:59:38 +00:00
90f3c9053d Migrate from deprecated api in examples/
Bug: b/228975498
Change-Id: I25fbc7773d42cdb3a66f61bc8b030b15e6279fa5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258785
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36535}
2022-04-13 09:53:18 +00:00
a23ca6894d Update WebRTC code version (2022-04-13T04:02:58).
Bug: None
Change-Id: I646f60a596ff284cf37b1026d348f1e1ba0d6602
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258822
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@{#36534}
2022-04-13 05:16:08 +00:00
278b19da38 Rename variables of type StunMessage* from request to message.
This is just to reduce confusion since StunMessage and StunRequest
instances are frequently used together and message objects are often
configured from within request objects (which makes the name confusing).

Bug: none
Change-Id: I8bf5e774a5149239dd3023817614d411633bf583
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258484
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36533}
2022-04-12 12:52:08 +00:00
2545257982 [StunRequestManager] Use unique_ptr in RequestMap
This removes the circular delete/remove pattern between the StunRequest
and StunRequestManager whereby deleting a request would call the
manager from the dtor to do a lookup+erase from the map. Instead
the operation of removing from the map, equals delete and is controlled
by the manager (owner) class.

Bug: webrtc:13892
Change-Id: I1920ac4b98636d38b851f4c2057026bfbd392584
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258660
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36532}
2022-04-12 11:52:21 +00:00
424cc65a4a Centralized test command argument in .pyl configuration.
* Remove args from gn_isolate_map.pyl
* Set idempotent to false for performance tests

Bug: webrtc:13899
Change-Id: Icde80af02070e024c1292721db9c0b8a4d906343
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258685
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36531}
2022-04-12 10:43:05 +00:00
02293096f9 Reset all maps in AndroidNetworkMonitor Start()/Stop()
This cl/ fixes another race condition with the recent additions
to NetworkMonitorAutoDetect (getAllNetworksFromCache).

The getAllNetworksFromCache-feature uses the by the Android team
preferred way of enumerating networks, i.e to register network listeners.

Th recent fix to add IsAdapterAvailable, https://webrtc-review.googlesource.com/c/src/+/257400
contained a bug in that the adapter_type_by_name_ map was not
reset either on disconnect or Start/Stop.

This cl/ addresses that including unit test.
It also de-obfuscates NetworkMonitor so that it always
calls NotifyOfActiveNetworkList on startMonitoring even
if list.size() == 0. This should not matter but makes
code easier to understand.

Bug: webrtc:13741
Change-Id: I438b877eebf769a8b2e7292b697ef1c0a349b24f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258721
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36530}
2022-04-12 09:28:57 +00:00
86aa03e238 Refactor StunRequest and StunRequestManager classes.
* Make StunRequest::manager_ a reference, inject ref at ctor time.
* Make other member variables private.
* Mark methods that are only used for testing with "ForTest"
* Add RTC_GUARDED_BY for member variables and thread checks.
* Remove/reduce 'friend'-ness between classes.
* Use std::unique_ptr for owned and passed message pointers.
* Rename `requests_` to `request_manager_` (type: StunRequestManager)

Bug: webrtc:13892
Change-Id: I3a5d511b3c2645bb6813352d39e9fefe422dd1de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258620
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36529}
2022-04-12 08:22:27 +00:00
4baaf99c5e Delete deprecated function in RtpVideoStreamReceiver that references VideoCodec struct
Bug: webrtc:13045
Change-Id: I71c70765d1c265ead1f6fa314733ccb6b61ace15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258684
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36528}
2022-04-12 06:11:13 +00:00
8d3c8fc279 Update WebRTC code version (2022-04-12T04:02:55).
Bug: None
Change-Id: I08246898ab02daaff0155292c8d664009b579599
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258740
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@{#36527}
2022-04-12 05:27:22 +00:00
49a106c8e6 screencast_portal: Add Unknown status for portal RequestResponse
Remote desktop wrapper needs to create a barrier on when the screencast
portal is done (either succeeded or failed). This change adds an initial
enum to differentiate it from other values. CL also generalizes the
helper `PortalFailed` to `OnPortalDone` so as to account for both
failure/success scenarios.

Bug: chromium:1291247
Change-Id: I188f72533e75a88c9b30ce2bb093dae548cef7b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258540
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36526}
2022-04-11 22:34:47 +00:00
f5fd25ca04 Remove duplicate gn_isolate_map.pyl
The other one is in the //infra/specs folder.

Bug: webrtc:13899
Change-Id: Idbf3c888b60741aa8a35d25bd3b7deb4f1a81a95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258682
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36525}
2022-04-11 15:53:08 +00:00
4d8ef1b151 Delete deprecated functions in RtpPacketHistory
Bug: webrtc:13757
Change-Id: I9d63ab4927ef2a5b8a0771b19c306861035b94be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258683
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36524}
2022-04-11 13:57:16 +00:00
ed57873196 Default screencast_min_bitrate_kps to 100 kbps.
See go/deprecating-media-constraints for motivation.

Setting this min bitrate is necessary for BWE to work properly when
sending screencast in low BW scenarios. The value 100 kbps appears to be
a sensible default in practise (this is the value used by Google Meet).
In order for apps not to have to rely on non-standard APIs
(googScreencastMinBitrate) for BWE to work properly, we change the
default to 100 kbps. This will unblock deprecating and removing legacy
mediaConstraints.

A kill switch is added in case this causes any unforeseen issues, but if
all goes well we can remove the kill switch in the next milestone.

Bug: chromium:1315155
Change-Id: I02b4eb0dfb26f934e678760313a0423f412512c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258681
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36523}
2022-04-11 12:59:57 +00:00
2aaf71bf9e Prevent jsoncpp from hiding deprecated declarations in WebRTC
Bug: chromium:983223
Change-Id: I7959383f9ca5149df39eb66c2b54d6e4fd27f534
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258241
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36522}
2022-04-11 12:33:47 +00:00
ed1bc59a6e Remove perf tests from the builders.
Also fix wrong iOS bot definition in waterfalls.pyl.

Bug: webrtc:13899
Change-Id: I3146751a49d359cdb17324b53065757b0e93e402
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258661
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36521}
2022-04-11 12:10:57 +00:00
4bc12200b6 Reland WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf
Modify cl/ a bit and add fieldtrialsstring on observer
not to break downstream projects.

---

WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 14/inf

This cl/ passes field trials all the way from c++
to the android NetworkMonitorAutoDetect.java

Bug: webrtc:10335
Change-Id: Ic6842612eed36b684340f0f78f4087bee249cc50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257081
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36498}

---

Bug: webrtc:10335
Change-Id: Ied43770977465a0042541a61d29a9015c0b9cdc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258622
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36520}
2022-04-11 12:01:38 +00:00
eaf632a8a5 WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 17/inf
Now that FieldTrialsView is (almost) a supported object,
let downstream tests use the ScopedKeyValueConfig for
testing.

Bug: webrtc:10335
Change-Id: I7bf7577387f1123b473275990ca32b80a8ddf9bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36519}
2022-04-11 11:34:07 +00:00
39ad2d868c AudioBuffer: Remove deprecated constructor
Removes webrtc::AudioBuffer deprecated constructor.

Bug: webrtc:5298
Change-Id: If8debe990c0358e58fbdc59bfdfb7e4af1f38f00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257305
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36518}
2022-04-11 10:06:07 +00:00
6daa3048fc Added OnResolutionChange to EncoderSelectorInterface.
Bug: webrtc:12406
Change-Id: I0160636d93ad0a33caf7ae7443cefe321a191406
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258442
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36517}
2022-04-11 10:04:57 +00:00
9797dcd1a7 [CallbackList] Support component build
Bug: webrtc:11943
Change-Id: I2abde42d65bc66f8e026fedfc2aa26bf86e1e46d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258600
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36516}
2022-04-11 08:56:51 +00:00
8bd5d484fe [CallbackList] Allow removal from within callback.
This makes moving from sigslot to CallbackList slightly simpler in some
situations.

Bug: webrtc:11943
Change-Id: I5c6dafb8ac597a119b90b64f369fa9e6316e38da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36515}
2022-04-11 08:42:46 +00:00
06e4fc548c Remove dependency on //build/config/linux/gtk
I'm planning on removing //build/config/linux/gtk in Chrome, so this
CL removes the dep in WebRTC.

Bug: None
Change-Id: I8b644ae38402335ba98fc4bf9932d132b6c816b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258261
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36514}
2022-04-11 08:00:26 +00:00
a14e6ed09a Catch SecurityException when opening camera
A managed device might have camera access restricted, which results in
the following crash:

Caused by android.os.ServiceSpecificException: validateClientPermissionsLocked:1044: Callers from device user 0 are not currently allowed to connect to camera "1"
       at android.os.Parcel.createException(Parcel.java:2085)
       at android.os.Parcel.readException(Parcel.java:2039)
       at android.os.Parcel.readException(Parcel.java:1987)
       at android.hardware.ICameraService$Stub$Proxy.connectDevice(ICameraService.java:624)
       at android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(CameraManager.java:389)
       at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:588)
       at android.hardware.camera2.CameraManager.openCamera(CameraManager.java:516)
       at org.webrtc.Camera2Session.openCamera(Camera2Session.java:359)
       at org.webrtc.Camera2Session.start(Camera2Session.java:322)
       at org.webrtc.Camera2Session.<init>(Camera2Session.java:298)
       at org.webrtc.Camera2Session.create(Camera2Session.java:276)
       at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35)
       at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:214)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Change-Id: I5e7b8d238e9381d1f8a4fe9858e8eb480d578fa0
Bug: webrtc:13950
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258363
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36513}
2022-04-11 07:26:08 +00:00
9817fe4fe3 Update WebRTC code version (2022-04-11T04:02:06).
Bug: None
Change-Id: Ie0918ad7b2d5e66f56ef4e8cd301f5afca5466e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258640
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@{#36512}
2022-04-11 04:52:36 +00:00
7f3e0e80b7 Add a smoke test for VideoToolbox H.264 codec on MacOS/iOS
There doesn't seem to be any tests currently running with
VideoToolbox H.264 codec.
Add a minimal test to make sure there are no regressions.

Bug: webrtc:13934
Change-Id: I664833d06e9b4f919b0662781891f5448e6057c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257922
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#36511}
2022-04-11 01:05:46 +00:00
a30d767a6d Update WebRTC code version (2022-04-10T04:03:47).
Bug: None
Change-Id: I54f0e3f2158c8c77f4b6a986ab8991dd42523b1e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258580
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@{#36510}
2022-04-10 05:32:17 +00:00
e16115c7ab Update WebRTC code version (2022-04-09T04:03:02).
Bug: None
Change-Id: Ie2ebd646c51fdfd658f8e9fdebf70ef9d5afcbce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258520
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@{#36509}
2022-04-09 05:12:06 +00:00
dad78f8cff Move the readline-timeout to the iOS device instead of simulator.
Also increase the timeout over 10 minutes and increase the bot timeout.
https://chrome-swarming.appspot.com/task?id=5a2118b0119c3b10

Bug: b/228402401
Change-Id: Idf652fd7fa2fc6670011df254836444dfaf553a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36508}
2022-04-08 20:50:25 +00:00
616bea20e1 Fix missing perftest-output.pb file for Android perf bots.
Bug: webrtc:13899
Change-Id: Ica8fe3f90a80c79b5cd53b755cc0761292664547
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258403
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36507}
2022-04-08 20:48:05 +00:00