38967 Commits

Author SHA1 Message Date
philipel
2b00c4e1af Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
Bug: webrtc:13573
Change-Id: Ie84498444ad6f56bba90d17e672838a1ea2f6a83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299706
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39735}
2023-03-31 19:31:50 +00:00
Tommi
1f708ef2ff Cancel pending operations for the DCC during Pc::Close()
(using no-try due to bot infra issue)

No-try: true
Bug: b/276434297
Change-Id: I33f796b501f96731c4ca76cb62c2331f10c795f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299708
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39734}
2023-03-31 18:13:59 +00:00
Åsa Persson
dc806fd16a Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
Bug: webrtc:13573
Change-Id: Iac9d0eb56a5cae73b75188b9fb257d6815e04bef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299701
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39733}
2023-03-31 15:49:14 +00:00
Tommi
0fe65102cc Add support for detaching and merging of StatsCollection contents.
This is needed in order to be able to update the legacy stats
collector to fetch data channel stats from the network thread, which
is part of an upcoming change to data channels.

Bug: webrtc:11547
Change-Id: Ic205b0314b9f11a024d36d714c223cbddd0f3df3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299462
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39732}
2023-03-31 15:46:07 +00:00
philipel
30f3d2710d Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
Bug: webrtc:13573
Change-Id: I1f5e47f783a366b2b691e6eec2685b40c60b8cc3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299661
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39731}
2023-03-31 14:59:04 +00:00
Jakob Ivarsson
adfc1601c1 Rewrite NetEq stable delay mode.
The goal is to reduce the amount of time stretching done in response
to network jitter. Specifically, we should be able to “ride” over delay
spikes if the current delay is sufficient, without decelerating
playout. We should also avoid accelerating immediately after a buffer
underrun, until we are reasonably sure that the jitter has passed.
This is achieved by increasing the deadband where we choose to do
normal playout, based on the maximum delay in the short term packet
arrival history.

The buffer level filter is still used to report the average delay for
A/V sync purposes.

The new behavior is behind a flag and will be experimented with before
it is made default.

Bug: webrtc:13322
Change-Id: I5fba0c9d46d835dbe5401669598fa031512ccced
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299500
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39730}
2023-03-31 14:47:55 +00:00
Danil Chapovalov
3beacb7a87 Create default video factories directly instead of through legacy public helpers
Bug: webrtc:13573
Change-Id: If8ab26dc45cce2dac17572772bb21806a54ed3e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299660
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39729}
2023-03-31 14:43:44 +00:00
philipel
2bac7ef244 Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
Bug: webrtc:13573
Change-Id: I96e6b41b99909e5636c0044e820107c30d5f135e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299700
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39728}
2023-03-31 14:09:39 +00:00
Per K
e1e94ad4c8 Ensure Call is notified of un demuxable packets
With this cl, packets that are discarded in RtpTransport now notifies Call, so that
they can be part of BWE even if they are dropped.
These packets have been recevied on the transport, and has bin decrypted
and parsed and thus can be accounted for.

The un demuxable packets are forwarded to Call similarly how RTCP packets are forwarded.

Bug: webrtc:14928
Change-Id: Ia53349c7b316c4442a3c7aac085a85ec4f4ab9ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299262
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39727}
2023-03-31 10:33:09 +00:00
Philipp Hancke
49e5587e64 Integrate RTP Header extension API with SDP munging
in order to not regress existing use-cases while following rules
described by the specification. This change now makes the existing
regression test pass after the spec-compliant modifications.

BUG=chromium:1051821

Change-Id: Ia384adf9a172ed88b5ec6a3cc5c478764a686cb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299002
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39726}
2023-03-31 10:08:39 +00:00
Tommi
80558f49fa Update SctpDataChannelTest suite to include the proxy.
The tests now have two ways of addressing the channel under test:
* channel_: All SctpDataChannelTest methods. This way calls get
  executed as specified by the proxy and more accurately reflects
  production.
* inner_channel: For SctpDataChannel methods that are not a part of
  the SctpDataChannelTest interface. Use this to invoke event handlers
  etc.

Upcoming changes will include threading changes and changes to the
proxy, so it's important to cover both.

Bug: webrtc:11547
Change-Id: I26c284ece82b9a58e2b5dc4468d124d54012d959
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299264
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39725}
2023-03-31 09:56:30 +00:00
Tommi
1158bde7c2 [SctpDataChannel] Add a copy of the sid for the network thread.
* Rename id_ -> id_s_, add id_n_ and thread guards.
* Same for getters, sid() -> sid_s(), add sid_n()

As more things migrate over to the network thread, we'll only need the
_n variant.

Bug: webrtc:11547
Change-Id: Ic998330f4c81b0f6833967631ac70edc2ca2301c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299141
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39724}
2023-03-31 07:14:39 +00:00
webrtc-version-updater
c888db24a4 Update WebRTC code version (2023-03-31T04:01:43).
Bug: None
Change-Id: Ia30943c043e7c381b1b44cac2e5eff88d1d45ab7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299580
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@{#39723}
2023-03-31 06:00:40 +00:00
Sergey Silkin
910b225d82 Fetch encoded QP from MediaCodec encoders
It is a part of "encoding statistics" feature [1] available in Android SDK 33. Local testing revealed that for HW VP8/9 encoders we get QP in range [0,64] which is not what WebRTC quality scaler expects. Exclude VP8/9 encoders for now.

[1] https://developer.android.com/reference/android/media/MediaFormat#VIDEO_ENCODING_STATISTICS_LEVEL_1

Bug: webrtc:15015
Change-Id: I8af2fd96afb34e18cb3e2cc3562b10149324c16e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298306
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39722}
2023-03-30 10:19:22 +00:00
Tommi
77158ace75 DataChannelController: Rename HasDataChannels->HasDataChannelsForTest
The reason is that:
* SDP/PeerConnection code should use HasUsedDataChannels() instead.
* HasDataChannels() touches the list of data channels on the signaling
  thread, which will be a problem when it's moved to the network
  thread.
* It's only needed by tests.

Bug: webrtc:11547
Change-Id: Idd47365c429e5f1d6e3812cf558c4e6fefbf733c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299481
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39721}
2023-03-30 09:47:54 +00:00
Tommi
91160efca4 Call HasUsedDataChannels() instead of HasDataChannels.
...when checking if negotiation is needed.

I noticed this call site after we recently updated PeerConnection here:
https://webrtc-review.googlesource.com/c/src/+/297860

Bug: chromium:1423562
Change-Id: Id37c938d731eadfccff44c95ef757a3cabd64936
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299480
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39720}
2023-03-30 00:53:19 +00:00
Tommi
4f7ade5c58 Create SctpDataChannel objects on the network thread.
* Change data channel creation code to return RTCError for more
  detailed/accurate errors.
* Move DataChannelController::sid_allocator_ to the network thread.
* Add a temporary duplicate vector of channels on the network thread.
  This will eventually be the main vector.
* Delete one test that turns out to be racy (as long as we're using
  both the signaling and network threads).

Bug: webrtc:11547, webrtc:12796
Change-Id: I93ab721a09872d075046a907df60e8aee4263371
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298624
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39719}
2023-03-29 20:27:54 +00:00
chromium-webrtc-autoroll
c33d8e2c14 Roll chromium_revision 552e886b83..290ea5adca (1123510:1123621)
Change log: 552e886b83..290ea5adca
Full diff: 552e886b83..290ea5adca

Changed dependencies
* fuchsia_vesion: version:12.20230328.1.1..version:12.20230329.1.1
* src/base: 1cde5aaaa0..ee62571dd4
* src/build: 850cf64582..27be8e38ec
* src/ios: 9c9596c969..7c17b6c8d5
* src/testing: 2a62e47eb9..c76f4b0531
* src/third_party: 9045376e26..98f1652864
* src/third_party/androidx: q-4EGT6m1jFTmhGIBcb9baxf_vf5jExDN7FYNlNp5DwC..eE7d5XGfu5AjGS4uRnnWWv13VdNc9Txc3DOhXN8lFPEC
* src/third_party/openh264/src: db956674bb..09a4f3ec84
* src/tools: 1254fa5044..425baa4226
DEPS diff: 552e886b83..290ea5adca/DEPS

No update to Clang.

BUG=None

Change-Id: I940f282885e04e13fc47ea6c24a6fcd58568b7b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299440
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@{#39718}
2023-03-29 16:42:27 +00:00
Jakob Ivarsson
d116350b48 Count type of concealment based on last decoded type.
This is to avoid counting concealed samples after comfort noise as
speech.

Bug: webrtc:13322
Change-Id: I12cf18d720c697d81376c6f6cdc02d7c6bfa49a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299300
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39717}
2023-03-29 14:34:57 +00:00
Diep Bui
46849fc73c Print discovered network interfaces for debugging ICE_NEVER_CONNECTED endcause.
Bug: webrtc:14334
Change-Id: Iad2f25e44cd3a154d6dceda755696480e2618a93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299421
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39716}
2023-03-29 11:58:22 +00:00
Danil Chapovalov
d094ad7e2e Reassign a TODO to a bug that can contain more context
No-try: true
Bug: webrtc:15054
Change-Id: Ibe311594d549d1a1776d916f8bbf79ef49edf398
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299422
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39715}
2023-03-29 11:37:02 +00:00
chromium-webrtc-autoroll
f767fc0fb1 Roll chromium_revision 64efe0fec7..552e886b83 (1123151:1123510)
Change log: 64efe0fec7..552e886b83
Full diff: 64efe0fec7..552e886b83

Changed dependencies
* src/base: 13af57d61b..1cde5aaaa0
* src/build: 625573ad8b..850cf64582
* src/buildtools: c97a3b8902..d2c292117b
* src/buildtools/third_party/libc++/trunk: 26ace673c4..e0dca93272
* src/ios: 7061eccc0e..9c9596c969
* src/testing: 903a10b7df..2a62e47eb9
* src/third_party: 161fc2d0b6..9045376e26
* src/third_party/androidx: zvyRaq_hY1gg3vn5ByQj77DzD8tJ1oEHIci-xNgOCVoC..q-4EGT6m1jFTmhGIBcb9baxf_vf5jExDN7FYNlNp5DwC
* src/third_party/depot_tools: f724f296b7..4a7343007c
* src/third_party/perfetto: c44cab035c..ad418a3f70
* src/third_party/r8: BTs9W6pUBDK8YTePjjF3Q0-ZQo1snO7GBCT6frWMIj8C..0AAkHl3ztCss8QvTqGZbCU0Wy2W-0CIoWwCYZnYg7j0C
* src/tools: d7ef7a908e..1254fa5044
Removed dependency
* src/third_party/android_deps/libs/com_google_android_gms_play_services_fido
DEPS diff: 64efe0fec7..552e886b83/DEPS

No update to Clang.

BUG=None

Change-Id: I06868b3ed9848a3c0ef688a51e5948666fc09e2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299403
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@{#39714}
2023-03-29 11:06:41 +00:00
Magnus Jedvert
49572e3438 Add support for JavaToNativeFloatArray
Change-Id: I75482debc163d2c5f173cad644cd25ceb2996b38

Bug: webrtc:15047
Change-Id: I75482debc163d2c5f173cad644cd25ceb2996b38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299240
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39713}
2023-03-29 11:03:30 +00:00
Tony Herre
e7482b403d Remove deprecated TransformableVideoFrameInterface::GetMetadata
Bug: chromium:1420245
Change-Id: I4cc008bf8a4af2404f33589aededa8a16b774764
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299263
Commit-Queue: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39712}
2023-03-29 08:33:46 +00:00
Björn Terelius
2b742f7eaa Revert "Unifying the handling of the events in NetEqInput."
This reverts commit d93b7b91e09e9700efcab22e0c810dab918ce656.

Reason for revert: Breaks downstream tests

Original change's description:
> Unifying the handling of the events in NetEqInput.
>
> Bug: webrtc:14763
> Change-Id: I9615a9ce41c9b577c4ebd4cdcc9885bfbc5dac48
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293040
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39706}

Bug: webrtc:14763
Change-Id: If076c8fc59a38f011dfa20829f2dd91dd2f914b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299420
Owners-Override: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39711}
2023-03-29 08:01:46 +00:00
Per K
f6ce1d39ee Allow injecting packets of type Any to Call::DeliverRtpPacket
MediaType::Any will be used by packets that can not be demuxed by
RtpTransport.

Bug: webrtc:14928
Change-Id: Ib759e65c7eede29defdad8073fd1ed6be814ab81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299280
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39710}
2023-03-29 06:36:17 +00:00
webrtc-version-updater
ae049f1924 Update WebRTC code version (2023-03-29T04:08:24).
Bug: None
Change-Id: I7e2bd6cfcb1679a8987ac0c02a7d24a2bc37ef45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299400
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@{#39709}
2023-03-29 06:05:37 +00:00
chromium-webrtc-autoroll
f01e97063a Roll chromium_revision b185bb471c..64efe0fec7 (1123000:1123151)
Change log: b185bb471c..64efe0fec7
Full diff: b185bb471c..64efe0fec7

Changed dependencies
* src/base: 91ac17a2c9..13af57d61b
* src/build: aae3801eab..625573ad8b
* src/ios: ee559fcb5a..7061eccc0e
* src/testing: 12588af4ea..903a10b7df
* src/third_party: 269e31c543..161fc2d0b6
* src/third_party/androidx: IwQ7KNjxWpqRI6oAx44UGTHRiAfJbRilFmFy26FOm0AC..zvyRaq_hY1gg3vn5ByQj77DzD8tJ1oEHIci-xNgOCVoC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e838386fa0..6a9e2c402d
* src/third_party/depot_tools: df528a9d7a..f724f296b7
* src/third_party/perfetto: 02d6c7406b..c44cab035c
* src/tools: d63cc5b02b..d7ef7a908e
DEPS diff: b185bb471c..64efe0fec7/DEPS

No update to Clang.

BUG=None

Change-Id: I0ecbf0d20c8e7316ec97e9d279b77ed30824775f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299226
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@{#39708}
2023-03-28 18:37:36 +00:00
Danil Chapovalov
1821faaa6c Cleanup AimdRateControl interface and unittests
Pass FieldTrialsView by const& to note it can't be null and doesn't need to outlive the constructor
In unittests use AimdRateControl object directly instead of through helpers
Use unit types (TimeDelta, DataRate) directly, reducing their conversion to plain numbers
Replace SimulatedClock with a single Timestamp now variable or constant

Bug: None
Change-Id: I147f85e629b4d8923aa19896ea211a6f9dca1e68
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299260
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39707}
2023-03-28 16:43:24 +00:00
Jesús de Vicente Peña
d93b7b91e0 Unifying the handling of the events in NetEqInput.
Bug: webrtc:14763
Change-Id: I9615a9ce41c9b577c4ebd4cdcc9885bfbc5dac48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293040
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39706}
2023-03-28 15:53:09 +00:00
chromium-webrtc-autoroll
58b049373e Roll chromium_revision 4750e820fb..b185bb471c (1122795:1123000)
Change log: 4750e820fb..b185bb471c
Full diff: 4750e820fb..b185bb471c

Changed dependencies
* fuchsia_vesion: version:12.20230327.2.1..version:12.20230328.1.1
* src/base: eb6d71e75c..91ac17a2c9
* src/build: c3d12ea422..aae3801eab
* src/ios: e1dd387c9c..ee559fcb5a
* src/testing: da1cc679ec..12588af4ea
* src/third_party: 3f6c13b812..269e31c543
* src/third_party/android_sdk/public: 3Yn5Sn7BMObm8gsoZCF0loJMKg9_PpgU07G9DObCLdQC..EWnL2r7oV5GtE9Ef7GyohyFam42wtMtEKYU4dCb3U1YC
* src/third_party/androidx: zd34H0ZKUoP4415kneK7fwSS-MzZu0_hYScGJWzsVgkC..IwQ7KNjxWpqRI6oAx44UGTHRiAfJbRilFmFy26FOm0AC
* src/third_party/perfetto: e904de5554..02d6c7406b
* src/tools: b1edcefc9e..d63cc5b02b
DEPS diff: 4750e820fb..b185bb471c/DEPS

No update to Clang.

BUG=None

Change-Id: Ia49a429e7c579f44ff8cfeaf6dfafaac9c03135d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299224
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@{#39705}
2023-03-28 14:36:47 +00:00
Artem Titov
089758dbc5 Allow creation of TestVideoTrackSource not on the signaling thread
Bug: b/272350185
Change-Id: I1bc18f35e2d0b36791966a5954eb28886c569a9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299261
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39704}
2023-03-28 13:33:35 +00:00
Jakob Ivarsson
d6c4b1641d Remove decoded timestamp extrapolation from NackTracker.
UpdateLastDecodedPacket is anyway only called when a new packet is
decoded.

Bug: webrtc:10178
Change-Id: I8cfcc5791e71079034a2d0806c44b3b071ac2ffb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299180
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39703}
2023-03-28 12:33:42 +00:00
Victor Boivie
d7510fe1e4 dcsctp: add zero checksum acceptable chunk parameter
This will be included in INIT/INIT_ACK if the socket has
configured the "accept zero checksum" parameter, that will
be added in follow-up CLs.

Bug: webrtc:14997
Change-Id: I1a2823fbc77cfea8fe746b07c1c77593bc15efe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298480
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39702}
2023-03-28 12:15:39 +00:00
Tommi
e08f9a94fa Remove SctpDataChannel::writable_
This flag isn't needed for sctp data channels.

Bug: none
Change-Id: I07b8ba2c5186729b8a5edb4d2bba7b800335ab5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299074
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39701}
2023-03-28 12:13:40 +00:00
Harald Alvestrand
d32e5b3078 Deprecate non-refcount CreateVideoTrack
Bug: webrtc:15017
Change-Id: I978a14dcb2fac7777a12c3f89b1a7207dd896b37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299075
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39700}
2023-03-28 11:58:36 +00:00
Philipp Hancke
f21cdb0afa Add RTP header extension API regression tests
which describe the existing behavior that necessitated the revert
  b396e2b159b060791954495d68278a55e8f72092

Also change the fake media engine audio clockrate to 8000 instead
of 0 and the fake media engine video payload type to something but
0 as this value seems to be treated specially by the video engine
and is a payload type reserved for PCMU.

BUG=chromium:1051821

Change-Id: Ib0a345d59baba50a565f01685d240e41584367e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299000
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39699}
2023-03-28 11:06:24 +00:00
Danil Chapovalov
48476d84d5 Fix generating transport feedback RTCP packet
when there are lot of missing packets to report before next received packet

Bug: chromium:1426582
Change-Id: I6746294152d13e18120cdb173b11b245e5c803f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298921
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39698}
2023-03-28 09:24:49 +00:00
Henrik Boström
c99753ac8f Fix VP9 {active,inactive,inactive} bitrate issue causing spatial drop.
The EncoderStreamFactory triggers different code paths depending on
`number_of_streams`: one for simulcast and one for non-simulcast.
The non-simulcast path is desired for both normal streams and SVC
streams.

The simulcast path gives sensible max bitrates for 4:2:1 scenarios, but
when encodings like {active,inactive,inactive} is specified in order to
do standard SVC, the max bps of the first encoding is so low that an
SVC stream will never send more than its first spatial layer (even when
scaleResolutionDownBy is 1).

Because of this, standard SVC is broken. This CL fixes this problem by
using the CreateDefaultVideoStreams() code path instead, which is the
same one that legacy SVC uses. With this fix, legacy and standard SVC
produce the same behavior regarding bitrate.

An added benefit of this is that numberOfSimulcastStreams == 1 in the
standard SVC path as well.

{active,inactive,inactive} tests are updated to verify the full
resolution is achieved after ramp-up. I've also confirmed that this
fixes the bug in Canary, see https://crbug.com/1428098#c2.

Bug: chromium:1428098, webrtc:15041, webrtc:15034
Change-Id: Ia1eb4ff59c4e2a56af833f7ac907a66bca8ea054
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299147
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39697}
2023-03-28 08:28:41 +00:00
Tommi
56548988e9 Switch from pointer to ID for OnSctpDataChannelStateChanged
* The pointer isn't needed for this notification. Arguably using
  the internal id is more consistent with the stats code.
* Using the int makes it safer down the line to post the operation
  from the network thread to the signaling thread rather than post
  an object reference.

Bug: none
Change-Id: I1e9eb31d8386dca3feaa90ee3267ea98eb3e81ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299144
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39696}
2023-03-28 08:14:33 +00:00
webrtc-version-updater
cea6a0d10a Update WebRTC code version (2023-03-28T04:03:45).
Bug: None
Change-Id: Id8df89b0eab6994d8d610f2de23e955365baca55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299200
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@{#39695}
2023-03-28 05:57:49 +00:00
chromium-webrtc-autoroll
a5adf13091 Roll chromium_revision bd746cfdf1..4750e820fb (1122678:1122795)
Change log: bd746cfdf1..4750e820fb
Full diff: bd746cfdf1..4750e820fb

Changed dependencies
* src/base: 7d7eb5e17b..eb6d71e75c
* src/build: 5ff0259063..c3d12ea422
* src/ios: 6aa3eb966a..e1dd387c9c
* src/testing: 9bf3c78b9f..da1cc679ec
* src/third_party: 9af710562b..3f6c13b812
* src/third_party/androidx: S5-ILgSdnMEpl88ZRDuQOJ0Ds_HZR3JAKxZzSoj5toYC..zd34H0ZKUoP4415kneK7fwSS-MzZu0_hYScGJWzsVgkC
* src/third_party/depot_tools: 33a8f07236..df528a9d7a
* src/tools: 4ed0e618de..b1edcefc9e
* src/tools/luci-go: git_revision:4494da54d1ba43d9127c07630d452c11ba2c953e..git_revision:3569ebf36f17a991aa4d26fd6e228cdf6e664d13
* src/tools/luci-go: git_revision:4494da54d1ba43d9127c07630d452c11ba2c953e..git_revision:3569ebf36f17a991aa4d26fd6e228cdf6e664d13
DEPS diff: bd746cfdf1..4750e820fb/DEPS

No update to Clang.

BUG=None

Change-Id: I8630f0c1bdcaa10facc00fa1720bbe8acba6e371
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299178
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@{#39694}
2023-03-28 02:33:12 +00:00
chromium-webrtc-autoroll
ef5cd7d336 Roll chromium_revision 0be4f41ac2..bd746cfdf1 (1122525:1122678)
Change log: 0be4f41ac2..bd746cfdf1
Full diff: 0be4f41ac2..bd746cfdf1

Changed dependencies
* fuchsia_vesion: version:12.20230327.0.1..version:12.20230327.2.1
* src/base: 5d1b4d494f..7d7eb5e17b
* src/build: 1accacc4a7..5ff0259063
* src/buildtools: 27356dca4b..c97a3b8902
* src/buildtools/third_party/libc++/trunk: 79a510511b..26ace673c4
* src/ios: df2cd12c83..6aa3eb966a
* src/testing: 08f46d3830..9bf3c78b9f
* src/third_party: 084dc8d532..9af710562b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9d41f74af7..e838386fa0
* src/third_party/depot_tools: d9717259ee..33a8f07236
* src/third_party/perfetto: 084059ccad..e904de5554
* src/tools: 18e5466641..4ed0e618de
DEPS diff: 0be4f41ac2..bd746cfdf1/DEPS

No update to Clang.

BUG=None

Change-Id: Ic85fce02cd27f3b9e81de312a9f64a707e83a147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299176
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@{#39693}
2023-03-27 22:53:15 +00:00
henrika
9204210718 Clarifies selection of screen capture API on Windows
This change makes it more clear that there are three different
capture API combinations for screen sharing on Windows.

No option => GDI without fallback.

DirectX option => DirectX with GDI as fallback

Magnifier option => Magnifier API with GDI as fallback

Previously, if both DirectX and Magnifier were enabled, the end
result was Magnifier for unknown reasons.

With this change in place, we can remove usage of the Magnifier API
in Chrome and switch  between DirectX and GDI simply by allowing
DirectX or not.

Bug: None
Change-Id: Ice915d6721fa84a25d275f22246df73fc61f64b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299061
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#39692}
2023-03-27 20:22:33 +00:00
chromium-webrtc-autoroll
90d5e7d655 Roll chromium_revision 480708569d..0be4f41ac2 (1122372:1122525)
Change log: 480708569d..0be4f41ac2
Full diff: 480708569d..0be4f41ac2

Changed dependencies
* src/build: d727e6454d..1accacc4a7
* src/ios: 83f4bb7d6f..df2cd12c83
* src/testing: c5d3727d0d..08f46d3830
* src/third_party: de278681aa..084dc8d532
* src/third_party/androidx: 1j00hDfcV8VMhu7wcLzPRN_BjaAn5940aefYoIPYUYgC..S5-ILgSdnMEpl88ZRDuQOJ0Ds_HZR3JAKxZzSoj5toYC
* src/third_party/perfetto: 01c4b0e3e4..084059ccad
* src/tools: 096f0f60c1..18e5466641
DEPS diff: 480708569d..0be4f41ac2/DEPS

No update to Clang.

BUG=None

Change-Id: I4197a986a3019571c86ed69b26614bb205b6370f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299174
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@{#39691}
2023-03-27 18:31:16 +00:00
Danil Chapovalov
e14abcb20b Cleanup FieldTrialView
Delete alias WebRtcKeyValueConfig as unused
Replace .find() == 0 with absl::StartsWith per clang-tidy recommendation
https://clang.llvm.org/extra/clang-tidy/checks/abseil/string-find-startswith.html

Bug: webrtc:10335
Change-Id: I1f09c262844c0678a8d8c0d0d3274df3d947737c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299181
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39690}
2023-03-27 17:06:33 +00:00
Jeremy Leconte
a3f7b54518 [DVQA] Don't check if peer exists on Pause/Resume.
Change-Id: I0f26444c6a420017caaa4c27520e75e4146ecfd4
Bug: webrtc:14995
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299077
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39689}
2023-03-27 16:23:52 +00:00
Tommi
55f72800b4 [DataChannelController] Associate two methods with the network thread
Make DataChannelController's AddSctpDataStream and
RemoveSctpDataStream be required to be called on the network thread.
This moves blocking calls within those methods over to the
SctpDataChannel class instead.

For production code there's no functional change in this CL. However, this CL:

1) Introduces an actual dedicated network thread to
   DataChannelController and SctpDataChannel tests.
2) Removes two data_channel_transport() checks inside DCC that
   were being done on the wrong thread (signaling) and
3) introduces a network calling block to SctpDataChannel, where more
   network thread related work needs to be done and can be bundled.
   (to be done in follow-up CLs).

Bug: webrtc:11547
Change-Id: I6787ac395e61d4a25ae3a74a123e3357cbb46b54
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298052
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39688}
2023-03-27 16:01:47 +00:00
chromium-webrtc-autoroll
8e781a1bb1 Roll chromium_revision 58bc6477fc..480708569d (1122270:1122372)
Change log: 58bc6477fc..480708569d
Full diff: 58bc6477fc..480708569d

Changed dependencies
* src/base: ab3a012e5b..5d1b4d494f
* src/build: deb9d19209..d727e6454d
* src/ios: d6311c15db..83f4bb7d6f
* src/testing: 5387be0979..c5d3727d0d
* src/third_party: 2ecfa56584..de278681aa
* src/third_party/androidx: QPqCY3deY_Lq8R2HBZPqbHd4iApiVuEsI2VBdGzi3VUC..1j00hDfcV8VMhu7wcLzPRN_BjaAn5940aefYoIPYUYgC
* src/third_party/perfetto: 1c8b4fe315..01c4b0e3e4
* src/third_party/r8: uKXfzLPZnqaH-VIthzomHhqKZXkBEDRnpDLViS2yXSkC..BTs9W6pUBDK8YTePjjF3Q0-ZQo1snO7GBCT6frWMIj8C
* src/tools: 5267ed3a21..096f0f60c1
DEPS diff: 58bc6477fc..480708569d/DEPS

No update to Clang.

BUG=None

Change-Id: If099dfcd56e12214e3beec931bacb658e106c472
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299172
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@{#39687}
2023-03-27 14:46:18 +00:00
Henrik Boström
6be448fa45 Revert "Add legacy SVC test that all layers can be inactivated."
This reverts commit cac9a55ddf0ba33f7407f707b69d66d01c49073b.

Reason for revert: WebRTC importer consistently fails this test.

Original change's description:
> Add legacy SVC test that all layers can be inactivated.
>
> A larger version of this test was previously landed but got reverted
> due to failures only happening on the importer bot (not on the CQ or
> locally).
>
> This is a smaller version of the test that does something we should
> support: being able to inactive all encodings of a VP9 legacy SVC
> stream.
>
> Let's land and see if any issues are reproducible (expecting revert).
>
> Bug: webrtc:15033
> Change-Id: I88da1facf4ef05299f3392b86a0e3df029ebe264
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299006
> Commit-Queue: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39684}

Bug: webrtc:15033
Change-Id: Ia31f125bd6782ed38653c1e5cdcc29a8a0eff874
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299145
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39686}
2023-03-27 12:53:41 +00:00