This CL adds a fuzzer for the audio processing module that exercises the handling of all user input sample rates logged by the UMA histogram WebAudio.AudioContext.HardwareSampleRate.
The fuzzer inherits a lot of structure from the audio_processing_configs_fuzzer, but is greatly simplified and therefore the only shared code is test::FuzzDataHelper.
Tested: Modified the build to explicitly trigger resampling issue and verified it exercises the code, then let an unmodified fuzzer run locally over the weekend without finding issues.
Bug: webrtc:14263
Change-Id: Id3f19adee53c8842e92b6bf31cd2f360e19244d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268192
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37540}
This reverts commit d0a6fd239cef0d9fd5fdd5a41df389a696bff017.
Reason for revert: reland the bug fix
Original change's description:
> Revert "`AgcManagerDirect`: stop enforcing min mic level override with 0 level"
>
> This reverts commit e76daab8b36f8c2a16d59a116425a3a2f98022f6.
>
> Reason for revert: revert required to revert the parent CL
>
> Original change's description:
> > `AgcManagerDirect`: stop enforcing min mic level override with 0 level
> >
> > https://webrtc-review.googlesource.com/c/src/+/250141 introduced a bug
> > due to which the min mic level override is always enforced, if specified
> > even if the user manually adjusts the mic level to zero.
> >
> > This CL fixes that bug, the changes run behind a kill switch.
> >
> > TESTED=Test video call on Chromium on Mac; input volume not adjusted after zeroing it from the system preferences UI
> >
> > Bug: chromium:1275566
> > Change-Id: I18ce2e5970d3002b301f51f84544583c64982d57
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267844
> > Reviewed-by: Hanna Silen <silen@webrtc.org>
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37460}
>
> Bug: chromium:1275566
> Change-Id: I6d22d8f3fafdc7da3814827b9b69146a506595db
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268468
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37515}
Bug: chromium:1275566
Change-Id: I7198587dec2a153270e8beb714e9dacccdaae806
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268544
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37530}
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}
The VideoDecoderFactoryTemplate takes decoder implementations as template arguments, making it possible to easily implement a VideoDecoderFactory only using the implementations required for the particular application. This will replace the BuiltinVideoDecoderFactory.
Bug: webrtc:13573
Change-Id: I0213acd20b69dacf06fc6934851b73bd19b1afc8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268470
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37523}
This reverts commit c9cad23274a837b135db98c6ce96f85bbbc81604.
Reason for revert: add back field trial
Original change's description:
> Min mic analog level: override minimum and behavior on Mac
>
> This CL removes the `WebRTC-Audio-AgcMinMicLevelExperiment` field trial
> and always enables the code path behind that flag on Mac. In summary,
> the analog AGC behaves as follows on Mac:
> 1. the minimum level is overridden to 20
> 2. the minimum is applied even when clipping is detected
> 3. when the level is manually adjusted to 0, the minimum level is
> enforced - i.e., 20
>
> Note that the 3rd property had been unintentionally added when the
> changes were added behind the aforementioned field trial. This will
> be fixed in a follow-up CL.
>
> Bug: chromium:1275566
> Change-Id: If184c4455a0780fcd94f55141af34460c152e3c3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266488
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Hanna Silen <silen@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37459}
Bug: chromium:1275566
Change-Id: I00a37ad9e16efc49f721558d25af16efd5f3db8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268540
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37521}
This reverts commit e76daab8b36f8c2a16d59a116425a3a2f98022f6.
Reason for revert: revert required to revert the parent CL
Original change's description:
> `AgcManagerDirect`: stop enforcing min mic level override with 0 level
>
> https://webrtc-review.googlesource.com/c/src/+/250141 introduced a bug
> due to which the min mic level override is always enforced, if specified
> even if the user manually adjusts the mic level to zero.
>
> This CL fixes that bug, the changes run behind a kill switch.
>
> TESTED=Test video call on Chromium on Mac; input volume not adjusted after zeroing it from the system preferences UI
>
> Bug: chromium:1275566
> Change-Id: I18ce2e5970d3002b301f51f84544583c64982d57
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267844
> Reviewed-by: Hanna Silen <silen@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37460}
Bug: chromium:1275566
Change-Id: I6d22d8f3fafdc7da3814827b9b69146a506595db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268468
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37515}
There is a AV where GDI capturer sends empty frame to the
blank detector. It is fine operation from the GDI capturer
to pass an empty to the next handler. So, blank capturer
filter it and send it as blank frame to next handler.
Bug: webrtc:14265
Change-Id: Ifc90a210703e14fa6d0dc7fb2ae2942ae4e8125f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268444
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37513}
Since https://webrtc-review.googlesource.com/c/src/+/267780 supported scalability modes are also used to compare for equality between SdpVideoFormats(?).
Bug: webrtc:14267, webrtc:13573
Change-Id: I2f3c2fca93bac6fadd222f776f672c9bd3f1de0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268304
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37510}
to allow for downstream users to upgrade.
BUG=chromium:1338902
Change-Id: Ie1205ad2c9c1be3f4ed8e133b1a5e54afd04ebd9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268193
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37501}
This reverts commit 791294a647bfba8ebd26821a78020a2bb2f82b9b.
Reason for revert: downstream test adjusted
Original change's description:
> Revert "Fix overflow due to rounding in AbsoluteSendTime::To24Bits"
>
> This reverts commit a17651f7d8748905d902eedf34471a0c227ca789.
>
> Reason for revert: triggers failure in downstream test
>
> Original change's description:
> > Fix overflow due to rounding in AbsoluteSendTime::To24Bits
> >
> > Actual rounding is not important for this time as long it is consistent
> > during the call: only difference between two absolute send time matter
> > Rounding down avoids producing 1 < 24 when value is close to the wrap around boundary.
> >
> > Bug: None
> > Change-Id: Ibbf5bae21bc37eccdc5d4c130a59796ee5108017
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268001
> > Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> > Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#37468}
>
> Bug: None
> Change-Id: I90a9c1b174b918b7ede58c3bbdb879b1b67da7b2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268120
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#37473}
Bug: None
Change-Id: I99bcc6c6b7c08cd9621bdce336cd5793f78ee657
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268190
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37498}
cricket::Interpolate Interpolate is constexpr and therefore requires
UnitBase::operator* to be constexpr too. For consistency mark UnitBase::operator/ constexpr as well.
Bug: chromium:819294
Change-Id: I6f1bf812a452de3307b0720a00b85a127631992e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268186
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37495}