Commit graph

40253 commits

Author SHA1 Message Date
Per K
25db2c65b6 Introduce Connection::RegisterReceivedPacketCallback
RegisterReceivedPacketCallback is used instead of
sigslot::SignalReadPacket. The callback use a new data class ReceivedPacket that combine meta
data and packet payload from a received packet.

This is the first step in an attempt to cleanup the data types used in
the packet receive pipeline.
Eventually, the ReceivedPacket class can contain more meta data such as
ECN information.

Bug: webrtc:11943,webrtc:15368
Change-Id: I984c561b9262fe4aa00176529bd8d901adf66640
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325060
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41021}
2023-10-27 12:39:39 +00:00
Philipp Hancke
971f8de35a Remove MediaContentDescriptionImpl<Codec>
after dependencies adopted the RtpMediaContentDescription which
this is currently aliased to.

Also move definition of AudioCodecs and VideoCodecs to the place
where codecs are defined.

BUG=webrtc:15214

Change-Id: I9b0456e1c69c8b23e0cc7665a59baae268872d9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325021
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41020}
2023-10-27 12:38:36 +00:00
webrtc-version-updater
9df93c1190 Update WebRTC code version (2023-10-27T04:11:42).
Bug: None
Change-Id: Ic76662a03baec36f6df74978703195bb1f4837e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325161
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@{#41019}
2023-10-27 12:37:33 +00:00
Diep Bui
e43edec62d Add 1s as padding duration limit in loss based BWE.
If we have been sending padding for 1s and estimate still is unchanged, then stop padding by transitioning to decrease state.

Bug: webrtc:12707
Change-Id: I0dca2e5cd98263fc7fae9882c23c21634413c7a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324740
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41018}
2023-10-27 12:36:05 +00:00
chromium-webrtc-autoroll
0e00acec9f Roll chromium_revision e9af340c3f..84734fb4aa (1215440:1215550)
Change log: e9af340c3f..84734fb4aa
Full diff: e9af340c3f..84734fb4aa

Changed dependencies
* src/ios: 2b80524b98..dd37c54367
* src/testing: 39e066e15c..cd988cac45
* src/third_party: 317f30cbb5..a2aecd446f
* src/third_party/androidx: TNNVRr7zAcn3PkRswu2uYXsb50DRWyDPtvsbYbVBQ5oC..S2mTZLxkPp9yV9lixw-NGMad2Qv7hpI5zjIBJuEBGl8C
* src/third_party/perfetto: 13ce0c9e13..4a8e4a6256
* src/third_party/r8: hCR0xJbBeRfCUH-G2O_dMQ2C7wY-BhWHhAdXP_yuG3MC..Jn6jDwY2CaSHjf9fzclZsEGDIaIudbGyiQAiqu6fjnMC
* src/tools: c5b94a6e79..c06198bfac
DEPS diff: e9af340c3f..84734fb4aa/DEPS

No update to Clang.

BUG=None

Change-Id: Idde409044c84ce8381cf25e5588a8218ee5538a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325200
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@{#41017}
2023-10-27 12:35:02 +00:00
Ying Wang
f8feedfb0a Make field trial string DisableRtxRateLimiter enabled by default.
Bug: webrtc:15184
Change-Id: Ie2a20892b71defe2a3b744ae5b631a76f9a8712c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325120
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41016}
2023-10-27 12:33:58 +00:00
chromium-webrtc-autoroll
d649987858 Roll chromium_revision 92c06a0574..e9af340c3f (1212194:1215440)
Change log: 92c06a0574..e9af340c3f
Full diff: 92c06a0574..e9af340c3f

Changed dependencies
* fuchsia_version: version:15.20231015.1.1..version:15.20231022.3.1
* reclient_version: re_client_version:0.116.1.9128bc4-gomaip..re_client_version:0.117.1.21520c6-gomaip
* src/base: 70b48a4849..0af6ae486c
* src/build: d1c8d9f9cc..344b916f44
* src/buildtools: f2b9d057fb..11e982b6f9
* src/buildtools/linux64: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/buildtools/mac: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/buildtools/reclient: re_client_version:0.116.1.9128bc4-gomaip..re_client_version:0.117.1.21520c6-gomaip
* src/buildtools/win: git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53..git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b
* src/ios: 9c037a4653..2b80524b98
* src/testing: 1cd69b2dbf..39e066e15c
* src/third_party: b3eca10267..317f30cbb5
* src/third_party/android_build_tools/manifest_merger: f91o-aOAEitXaUBozBpROZfvZOxQOB9aqPJGduMwoNYC..S3Uexmlj5xGKoVRHL8yIysS_cVsUrc3E3K_sq2hsCU0C
* src/third_party/androidx: 96u2eitVGdsNUZ0Qhe7boO2KLmjPi7R8D8gI7_o7lRAC..TNNVRr7zAcn3PkRswu2uYXsb50DRWyDPtvsbYbVBQ5oC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6d3db84c47..c38dc29860
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f496845cb9..e0c9c85d41
* src/third_party/depot_tools: 8f761f5795..27ea34f94e
* src/third_party/freetype/src: 4e61303a3b..a0e10a87f5
* src/third_party/jdk: 0yjD6s5XYtcGAQoObIys7xs2ThkudwxJwS-2ZNP0SFEC..tUJrCBvDNDE9jFvgkuOwX8tU6oCWT8CtI2_JxpGlTJIC
* src/third_party/kotlin_stdlib: QwS-YZL_N4g1SjI1Ngely1WPNxLh-kfYpFZhKaEXGawC..ZwEhbBOU3zJ8iFzea34zthR0d1a1LlfSPjfsblxKbSgC
* src/third_party/libc++/src: 8d4b8a60c2..d8fb829b95
* src/third_party/libc++abi/src: cbc5f2b0cd..5acf60c8b9
* src/third_party/libjpeg_turbo: 30bdb85e30..9b894306ec
* src/third_party/libunwind/src: 11d9f3e055..7686b5d38c
* src/third_party/libvpx/source/libvpx: 3fbd1dca6a..424723dc02
* src/third_party/perfetto: a4f0a922c3..13ce0c9e13
* src/third_party/r8: EJBvY8okEtL8rBTKcVoAbusYIpZD8wRuqoo-LWfKz_EC..hCR0xJbBeRfCUH-G2O_dMQ2C7wY-BhWHhAdXP_yuG3MC
* src/tools: 89b4394811..c5b94a6e79
DEPS diff: 92c06a0574..e9af340c3f/DEPS

Clang version changed llvmorg-18-init-7785-geef35c28:llvmorg-18-init-8676-g11d07d9e
Details: 92c06a0574..e9af340c3f/tools/clang/scripts/update.py

BUG=None

Change-Id: I3a53ee4aa57f965eeffb0af568bcff1eaf98f8da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325105
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@{#41015}
2023-10-26 13:01:18 +00:00
Sam Zackrisson
2e1f16d55c Make AEC3 json parsing code testonly
Reasons:
- the code is no longer used in Chrome
- it is conceptually weird for WebRTC to have JSON parsing in its API
- there are concerns around the reliability of the underlying JSON library

Additionally, this CL removes the rtc_json "poisonous" attribute: the scheme is incompatible and redundant with testonly.

Bug: webrtc:1493351
Change-Id: I0b621b0e3f183df7315919d9c89242fbe387928f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325062
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41014}
2023-10-26 12:03:02 +00:00
Diep Bui
1f2f5dc951 Compute loss rate based on byte count rather than packet count in loss based BWE.
2 main reasons:
1. Packet sizes are much different thus a lost audio packet should not be treated similar to a lost video packet. In low bandwidth/traffic policing scenario, the number of send packet is few, thus the computed loss can be imprecise.

2. Given a candidate bandwidth estimate, the objective function (how good the candidate is) is computed by recomputing loss rate = send rate/estimate bandwith + inherent loss. It means the objective function is byte based rather than packet based.

Potential risk: the current algorithm params are tuned based on packet count, thus it might not work with byte count, which is much higher than packet count.

The change is under field trial and disabled by default.

Bug: webrtc:12707
Change-Id: I8b832e7920d2b4cadcd4a072b3a4d4f26a213a20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325065
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41013}
2023-10-26 09:32:27 +00:00
Linus Nilsson
40ce7674c4 Adopt RenderSynchronizer in EglThread and EglRenderer
This gives the option to synchronize rendering updates with
the display refresh cycle and limit effective updates to a certain frame
rate.
go/meet-android-synchronized-rendering

Bug: b/217863437
Change-Id: I4938a10f4e80d98a17e28f2e397fbb95117a3e4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325061
Reviewed-by: Ranveer Aggarwal‎ <ranvr@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41012}
2023-10-26 08:59:24 +00:00
Björn Terelius
b9b4609747 Set chart id in WebRTC event log bindings.
Bug: None
Change-Id: Ibf3a8fdfa85c4c7d7b9e73393057827b544ab3e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325063
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41011}
2023-10-26 06:23:40 +00:00
webrtc-version-updater
a01529f334 Update WebRTC code version (2023-10-26T04:07:37).
Bug: None
Change-Id: I51d6b4eca1925143b8da83e6b5ef8ac3c411ef78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325102
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@{#41010}
2023-10-26 05:34:52 +00:00
Tommi
af27d4ea38 Initialize worker_thread_safety_ without BlockingCall().
Bug: webrtc:15099
Change-Id: Iac448c768fb90154fbe5b64fb12d68398a314e9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324281
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41009}
2023-10-25 23:00:52 +00:00
Tommi
8da5953fb2 Support initializing PendingTaskSafetyFlag with a specific TaskQueue.
Bug: none
Change-Id: I0f354708e6275372601adc36da3012259bb57303
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324280
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41008}
2023-10-25 20:39:36 +00:00
Philipp Hancke
0bace22a0b Expose video mimeType for insertable streams
which allows determining what codec (data format) is used.
Chromium CL:
  https://chromium-review.googlesource.com/c/chromium/src/+/4941907

Split from
  https://webrtc-review.googlesource.com/c/src/+/318283
to reduce CL size and avoid audio woes.

BUG=webrtc:15579

Change-Id: I404107af526df3009c16d2a6148784fe87dfa807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323721
Reviewed-by: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#41007}
2023-10-25 16:01:32 +00:00
Björn Terelius
af0448ceda C-style bindings around event log analyzer (3).
Allow selecting (some of the) graphs.

Bug: None
Change-Id: I9f3d91b0ed8d259554f23e3834d42ca6c2445e79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/325040
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41006}
2023-10-25 10:17:02 +00:00
Guy Hershenbaum
a1714f3e92 Fix usages of RTC_DCHECK to GTEST macros to ensure tests pass in release builds as well
Using RTC_DCHECK for test validation is wrong to begin with (gets
compiled out in non-debug builds, which measn we may miss validations),
but becomes extra problematic when we include code with side-effects
inside the DCHECK, which results in release-build tests having a
different flow than intended

Bug: webrtc:15572
Change-Id: I89d5b55f903b9d93fe4a929548d1b9fcde8941be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323182
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41005}
2023-10-25 09:32:28 +00:00
Linus Nilsson
52ac8eccdf Add RenderSynchronizer class
RenderSynchronizer is used to coordinate video rendering updates
to a specific frame rate target and aligned to display refresh cycles.
go/meet-android-synchronized-rendering

Bug: b/217863437
Change-Id: Ie329c4c2eccfb0c9aee9b90f7ddbc370919d5e86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324840
Reviewed-by: Ranveer Aggarwal‎ <ranvr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41004}
2023-10-25 09:18:56 +00:00
Jakob Ivarsson
9efd080fa2 Implement GetStats in Android ADM.
Calls the AudioOutput implementation of GetStats, which is currently
not implemented.

Bug: webrtc:14653
Change-Id: Ieaf0e0c030a95d23c8950ff9038a64426142a789
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324800
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41003}
2023-10-25 07:50:16 +00:00
Christoffer Jansson
10492ac8ba Remove deprecated fields for luci-analysis
Bug: None
Change-Id: Ib215c1221900c72004970485d06451409ec2e707
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324802
Commit-Queue: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41002}
2023-10-25 07:18:24 +00:00
webrtc-version-updater
74adcfc527 Update WebRTC code version (2023-10-25T04:12:38).
Bug: None
Change-Id: Iac170291d55764eac88eb816268ed1adda2da50a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324980
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@{#41001}
2023-10-25 06:11:39 +00:00
Björn Terelius
54a6149b42 C-style bindings around RTC event log analyzer (2).
Parses log, calls analyzer and populates output.
Currently only outputs two charts. Chart selection to be added in a followup.

Bug: None
Change-Id: I960cff15a5935a638a5d979a71230ad598083596
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324680
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41000}
2023-10-24 18:16:04 +00:00
Philipp Hancke
581dc09008 Add more tests for SDP parsing
showing that putting attribute lines before time information in the
session part is rejected and that unknown attribute lines do not
cause parsing errors

BUG=webrtc:15597

Change-Id: I291ee3d7d6c25ca63c86c1b4a92feb9083be408f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324621
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@{#40999}
2023-10-24 08:20:48 +00:00
Philip Eliasson
6b0c5babe0 Revert "Remove unsupported configuration value, allow_codec_switching"
This reverts commit 8f7a17f80f.

Reason for revert: breaks downstream

Original change's description:
> Remove unsupported configuration value, `allow_codec_switching`
>
> Bug: webrtc:11341
> Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#40995}

Bug: webrtc:11341
Change-Id: I784fd95062fc71f8dcc139b05121985f60709004
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324780
Owners-Override: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40998}
2023-10-24 08:19:46 +00:00
Sergey Silkin
b6ef1a736e Define default max Qp in media/base/media_constants
kDefaultQpMax=56 was defined in multiple places. Move it to media_constants and split it into two: VPx/AV1 and H26x values. H26x value is set to 51 which is the max bitstream QP value for H264/5.

This CL is expected to be a no-op because:
1. VideoCodec::qpMax value has not changed for VP8/9 and AV1.
2. VideoCodec::qpMax is currently not used by OpenH264 wrapper (wiring it up is out-of-scope of this CL).
3. Previous default qpMax=56 exceeded the max value for H26x (=51). External HW H26x encoders likely clamped it and used 51.

Bug: webrtc:14852
Change-Id: I1d795e695dac5c78e86ed829b24281e61066f668
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324282
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40997}
2023-10-24 06:43:50 +00:00
webrtc-version-updater
fc9e836444 Update WebRTC code version (2023-10-24T04:12:48).
Bug: None
Change-Id: I237b2450788cc18e44df227c480d12e98f1166a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324665
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@{#40996}
2023-10-24 05:50:54 +00:00
Tommi
8f7a17f80f Remove unsupported configuration value, allow_codec_switching
Bug: webrtc:11341
Change-Id: I8ff598848996bd63ccc572e11f8f69c892a4a459
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324284
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40995}
2023-10-24 05:07:25 +00:00
henrika
992d708e8e Improves comments for ShouldBeCapturable
Bug: webrtc:1314868
Change-Id: Ia743d17d61d7d8ffc44030b5691efef1c7ed7991
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324305
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#40994}
2023-10-23 17:07:49 +00:00
Tommi
7c1ddb760c Support initializing a SequenceChecker with a provided TaskQueue.
Bug: none
Change-Id: I5106f29ab7f9ed8530626f33f6259eb7aeb9e779
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324260
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40993}
2023-10-23 14:43:04 +00:00
Sergey Silkin
50e2054c5b Move setting single spatial layer bitrates to GetVp9SvcConfig
Before this change bitrate limits for VP9 single spatial layer case were set in VideoCodecInitializer. Move this logic to GetVp9SvcConfig. This simplifies replication of WebRTC behaviour in codec level tests. The similar AV1 logic sits in SetAv1SvcConfig, not VideoCodecInitializer.

Bug: webrtc:14852
Change-Id: Ie7202ec880d0e4b903e7265721eeef9b3920f21a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324286
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40992}
2023-10-23 14:10:21 +00:00
Diep Bui
75a131f39c Introduce hold duration in loss based BWE.
The initial hold duration is 300ms.

Whenever it enters kDecreasing state, it will double the current hold duration. The hold duration will be reset as soon as the delay based estimate works, e.g. the state is kDelayBased to avoid getting stuck at low bitrate.

Bug: webrtc:12707
Change-Id: I3906ff80b071ba3eb6274b012fb31922f4cbc7b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324304
Commit-Queue: Diep Bui <diepbp@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40991}
2023-10-23 14:09:17 +00:00
Tommi
5b186e98bc Remove effectively dead code for allow_codec_switching
Bug: webrtc:11341
Change-Id: I88e3c1059f5ebcc9d693c0719534aaacd4b9199b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324283
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40990}
2023-10-23 14:08:11 +00:00
Björn Terelius
ad69832b7f C-style bindings around RTC event log analyzer.
This is currently a stub. The analysis will be added in a followup CL.


No-Try: True
Bug: None
Change-Id: Ief381d0c30ec29a0ef170523d31f1f902d0e6b09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40989}
2023-10-23 10:55:08 +00:00
Sergey Silkin
8c16f1f49d Fix ping-pong mode on single frame sequences
Bug: webrtc:14852
Change-Id: Icc1226460dd8d09aa26edd65b89ef5b38debb31f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324285
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40988}
2023-10-23 10:52:21 +00:00
Henrik Boström
8005d5613e Add stats-related TODOs with crbugs.
Someone wondered why framesRendered has not been implemented. I had a
look, and discovered that a) we need to implement it, and b) our entire
inter-frame, pause, and freeze metrics are measured at the wrong time
because what WebRTC considered "OnRenderedFrame()" is not actually when
the frame was rendered.

So that we don't forget this again, I filed two crbugs and added TODOs
in the code for future reference to anyone interested in these metrics.

Bug: webrtc:15600, webrtc:15601
Change-Id: Id38df7874df715e9b9c0410efa4a9bc2af5d6232
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324306
Auto-Submit: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40987}
2023-10-23 09:53:11 +00:00
Per K
32f6c6e8b9 Use instant upper bound as LossBased candidate in ALR
Addes field trial UpperBoundCandidateInAlr to LossBasedBweV2. If an
instant upper bound exist in ALR that are lower than current estimate,
use it as a candidate.

Bug: webrtc:12707
Change-Id: I55595c7225c4289e1bc4edde9d9576e0443d3dce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324220
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40986}
2023-10-23 08:21:59 +00:00
webrtc-version-updater
683db76c0f Update WebRTC code version (2023-10-23T04:12:13).
Bug: None
Change-Id: Ib3e4ddcef7425761811aab4c27e18b4d64161846
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324581
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@{#40985}
2023-10-23 05:29:57 +00:00
Tommi
aea49c953c Simplify PeerConnection::SetConfiguration
* Consolidate ice candidate pool size checks (was in 3 places)
* Consolidate ICE server configuration parsing (was in 2 locations)
* Remove separate blocking call in PC for SetActiveResetSrtpParams().
* Remove unnecessary blocking call inside SetActiveResetSrtpParams
  implementation.

Bug: none
Change-Id: I38c8964f82f91c77c1fd18c407aefaab1d0c7c0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40984}
2023-10-22 15:13:54 +00:00
webrtc-version-updater
90db6ddbaf Update WebRTC code version (2023-10-22T04:13:01).
Bug: None
Change-Id: Id582eea68c196835b174bfcd113d718c44a935a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324421
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@{#40983}
2023-10-22 05:21:11 +00:00
Tommi
2919075ce3 Remove an invoke for datahannel transport uninitialization during Close.
Bug: none
Change-Id: Ic0d482a8a045d3aa0fcaf13e43f8a156fa3560d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324301
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40982}
2023-10-21 16:39:05 +00:00
Tommi
840cf78600 Move Destroy/Create steps for DataChannelTransport to PeerConnection.
This moves steps from the sdp code for pc state over to the PC class
and slightly simplifies the contract between the two classes.
Moving forward it's easier to consolidate those steps in the PC
class with other grouped operations e.g. during teardown.

Also removing GetDataMid() method in favor of the sctp_mid() property.

Bug: none
Change-Id: I938f953099d327377abd94e6b2c9ece803d88e40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324300
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40981}
2023-10-21 16:25:11 +00:00
webrtc-version-updater
5e31e8148a Update WebRTC code version (2023-10-21T04:11:58).
Bug: None
Change-Id: I80d2827de8b3edd90c81899bf384acccac0a7d6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324320
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@{#40980}
2023-10-21 05:53:33 +00:00
Per K
adeda8214c Add field trial to LossbasedBwe2 to use padding when increasing BWE
UsePadding - signals to GoogCC that padding should be used to fill up to
BWE while BWE is ramping up.

Bug: webrtc:12707
Change-Id: I7b4922dff3a83da370c50c567050bfa748190b40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324160
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40979}
2023-10-20 15:29:26 +00:00
henrika
1b573a7866 Fixes compile issue for rtc_disable_trace_events=true
Bug: webrtc:15590
Change-Id: Ie7bafd34cf40b741ef40f9e0b6c5555238de8f64
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324200
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40978}
2023-10-20 12:42:21 +00:00
Per K
af7b785f02 Ensure LossBased BWE do not decrease due to acked bitrate
Ensure acked bitrate is not used for lower loss based estimate if
estimate improve.

Ensure LossBasedBweV2 is in state DelayBased if reached max rate.

Bug: webrtc:12707
Change-Id: I20230b99e0c2b530570e2f2de8ea88179f795c50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324140
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40977}
2023-10-20 10:43:10 +00:00
webrtc-version-updater
79d1e9eb9c Update WebRTC code version (2023-10-20T04:10:23).
Bug: None
Change-Id: I97217698f436b6cef8762d892b87cf381eccd94a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324074
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@{#40976}
2023-10-20 06:04:12 +00:00
Per K
ef4c71c204 Change expectation of GoogCCNetworkController::OnNetworkAvailability
Expect OnNetworkAvailabability to be invoked when the transport becomes writable.
Before this change, ProbeController in GoogCC was expected to be created when the transport is writable or explicitly  notifed after creation that network is not writable.

Bug: None
Change-Id: I623b1c34e40a82e912f85b92fea49629e7e72d4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/323463
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40975}
2023-10-19 17:34:42 +00:00
chromium-webrtc-autoroll
d3e10a6cf2 Roll chromium_revision e95b1a5359..92c06a0574 (1212077:1212194)
Change log: e95b1a5359..92c06a0574
Full diff: e95b1a5359..92c06a0574

Changed dependencies
* src/ios: 7218dd6518..9c037a4653
* src/testing: 17f1759246..1cd69b2dbf
* src/third_party: 49b3fc26fc..b3eca10267
* src/third_party/freetype/src: a35da2c093..4e61303a3b
* src/third_party/perfetto: f5bcd0b0cb..a4f0a922c3
* src/third_party/r8: VYa4qKw_r1a1mfMoihb-HEf076o6wCzkBmi4mPjKrkQC..EJBvY8okEtL8rBTKcVoAbusYIpZD8wRuqoo-LWfKz_EC
* src/tools: 2d2e4c1613..89b4394811
DEPS diff: e95b1a5359..92c06a0574/DEPS

No update to Clang.

BUG=None

Change-Id: I966ddb89c3a5d14800680ddaf3f90b1f341b65b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324121
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@{#40974}
2023-10-19 16:42:33 +00:00
chromium-webrtc-autoroll
81942b3f38 Roll chromium_revision 9f3c24a6c6..e95b1a5359 (1211949:1212077)
Change log: 9f3c24a6c6..e95b1a5359
Full diff: 9f3c24a6c6..e95b1a5359

Changed dependencies
* src/base: 949b212557..70b48a4849
* src/ios: 7e5e89104b..7218dd6518
* src/testing: 5d6668c8f2..17f1759246
* src/third_party: a4d26b8ac8..49b3fc26fc
* src/third_party/androidx: mKlggNDsEv0JjWpi3rudjBg2bHFe469T00mjfL10gX0C..96u2eitVGdsNUZ0Qhe7boO2KLmjPi7R8D8gI7_o7lRAC
* src/third_party/perfetto: 34f1b98dca..f5bcd0b0cb
* src/tools: 35d921f965..2d2e4c1613
DEPS diff: 9f3c24a6c6..e95b1a5359/DEPS

No update to Clang.

BUG=None

Change-Id: I8880bd18d5faffe138d767760a5cf938d8c52acc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324084
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@{#40973}
2023-10-19 12:33:41 +00:00
Byoungchan Lee
11376fb992 Reset H.264 SVC Controller on key frame
Sometimes OpenH264 returns a key frame even though we have not
requested one. However, SVC controller does not know about this
and will not reset its state. Since we are comparing expected tid
from SVC controller with actual tid from OpenH264, and drop frames
if they do not match, that causes a missing frame.

This CL resets the SVC controller state on key frames, ensuring
that it accurately maintains its state and does not drop frames.
Also, changes the message of the error log to be more descriptive.
Now, it will print the expected tid and actual tid.

Bug: webrtc:14877
Change-Id: I6c9e7532b2478773f03e5707bf7a1ca56e4f7b99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/324001
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40972}
2023-10-19 09:51:14 +00:00