instead of using Lock/Unlock attributes, use Assert attribute to annotate code is running on certain task queue or thread.
Such check better matches what is checked, in particular allows to
recheck (and thus better document) currently used task queue
Bug: None
Change-Id: I5bc1c397efbc8342cf7915093b578bb015c85651
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269381
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37619}
SetFeedbackParameters no longer recreates the embedded streams for:
- transport cc flag
- rtcp status
Bug: none
Change-Id: If6117a1ae760ca9a02f06bbfa2b46c6e0f448cfc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268281
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37526}
Setting the transport cc flag was only possible post creation for
audio receive streams, while video receive streams need to be recreated.
This CL moves the setter for transport_cc() to where the getter is and
adds boiler plate implementations for the video streams. For audio
streams this splits "SetUseTransportCcAndNackHistory" into two methods,
SetTransportCc and SetNackHistory.
Bug: none
Change-Id: Idbec8217aef10ee77907cebaecdc27b4b0fb18e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264443
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37038}
This reverts commit 0e2221eb2f02ed950f4fd9c7fea40b382ea0a0c8.
Reason for revert: Speculative revert, breaks downstream.
Original change's description:
> Use ADM internal state for init state check.
>
> When ADM is terminated and its state requires reinitialized, VoipCore::initialized_ field will falsely skip required reinitializing.
>
> Bug: webrtc:14054
> Change-Id: Ibeb4987a7e9763b8e40926acc4d7eaabde7a3478
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261924
> Reviewed-by: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Tim Na <natim@google.com>
> Commit-Queue: Tim Na <natim@google.com>
> Cr-Commit-Position: refs/heads/main@{#36893}
Bug: webrtc:14054
Change-Id: I1fa0a1ff440b9619aba60ec25970ce88a67739db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262660
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36896}
When ADM is terminated and its state requires reinitialized, VoipCore::initialized_ field will falsely skip required reinitializing.
Bug: webrtc:14054
Change-Id: Ibeb4987a7e9763b8e40926acc4d7eaabde7a3478
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261924
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tim Na <natim@google.com>
Commit-Queue: Tim Na <natim@google.com>
Cr-Commit-Position: refs/heads/main@{#36893}
GetRtpExtensions() is still used in one corner case for audio receive
streams, so GetRtpExtensions has migrated to AudioReceiveStream.
Updated FlexfecReceiveStream config management (incl. pass by value) and
now store an RtpHeaderExtensionMap in FlexfecReceiveStreamImpl.
Call GetRtpExtensionMap() from call.cc instead of constructing one on
the fly for each rtp packet (for video packets at least).
Bug: webrtc:11993
Change-Id: Id90ec5d43ea368f58edd6f17cb39d8c54aec641f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261800
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36839}
This is to avoid accessing the array via the config struct.
Moving forward we might want to consider using the RtpHeaderExtensionMap
instead of a std::vector of RtpExtension.
Bug: webrtc:11993
Change-Id: I8469dbbd9bb95a69f87b5912bfc4bf8b8f603beb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261317
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36820}
`remote_ssrc` can be considered const while some other state represented
by rtp_config() can not and also is tied to a specific thread.
Separating access to these variables, makes moving things around easier.
Bug: webrtc:11993
Change-Id: I70aa000daab6174a401e01dca163213174e8f284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261316
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36818}
It defined RTC_PRIuS, which was needed for compatibility with MSVC
prior to version 2015.
Bug: webrtc:6424
Change-Id: I5668d473376201cad3e8da65927c967fc397804b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261314
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36814}
This reduces the surface of externally accessible state that belongs
to the class, which makes it easier to control what state belongs to
what thread. In this CL enforcing remote_ssrc() to be conceptually const
and sync_group to conceptually belong to the packet delivery thread.
Bug: webrtc:11993
Change-Id: I7de9366dc0c2bf451b5c58595c2d073b4016f2e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261450
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36813}
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}
Motivation: never used.
Follow-up CL of https://webrtc-review.googlesource.com/c/src/+/250680.
Tested on a custom chromium build by making a video call and with
keyboard activity. The expected logs from the APM transient suppressor
sub-module were shown.
Bug: webrtc:11226
Change-Id: I4186994412dd8ba2e71ed8f9dcc9cf8f8e40fbd3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250667
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36300}
This is part of a large-scale effort to adopt absl::string_view
throughout the WebRTC code base. As a first step, function parameters
of type 'const std::string&' are being converted to absl::string_view.
Bug: webrtc:13579
Change-Id: Ib4618fad3bff2902cd3a4730506aca300949d76c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252982
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36102}
* The idea is copied from flags_compatibility since this file does a bit the same thing.
* Remove extra_test_args which is not used and becomes unecessary.
* Fix lint issues.
Bug: b/197492097
Change-Id: I378e163a5116ded13619f91ce50859519c9550df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252004
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36044}
This reverts commit cbfa235b3548ae1a0b8f5b80a879214ca5f1bd56.
Reason for revert: iOS bots will use flags_compatibility with isolated_script_test_output but not gtest_output.
Original change's description:
> Add the possibility to output a json gtest output to the perf tests.
>
> We use the Chromium existing flag isolated_script_test_output that we translate into gtest_output.
> This is because the Chromium flag has the same purpose as gtest_output and is already provided in the recipe modules.
>
> No-Presubmit: True
> Bug: b/197492097
> Change-Id: Ia432a85b0e0ab32008b39ffe751d11aefb9b24ea
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251041
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Jeremy Leconte <jleconte@google.com>
> Cr-Commit-Position: refs/heads/main@{#35937}
No-Presubmit: True
Bug: b/197492097
Change-Id: I94e75328570f89011fbb0daf035f0072b8ea2f7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36042}