Commit graph

759 commits

Author SHA1 Message Date
Jakob Ivarsson
e1bbef1e6b Add options to only NACK if there is a valid RTT and if loss rate is below a configured value.
Bug: webrtc:10178
Change-Id: I16a74ed6fb380cecaf82a303bb14bf215c944a73
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238988
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35419}
2021-11-25 16:30:17 +00:00
Harald Alvestrand
5f34130f26 Declare LERROR deprecated and remove all usage in webrtc
Bug: webrtc:13362
Change-Id: I1c6c6eccd950d73be616b34f96db7832ff94377e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238804
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35416}
2021-11-24 14:34:24 +00:00
Ivo Creusen
624fb67bbc Revert "Fix out-of-bounds memory access due to large number of audio channels."
This reverts commit 4cbfe4192c.

Reason for revert: The fix in this CL is ineffective. A better one has been created here: https://webrtc-review.googlesource.com/c/src/+/238666

Original change's description:
> Fix out-of-bounds memory access due to large number of audio channels.
>
> The number of audio channels can be configured in SDP, and can thus be
> set to arbitrary values by an attacker. This CL fixes an out-of-bounds
> memory access that could occur when the number of channels is set to a
> large number.
>
> Bug: chromium:1265806
> Change-Id: Ic88ff6d85b978b8eb99bf03cc52457a4552e8c24
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237808
> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35354}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1265806
Change-Id: If695ed92f831c2a9631efdf47f1568f5a15c1841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/238803
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35413}
2021-11-24 11:45:55 +00:00
Ivo Creusen
d823259c7f Set the maximum number of audio channels to 24
The number of audio channels can be configured in SDP, and can thus be
set to arbitrary values. However, the audio code has limitations that
prevent a high number of channels from working well in practice.

Bug: chromium:1265806
Change-Id: I6f6c3f68a3791bb189a614eece6bd0ed7874f252
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237807
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35359}
2021-11-16 17:01:54 +00:00
Ivo Creusen
4cbfe4192c Fix out-of-bounds memory access due to large number of audio channels.
The number of audio channels can be configured in SDP, and can thus be
set to arbitrary values by an attacker. This CL fixes an out-of-bounds
memory access that could occur when the number of channels is set to a
large number.

Bug: chromium:1265806
Change-Id: Ic88ff6d85b978b8eb99bf03cc52457a4552e8c24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237808
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35354}
2021-11-16 12:32:41 +00:00
Artem Titov
d3251968d1 Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED
Add implementation of RTC_DCHECK_NOTREACHED equal to the RTC_NOTREACHED.
The new macros will replace the old one when old one's usage will be
removed. The idea of the renaming to provide a clear signal that this
is debug build only macros and will be stripped in the production build.

Bug: webrtc:9065
Change-Id: I4c35d8b03e74a4b3fd1ae75dba2f9c05643101db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237802
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35348}
2021-11-15 21:44:59 +00:00
Jakob Ivarsson
bf0874568c Implement RTCOutboundRtpStreamStats.targetBitrate for audio.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-targetbitrate

Bug: webrtc:13377
Change-Id: I98dd263e0b9d6e2ca94969d2a91857b14cd65f70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237402
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35337}
2021-11-12 09:24:34 +00:00
Jakob Ivarsson
4a97d7281f Remove NetEq extra delay option.
Bug: b/156734419
Change-Id: I787e6961ad283990d633029c0cf296e10b825875
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237403
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35326}
2021-11-09 17:25:46 +00:00
Jakob Ivarsson
fa68ac0c4e Reland "Remove legacy delay manger field trial and update default config."
This is a reland of 93849d4b2a

Original change's description:
> Remove legacy delay manger field trial and update default config.
>
> Bug: webrtc:10333
> Change-Id: I20e55d8d111d93657d1afe556fe3a325337c074c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232820
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35321}

Bug: webrtc:10333
Change-Id: I9b3c732309d32640d15c372a4dde37d5d44c95d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237502
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35325}
2021-11-09 14:49:56 +00:00
Olga Sharonova
46814941f2 Revert "Remove legacy delay manger field trial and update default config."
This reverts commit 93849d4b2a.

Reason for revert: AcmReceiverBitExactnessOldApi tests failing on MacARM64; first failing build https://ci.chromium.org/ui/p/webrtc/builders/ci/MacARM64%20M1%20Release/1038/overview
Example faliure
[ RUN      ] AcmReceiverBitExactnessOldApi.8kHzOutput
...
(rtp_file_reader.cc:165): Failed to read
../../modules/audio_coding/acm2/audio_coding_module_unittest.cc:912: Failure
Expected equality of these values:
  checksum_ref
    Which is: "636efe6d0a148f22c5383f356da3deac"
  checksum_string
    Which is: "6a288942d67e82076b38b17777cdaee4"

Original change's description:
> Remove legacy delay manger field trial and update default config.
>
> Bug: webrtc:10333
> Change-Id: I20e55d8d111d93657d1afe556fe3a325337c074c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232820
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35321}

TBR=ivoc@webrtc.org,jakobi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I0bd3832aacba8dcd8e836650786cea20b4c083be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10333
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237441
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35324}
2021-11-09 09:10:39 +00:00
Jakob Ivarsson
93849d4b2a Remove legacy delay manger field trial and update default config.
Bug: webrtc:10333
Change-Id: I20e55d8d111d93657d1afe556fe3a325337c074c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232820
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35321}
2021-11-08 11:14:09 +00:00
Mirko Bonadei
e5e78c4521 Fix -Wunused-but-set-variable.
Bug: None
Change-Id: I8943227108e46c4c942895e4bd8fb276947502e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/236525
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35272}
2021-10-28 12:53:49 +00:00
landrey
d67e75a45d Update m1 arm64 audio bitexactness tests hashes. Followup.
Update hashes that weren't updated at
https://webrtc-review.googlesource.com/c/src/+/232220

Bug: b/199885455
Change-Id: I4f9327fa48a9d5656f57c5dcbc6438f20f919acd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232320
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35023}
2021-09-17 10:19:01 +00:00
landrey
d14f98f635 Update m1 arm64 audio bitexactness tests hashes
Follow up for https://webrtc-review.googlesource.com/c/src/+/232061/5. Updated mac M1 tests that was missed because they are not part of CQ

Bug: b/199885455
Change-Id: I77618ac2869ba601f322857f4391b63220d20252
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232220
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35021}
2021-09-17 08:59:05 +00:00
landrey
e742d8c163 Updae bitexactness tests to match new canonical results
This CL has to be submitted together with chromium roll

Roll chromium_revision 48501b3f18..a098e1265b (917742:921682)

Change log: 48501b3f18..a098e1265b
Full diff: 48501b3f18..a098e1265b

Changed dependencies
* src/base: bdbd6f899c..ecf6ff89bf
* src/build: f90eed6a5e..fabb3638a7
* src/buildtools/third_party/libc++abi/trunk: 7de86cbf37..a5b6419452
* src/buildtools/third_party/libunwind/trunk: edf77b2d2d..44ea7aba6a
* src/ios: 1b17fd57e6..e8d5d843cf
* src/testing: 59835db543..7adcb6a6bf
* src/third_party: a299c990bc..21d7875bec
* src/third_party/android_deps/libs/com_google_auto_auto_common: version:2@0.10.cr0..version:2@1.1.2.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotation: version:2@2.7.1.cr0..version:2@2.9.0.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotations: version:2@2.7.1.cr0..version:2@2.9.0.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_check_api: version:2@2.7.1.cr0..version:2@2.9.0.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_core: version:2@2.7.1.cr0..version:2@2.9.0.cr0
* src/third_party/android_deps/libs/com_google_errorprone_error_prone_type_annotations: version:2@2.7.1.cr0..version:2@2.9.0.cr0
* src/third_party/android_deps/libs/com_google_guava_guava: version:2@30.1-jre.cr0..version:2@30.1.1-jre.cr0
* src/third_party/androidx: TnotTDnWGUJDh0mSOMrgnIwzbfWFiwo2NTtr2SlUJ0MC..QRXHawrfyCC8nr_u3VCPoilYsqHO01yv1EiduoQUPcgC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/dddb60eb97..27a3328a37
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d9a9ebbe89..6b072fac88
* src/third_party/depot_tools: 789dfc223b..9c67b23020
* src/third_party/freetype/src: 7482c98f15..5b626281f1
* src/third_party/googletest/src: 955c7f837e..159c9ad23e
* src/third_party/harfbuzz-ng/src: 280366ba6a..6602cbb706
* src/third_party/icu: ece15d049f..3f443830bd
* src/third_party/libvpx/source/libvpx: 15a75b4530..65a1751e5b
* src/third_party/libyuv: 49ebc996aa..0896c34873
* src/third_party/perfetto: 8420673b4c..de98afcd4a
* src/third_party/r8: dvPOJ_8iAF6OHGO79d86VbJjyKj7Xn0SFxlVVC9LHdcC..j4P6kTwiJeMkYRbaOqRCB-ZrYyISP0NrcyNNAd8MRM0C
* src/third_party/usrsctp/usrsctplib: bdf3dd3f28..62d7d0c928
* src/tools: e3721e5cf9..a27c09f45b
* src/tools/luci-go: git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31..git_revision:dc21267f89df3981e809fe9566591d6916ae758b
* src/tools/luci-go: git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31..git_revision:dc21267f89df3981e809fe9566591d6916ae758b
* src/tools/luci-go: git_revision:7f42370cb3b75398bdb9ae0aabe215a70d40cd31..git_revision:dc21267f89df3981e809fe9566591d6916ae758b
Added dependency
* src/third_party/android_deps/libs/org_checkerframework_dataflow_errorprone
Removed dependency
* src/third_party/android_deps/libs/org_checkerframework_dataflow_shaded
DEPS diff: 48501b3f18..a098e1265b/DEPS

Clang version changed llvmorg-14-init-2175-g945cde8b:llvmorg-14-init-3710-gd11a0c5d
Details: 48501b3f18..a098e1265b/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,

Bug: b/199885455
Change-Id: I64329c57949e9233f5cf65167f012db0637fe4fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232061
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35008}
2021-09-15 18:38:41 +00:00
Philipp Hancke
1061686107 red: handle opus dtx 400ms timestamp gap
by not encoding redundancy. The timestamp gap of 400ms means a
rtp timestamp difference of 19200 which would overflow the 14 bit
RED timestamp difference field.

To test in Chrome, go to
  https://webrtc.github.io/samples/src/content/peerconnection/audio/
set `useDtx = true` in the console and be very quiet.

BUG=webrtc:13182,webrtc:11640

Change-Id: I1cedc7d846ac7ae821bb7cb5c0f37a17511ac727
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231940
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35005}
2021-09-15 15:09:28 +00:00
Ivo Creusen
bc503c95b5 Remove support for nack threshold.
The nack threshold feature is unlikely to provide any value, since
reordered packets are rare. This CL also removes the factory method
from the NackTracker class, since it did not add much value.

Bug: webrtc:10178
Change-Id: Ib6bece4a2d9f95bd4298799aaa15627f5c014b61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231953
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34993}
2021-09-14 16:51:17 +00:00
Jakob Ivarsson
018cd3d6fc Avoid NACKing after DTX.
This is done by not adding missing packets to the NACK list if the number of samples per packet is too large.

Bug: webrtc:10178
Change-Id: If46398d6d05ea35f30d7028040d3b808559e950b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231841
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34984}
2021-09-13 16:31:42 +00:00
Philipp Hancke
7a4ab1a063 red: handle 0-redundancy encoding case
which is a "degenerated" case that just adds a one-byte header.

BUG=webrtc:11640

Change-Id: I173f4cb56270e0090219e4450b036bbe1b51756a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231696
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34976}
2021-09-13 07:23:11 +00:00
Ivo Creusen
3a9640a5aa Improve nacking logic
Requesting nacks in more cases allows the delay adaptation to better
predict if it's worth it to increase the jitter buffer delay to wait for
the nacked packets to arrive.

Bug: webrtc:10178
Change-Id: I46adb76c013dbb8df0b99eb3f7a398f8f21c2bf6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231648
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34970}
2021-09-10 14:21:22 +00:00
Jakob Ivarsson
552c83171b Update nack tracker when receiving empty packets.
Bug: webrtc:7611
Change-Id: Ied50829f245ea99f8d737cffdf9a3d646de3fbaf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231641
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34958}
2021-09-09 10:40:35 +00:00
Jakob Ivarsson
58ed02eae3 Improve adaptation to reordered packets in delay manager.
This is done by adding a reorder optimizer that estimates the probability of receiving reordered packets.

The optimal delay is decided by balancing the cost of increasing the delay against the probability of missing a reordered packet, resulting in a loss. This balance is decided using the `ms_per_loss_percent` parameter.

The usage and parameters can be controlled via field trial.

Bug: webrtc:10178
Change-Id: Ic484df0412af35610e74b3a6070f2bac7a926a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231541
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34954}
2021-09-08 16:41:27 +00:00
Jakob Ivarsson
74158ff761 Refactor delay manager.
Split out `RelativeArrivalDelayTracker` and `DelayOptimizer` logic.

This is in preparation for adding another `DelayOptimizer` specialized in handling reordered packets.

Bug: webrtc:10178
Change-Id: Id3c1746d91980b171fa524f9b2b71cf11fc75f64
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231224
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34938}
2021-09-07 13:45:47 +00:00
Jakob Ivarsson
7cca016721 Hard code rtx handling option in NetEq.
This allows NetEq to adapt to late reordered packets which are common when using retransmissions.

Remaining cleanup of the plumbing from WebRTC API will be done in a follow-up cl.

Bug: webrtc:10178
Change-Id: Ia9911eaafdabd3b69441dc089116d79e24f1b2b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231002
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34898}
2021-09-01 18:18:59 +00:00
Jakob Ivarsson
25edb62a94 Calculate relative arrival delay for reordered packets.
This changes behavior slightly but results in a better delay estimate and cleaner code.

Bug: webrtc:10178
Change-Id: If150258bc1ea58149940f17c5660733ff61159c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230740
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34883}
2021-08-31 12:26:41 +00:00
Minyue Li
1039392209 Add a unittest to NetEq StatisticsCalculator for discarded packets counter.
Bug: webrtc:8199
Change-Id: I32127af1ae6692717f28dbf2d820cd67c0b6a66a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229300
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34808}
2021-08-19 17:17:37 +00:00
Minyue Li
57d13105e5 A test to verify counter on discarded packet upon reordering.
Bug: webrtc:8199
Change-Id: Ia8c545e4ae0ff98c22031b633d1bca4ba58e9e7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229380
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34804}
2021-08-19 14:13:30 +00:00
Philipp Hancke
9367cff59b red: change default redundancy level to 1
BUG=webrtc:11640

Change-Id: Ide66ae4803349ebb908d372e811efd9ef93d51e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228424
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34720}
2021-08-11 12:59:13 +00:00
Philipp Hancke
e9655736e5 Reland "red: remove special-casing of no-redundancy"
This is a reland of 320c57b7c6

Original change's description:
> red: remove special-casing of no-redundancy
>
> removes the special-casing of not sending a RED header when there is no redundant payload.
> This avoids switching back and forth between the primary and the red payload format (primarily at the start of the connection).
>
> BUG=webrtc:11640
>
> Change-Id: I8e0044bef1ed7c4168d9527645522392db2ed068
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220932
> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34703}

Bug: webrtc:11640
Change-Id: I5e5687be575183ee16d74df4a8170e4fedad739f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228422
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34713}
2021-08-11 08:26:59 +00:00
Andrey Logvin
1118ebac0a Revert "red: remove special-casing of no-redundancy"
This reverts commit 320c57b7c6.

Reason for revert:
Breaks CI tests: https://ci.chromium.org/ui/p/webrtc/builders/ci/Linux32%20Release/27236/overview
All CI tests: https://ci.chromium.org/p/webrtc/g/ci/console
Error is of the following type:
```
../../modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc:195: Failure
Expected equality of these values:
  1u
    Which is: 1
  encoded_info_.encoded_bytes
    Which is: 2
Stack trace:
  0x56b298d9: webrtc::AudioEncoderCopyRedTest_CheckPayloadSizesSingle_Test::TestBody()
  0x572fe317: testing::internal::HandleExceptionsInMethodIfSupported<>()
  0x572fe1d4: testing::Test::Run()
  0x572ff2ee: testing::TestInfo::Run()
```

Original change's description:
> red: remove special-casing of no-redundancy
>
> removes the special-casing of not sending a RED header when there is no redundant payload.
> This avoids switching back and forth between the primary and the red payload format (primarily at the start of the connection).
>
> BUG=webrtc:11640
>
> Change-Id: I8e0044bef1ed7c4168d9527645522392db2ed068
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220932
> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34703}

TBR=henrik.lundin@webrtc.org,devicentepena@webrtc.org,minyue@webrtc.org,philipp.hancke@googlemail.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Ide409232720df32b24022f99228f3b6ae81f06fe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11640
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228421
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34707}
2021-08-10 18:09:16 +00:00
Philipp Hancke
320c57b7c6 red: remove special-casing of no-redundancy
removes the special-casing of not sending a RED header when there is no redundant payload.
This avoids switching back and forth between the primary and the red payload format (primarily at the start of the connection).

BUG=webrtc:11640

Change-Id: I8e0044bef1ed7c4168d9527645522392db2ed068
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220932
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34703}
2021-08-10 16:56:05 +00:00
Philipp Hancke
43f25e36f7 red: fix redundancy shift and add tests
fixes an incorrect redundancy shift and add tests that would have caught this bug.

BUG=webrtc:11640

Change-Id: I6fe2fb21587fffc5fee4d403ac898e12d525a1cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224120
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34702}
2021-08-10 16:51:06 +00:00
landrey
3abd10889f Fix define if chain in audio decoder unittest
Follow up https://webrtc-review.googlesource.com/c/src/+/228247. Turned out "#elif defined(WEBRTC_MAC) && defined(WEBRTC_ARCH_ARM64)  // M1 Mac" branch was unreachable

Bug: webrtc:13053
Change-Id: Icf1aa5147347a1fad0dce8cca893bb3c598f658e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228381
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34699}
2021-08-10 13:00:33 +00:00
landrey
8c654aa059 Update bit exactness tests to match changes
Follow up for https://webrtc-review.googlesource.com/c/src/+/227773 , updating M1 checksums that were not updated in the previous CL.

Example M1 failed run: https://ci.chromium.org/ui/p/webrtc/builders/ci/MacARM64%20M1%20Release/401/overview

Bug: webrtc:13053
Change-Id: I111d1d3c4bf5828ee499f20799b527ca916d77e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228247
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34697}
2021-08-10 12:19:13 +00:00
Artem Titov
cfea2182f8 Use backticks not vertical bars to denote variables in comments
Bug: webrtc:12338
Change-Id: I89c8b3a328d04203177522cbdfd9e606fd4bce4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228246
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34696}
2021-08-10 10:40:03 +00:00
Danil Chapovalov
5ce7d14f81 Delete legacy rtp header parser as no longer used
Bug: None
Change-Id: I3c532eee7f2d9e5295874dd538730625c8d423ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227086
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@google.com>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34676}
2021-08-09 12:14:52 +00:00
Artem Titov
ee96675eda Reland "Roll chromium_revision de0d050e64..42d795c24f (908789:908899)"
This is a reland of e369928e04

Original change's description:
> Roll chromium_revision de0d050e64..42d795c24f (908789:908899)
>
> Change log: de0d050e64..42d795c24f
> Full diff: de0d050e64..42d795c24f
>
> Changed dependencies
> * src/base: f14f1b7600..6551b66fbf
> * src/build: e360729c13..496f4dc82b
> * src/ios: 2965e1969a..fda9d90178
> * src/testing: 36299f559a..cb835b4820
> * src/third_party: e99cff4446..aec4ec11c2
> * src/third_party/androidx: 6YnvOFZqQbSfmq9Bknb9CSKuND84c-TqnEATwNlvhqwC..iS9uLbt1ks96lnB9FgzCbsDit0AaQS7PqWyWdVJ3mggC
> * src/third_party/depot_tools: 0a4dd4181a..cc487710bb
> * src/third_party/perfetto: 00e6f338d0..7d0822e5b1
> * src/tools: 5219d6859a..667c51bbca
> DEPS diff: de0d050e64..42d795c24f/DEPS
>
> Clang version changed llvmorg-13-init-15561-gf98ed74f:llvmorg-14-init-591-g7d9d926a
> Details: de0d050e64..42d795c24f/tools/clang/scripts/update.py
>
> BUG=None
>
> Change-Id: Ibc203c4808885594a4316d8ce0e0a82bacebe51b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227770
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34658}

Bug: None
Change-Id: Ibc843ef6e4e50d9d62b6b3550d5cde6eaebc02e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227773
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34662}
2021-08-06 13:51:07 +00:00
Artem Titov
d937f50e20 Revert "Roll chromium_revision de0d050e64..42d795c24f (908789:908899)"
This reverts commit e369928e04.

Reason for revert: Breaks downstream project

Original change's description:
> Roll chromium_revision de0d050e64..42d795c24f (908789:908899)
>
> Change log: de0d050e64..42d795c24f
> Full diff: de0d050e64..42d795c24f
>
> Changed dependencies
> * src/base: f14f1b7600..6551b66fbf
> * src/build: e360729c13..496f4dc82b
> * src/ios: 2965e1969a..fda9d90178
> * src/testing: 36299f559a..cb835b4820
> * src/third_party: e99cff4446..aec4ec11c2
> * src/third_party/androidx: 6YnvOFZqQbSfmq9Bknb9CSKuND84c-TqnEATwNlvhqwC..iS9uLbt1ks96lnB9FgzCbsDit0AaQS7PqWyWdVJ3mggC
> * src/third_party/depot_tools: 0a4dd4181a..cc487710bb
> * src/third_party/perfetto: 00e6f338d0..7d0822e5b1
> * src/tools: 5219d6859a..667c51bbca
> DEPS diff: de0d050e64..42d795c24f/DEPS
>
> Clang version changed llvmorg-13-init-15561-gf98ed74f:llvmorg-14-init-591-g7d9d926a
> Details: de0d050e64..42d795c24f/tools/clang/scripts/update.py
>
> BUG=None
>
> Change-Id: Ibc203c4808885594a4316d8ce0e0a82bacebe51b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227770
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34658}

TBR=mbonadei@webrtc.org,ivoc@webrtc.org,titovartem@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Id01cdb6a6344d7d08ee38fb152cb209a4705aa39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227772
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34659}
2021-08-06 11:07:58 +00:00
Artem Titov
e369928e04 Roll chromium_revision de0d050e64..42d795c24f (908789:908899)
Change log: de0d050e64..42d795c24f
Full diff: de0d050e64..42d795c24f

Changed dependencies
* src/base: f14f1b7600..6551b66fbf
* src/build: e360729c13..496f4dc82b
* src/ios: 2965e1969a..fda9d90178
* src/testing: 36299f559a..cb835b4820
* src/third_party: e99cff4446..aec4ec11c2
* src/third_party/androidx: 6YnvOFZqQbSfmq9Bknb9CSKuND84c-TqnEATwNlvhqwC..iS9uLbt1ks96lnB9FgzCbsDit0AaQS7PqWyWdVJ3mggC
* src/third_party/depot_tools: 0a4dd4181a..cc487710bb
* src/third_party/perfetto: 00e6f338d0..7d0822e5b1
* src/tools: 5219d6859a..667c51bbca
DEPS diff: de0d050e64..42d795c24f/DEPS

Clang version changed llvmorg-13-init-15561-gf98ed74f:llvmorg-14-init-591-g7d9d926a
Details: de0d050e64..42d795c24f/tools/clang/scripts/update.py

BUG=None

Change-Id: Ibc203c4808885594a4316d8ce0e0a82bacebe51b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227770
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34658}
2021-08-06 10:51:58 +00:00
Philipp Hancke
deac4dea4f red: copy audio level from main packet for recovery packet
fill the audio level of the recovery packets from the main packet.
While not exact, this should be close enough. Without this,
the audio level in getStats() will be filled but the audio level
in getSynchronizationSources() will be empty.

In chrome this is easy to test, the audio level graph on
  https://webrtc.github.io/samples/src/content/peerconnection/audio/
will be empty all the time prior to this fix.

BUG=webrtc:11640

Change-Id: Ia1e61fd1852445239021a76d08032120a92d83aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226840
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34635}
2021-08-03 14:26:02 +00:00
Artem Titov
d00ce747c7 Use backticks not vertical bars to denote variables in comments for /modules/audio_coding
Bug: webrtc:12338
Change-Id: I02613d9fca45d00e2477f334b7a0416e7912e26b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227037
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34621}
2021-08-02 10:45:40 +00:00
Peter Kasting
55ec1a43bb Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Change-Id: I1ef3c8fd1f8e2bbf980d5d5217257e919f4564c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226961
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34579}
2021-07-28 02:08:30 +00:00
Tony Herre
b0ed12099f Update links to point at main branch
As part of go/coil update code search links to not point to the
"master" branch.

Bug: chromium:1226942
Change-Id: I0ae9e84ecc660f789a69fe0b226f93bbc39a8a66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226081
Commit-Queue: Tony Herre <toprice@chromium.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34531}
2021-07-22 16:41:26 +00:00
Mirko Bonadei
190244bb59 Remove all #include <assert.h>/<cassert> and usage in Obj-C code.
This CL completes the removal of assert() and relative headers from
the codebase (excluded
//examples/objc/AppRTCMobile/third_party/SocketRocket which is in a
third_party sub-directory).

Bug: webrtc:6779
Change-Id: I93ed57168d2c0e011626873d66529488c5f484f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225546
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34528}
2021-07-22 14:00:26 +00:00
Minyue Li
28a2c63526 Adding packetsDiscarded to RTCReceivedRtpStreamStats.
Bug: webrtc:12532, webrtc:7065, webrtc:8199
Change-Id: I3ba62ec65e5660e98787f629aec3ee7a0889207a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225261
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34468}
2021-07-13 20:34:45 +00:00
Mirko Bonadei
25ab3228f3 Replace assert() with RTC_DCHECK().
CL partially auto-generated with:

git grep -l "\bassert(" | grep "\.[c|h]" | \
  xargs sed -i 's/\bassert(/RTC_DCHECK(/g'

And with:

git grep -l "RTC_DCHECK(false)" |  \
  xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/g'

With some manual changes to include "rtc_base/checks.h" where
needed.

A follow-up CL will remove assert() from Obj-C code as well
and remove the #include of <assert.h>.

The choice to replace with RTC_DCHECK is because assert()
is because RTC_DCHECK has similar behavior as assert()
based on NDEBUG.

This CL also contains manual changes to switch from
basic RTC_DCHECK to other (preferred) versions like
RTC_DCHECK_GT (and similar).

Bug: webrtc:6779
Change-Id: I00bed8886e03d685a2f42324e34aef2c9b7a63b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224846
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34442}
2021-07-09 07:49:43 +00:00
Mirko Bonadei
6d92fcd364 Roll chromium_revision ba5ff58b6c..94a136c73d (898571:898790)
This CL also includes updates to bit-exactness tests that started
to fail on linux_x86 after the update of clang that is part of
the Chromium Roll CL.

Change log: ba5ff58b6c..94a136c73d
Full diff: ba5ff58b6c..94a136c73d

Changed dependencies
* src/base: ecfc5939e4..da70c03d5c
* src/build: 6f773f2fd2..b11e004f56
* src/buildtools/linux64: git_revision:4d207c94eab41f09c9a8505eb47f3d2919e47943..git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062
* src/buildtools/mac: git_revision:4d207c94eab41f09c9a8505eb47f3d2919e47943..git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062
* src/buildtools/win: git_revision:4d207c94eab41f09c9a8505eb47f3d2919e47943..git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062
* src/ios: 837dc401ee..2d44844c9e
* src/testing: 537028df55..7ec8dcae8b
* src/third_party: ddfda49030..326e9a8fc7
* src/third_party/perfetto: f4ffdc1c0d..1f54e94bc3
* src/tools: b3f11721ed..0587b769f6
* src/tools/luci-go: git_revision:40f945205c8670537d14901c310374774f589254..git_revision:a5505c14c78e1a27562164fb55f7d2d8190a0a9b
* src/tools/luci-go: git_revision:40f945205c8670537d14901c310374774f589254..git_revision:a5505c14c78e1a27562164fb55f7d2d8190a0a9b
* src/tools/luci-go: git_revision:40f945205c8670537d14901c310374774f589254..git_revision:a5505c14c78e1a27562164fb55f7d2d8190a0a9b
DEPS diff: ba5ff58b6c..94a136c73d/DEPS

Clang version changed llvmorg-13-init-14086-ge1b8fde1:llvmorg-13-init-14563-gbcaf57ca
Details: ba5ff58b6c..94a136c73d/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=webrtc:12941

Change-Id: Ibbbb25952bc6f33f418fec37b189c0068d3a6928
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225141
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34423}
2021-07-06 17:04:38 +00:00
Niels Möller
6832ee25c0 Delete unneeded references to string_encode.h
Bug: webrtc:6424
Change-Id: Ia521bcdfa8b887447ca9ed6f9d89f3ddb0e1dd15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223665
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34400}
2021-07-01 09:35:23 +00:00
Christoffer Jansson
2ae4ed223a Fix the last checksum
This should be the last checksum CL for audio tests.

Bug: webrtc:12882
Change-Id: Ie7033434e920a2f923c521cca00d1c270c406370
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224086
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/master@{#34391}
2021-06-30 07:32:00 +00:00
Christoffer Jansson
46d002cb36 Add M1 Mac expected results for AudioDecoderIsacFixTest
Bug: webrtc:12882
Change-Id: I56c1fcdd85fab88924b9a9f53a1a20485633f840
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223660
Commit-Queue: Christoffer Jansson <jansson@google.com>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34389}
2021-06-30 07:03:52 +00:00