Upstream commit: https://webrtc.googlesource.com/src/+/a09331a6038bb6191c7662680d8928940463a099
Don't write TransmissionOffset when capture time is not set
RTX padding packets sent before media packets can legitimately have no
timestamps set (they are 0). Writing the TransmissionOffset extension
with capture time 0 will overflow once current time exceeds ~3 minutes.
Bug: webrtc:15172
Change-Id: I4dd1f341802d45016549b330f0e08cd3a00cfa19
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305020
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40055}
Differential Revision: https://phabricator.services.mozilla.com/D178007
Upstream commit:
PipeWire capturer: fix fcntl call when duplicating a file descriptor
The fcntl() call has variable arguments, therefore we need to pass 0 to
specify there are no other arguments for this call, otherwise we might
end up with an argument that is random garbage.
Bug: webrtc:15174
Change-Id: I34f16a942d80913b667d8ade7eed557b0233be01
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/305120
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40060}
Differential Revision: https://phabricator.services.mozilla.com/D178009
Upstream commit: https://webrtc.googlesource.com/src/+/9089c0d814b11739a7e323c6a9cb03bfad149ea8
[Merge-111] Preserve mid of sections added with AddTrack after a rollback
Since AddTrack now has an implicit init_encodings value, it will also
have a StableState saved when associating a transceiver.
That state may not have a saved mid and mline_index, and so on a
rollback, it could blindly reset the mid and mline_index of an
associated transceiver.
This is wrong, the mid and mline_index of associated transceivers
should only be updated when the StableState objects actually
have one saved.
# Try bots not possible due to
# https://webrtc-review.googlesource.com/c/src/+/292820
NOTRY=True
(cherry picked from commit b3d424cd484dd7a109547ca7be7f1575a29df7e7)
Bug: chromium:1424238
Change-Id: I8e80a04cd072d90200ca7643de892c0ef29b1f1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297920
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#39577}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/297984
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/branch-heads/5563@{#5}
Cr-Branched-From: 6c032cb8356b0d3f717c4fcf50796241f2bba6c2-refs/heads/main@{#39207}
Upstream commit: https://webrtc.googlesource.com/src/+/b6b9b1fc761c039195faa033cb8fdde4ed8ba0a9
M111: Fix WebRTC.Screenshare.DesktopCapturerFullscreenDetector logging issue
The histogram WebRTC.Screenshare.DesktopCapturerFullscreenDetector
incorrectly counted every time a presentation application was shared
instead of only counting sessions where the presentation was
presented in fullscreen. This bug affected Windows, macOS works as
intended.
The try-bots are not working on the M111 branch due to a change in the setup.
(cherry picked from commit f4c04286bc361011660492fc1860ea72d59165ec)
Bug: chromium:1348011
Change-Id: I9e84e9d1f4310703ba94e2af2e35a52d74a25842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293461
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#39314}
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294860
Cr-Commit-Position: refs/branch-heads/5563@{#4}
Cr-Branched-From: 6c032cb8356b0d3f717c4fcf50796241f2bba6c2-refs/heads/main@{#39207}
Upstream commit: https://webrtc.googlesource.com/src/+/416bc06a6aa3735e33edcec5c1ffb68beb310924
Disable stop CNG after a timeout.
This is still a behavior that we want, but a more careful rollout is needed.
(cherry picked from commit 48d784225972b7dd0542acfad7cd2d0eed25ad1c)
No-Try: True
Bug: webrtc:12790, chromium:1418687
Change-Id: Ic74c7b4945c0cdeda2b17f52301069424ad91162
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293860
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#39333}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/294760
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/branch-heads/5563@{#3}
Cr-Branched-From: 6c032cb8356b0d3f717c4fcf50796241f2bba6c2-refs/heads/main@{#39207}
We already cherry-picked this when we vendored 218b56e516.
Upstream commit: https://webrtc.googlesource.com/src/+/cb954cdb0814e2119b6cb0fe2512d532b5c1419c
Fix Destruction inside WGC Callback
If we are notified of the destruction of the window before a
CaptureFrame call can fail, then we may end up attempting to destroy the
underlying WGC object inside it's own event handler. This can be
problematic, as the class itself may want to run other code. Instead,
we just unsubscribe and signal that any future CaptureFrame calls should
reject.
This also removes setting "is_capture_started_=false" in the item closed
handler, as all that served to do is cause the WgcCapturerWin code to
attempt to restart the capturer, and somewhat muddies up our metrics.
(cherry picked from commit 318cf28945d80a0ac6f09382e507c95e649cc4c1)
Bug: chromium:1413005
No-Try: True
Change-Id: Ibccb7a2e7ce531ba80b4b331b9bc2cda0ff75f4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292762
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#39275}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293243
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/5563@{#2}
Cr-Branched-From: 6c032cb8356b0d3f717c4fcf50796241f2bba6c2-refs/heads/main@{#39207}
Upstream commit: https://webrtc.googlesource.com/src/+/e15b9ff408239dec2b65c2e548611c3bf68a0a7b
Add a basic unittest for webrtc::voe::ChannelReceive
This CL adds an unittest that a ChannelReceive can be constructed
and destroyed without crashing. It is a basis for further testing.
Lack of unit test was discovered while pursuing bug mentioned below.
Bug: webrtc:13931
Change-Id: Iddb110f2df25e3806c74a5d00bbfab6d6d8e267f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291338
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39200}
Upstream commit: https://webrtc.googlesource.com/src/+/5671c6410395d6bc3f6041cc15d16ca256688c8e
Stop overriding extensions in rampup tests
Instead, ensure extensions are registered so that both transport and send streams are aware.
Bug: webrtc:7135,webrtc:14795,b/266658815
Change-Id: I7710113893e2c5e23c1365de6aa3b761e3408308
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291333
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39193}
We already cherry-picked this when we vendored 897ea04db5.
Upstream commit: https://webrtc.googlesource.com/src/+/f2a083f262d86737893e774c696716742fcab3e3
Revert "Delete PacketReceiver::DeliverPacket from all implementations"
This reverts commit 897ea04db5db2e591e28bd884191be58d9bcdc63.
Reason for revert: Speculative revert as it could be the reason why perf tests started failing: https://ci.chromium.org/p/webrtc/g/perf/console?limit=200
Original change's description:
> Delete PacketReceiver::DeliverPacket from all implementations
>
> And fix tests that still depend on extensions to be known by the receiver.
>
> Change-Id: I62227829af81af07769189e547f1cdb8ed4d06b3
>
> Bug: webrtc:7135,webrtc:14795
> Change-Id: I62227829af81af07769189e547f1cdb8ed4d06b3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290996
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39184}
Bug: webrtc:7135,webrtc:14795,b/266658815
Change-Id: I9d03f4952938d176ffee110a707acadc1846457c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291400
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39189}
Essentially a no-op since we're going to see this change
reverted when we vendor in f2a083f262.
Upstream commit: https://webrtc.googlesource.com/src/+/897ea04db5db2e591e28bd884191be58d9bcdc63
Delete PacketReceiver::DeliverPacket from all implementations
And fix tests that still depend on extensions to be known by the receiver.
Change-Id: I62227829af81af07769189e547f1cdb8ed4d06b3
Bug: webrtc:7135,webrtc:14795
Change-Id: I62227829af81af07769189e547f1cdb8ed4d06b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290996
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39184}
Upstream commit: https://webrtc.googlesource.com/src/+/0793ee7552c544ab4864fa1f75fc8a76e144f1e8
Remove FakePortAllocator's dependency on ScopedKeyValueConfig.
Breaking this dependency is required for using FakePortAllocator in chromium tests to make the windows component build work.
Bug: chromium:1408420
Change-Id: I4215b92c1d1430156107605e5b054926b30f83f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291114
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#39180}
Upstream commit: https://webrtc.googlesource.com/src/+/22821deb38d4c54920b37ad446eb9855ae666e85
Make capture timestamp optional in ADM.
This is to avoid using 0 as a default value.
Also fix a bug in audio_device_buffer where the timestamp aligner used the wrong input timestamp.
Bug: webrtc:13609
Change-Id: I00016e68ab50d052990c2b9f80aa1e2d7e167b93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291118
Reviewed-by: Olov Brändström <brandstrom@google.com>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39177}
Upstream commit: https://webrtc.googlesource.com/src/+/5b55b2750a6ea2d05edb67b0109270ceb3499da1
Version 3: Various changes on the pre-echo delay estimator:
- Lowering the energy threshold for updating the accumulated error.
- Not using the pre-echo estimate in the initial frames when the matched filters have been recently initialized.
- Slight speed up for the increases in the accumulated error.
- Not periodically resetting the accumulated error.
Bug: webrtc:14205
Change-Id: Ic337332e263b27d7a3aba0ab4b371517780f9c90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291320
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39175}
Upstream commit: https://webrtc.googlesource.com/src/+/438b5b4ca5bc9d90101d0f058fc3dcf5ecc60885
WebRtcVideoChannel creates default stream with dummy SSRC on received RTX packet.
This ensure transport feedback is sent for RTX packets that are received before media payload packets.
Bug: webrtc:14795, webrtc:14817
Change-Id: I6a2579b87c8863e003decb2b2559ef51a852cadb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291119
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39174}
Upstream commit: https://webrtc.googlesource.com/src/+/9ad10bc4927bf715575c6c560382b35629cda0af
Only generate codec stats for the voice send and receive codec
also refactor the code to have FillSendCodecStats/FillReceiveCodecStats
methods for similarity with the video engine code.
BUG=webrtc:14808
Change-Id: Ib0687f36a4b4a71c849e0b4918e50592d7772ff8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290891
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#39172}