Chrome-wide echo cancellation: Allow all sample rates, add parameter for disabling [chromium/src : main]

564 views
Skip to first unread message

Sam Zackrisson (Gerrit)

unread,
Jul 4, 2022, 11:50:32 AM7/4/22
to Olga Sharonova, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org

Attention is currently required from: Olga Sharonova.

Sam Zackrisson would like Olga Sharonova to review this change.

View Change

Chrome-wide echo cancellation: Allow all sample rates, add parameter for disabling

This CL allows sample rates not divisible by 100 when audio processing runs in the audio service. An experiment parameter is added to disable this behavior.

Bug: chromium:1332484
Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
---
M chrome/browser/media/webrtc/webrtc_text_log_handler.cc
M content/browser/media/media_internals.cc
M media/base/media_switches.cc
M media/base/media_switches.h
M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc
M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio_test.cc
6 files changed, 69 insertions(+), 19 deletions(-)


To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 1
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Olga Sharonova <ol...@chromium.org>
Gerrit-MessageType: newchange

Sam Zackrisson (Gerrit)

unread,
Jul 4, 2022, 11:50:38 AM7/4/22
to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Olga Sharonova.

View Change

1 comment:

  • Patchset:

    • Patch Set #1:

      Hi Olga, here is the kill-switch we discussed. I haven't tested it manually / run trybots yet, but the unit tests are updated to verify the parameter when on/off.

To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 1
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Olga Sharonova <ol...@chromium.org>
Gerrit-Comment-Date: Mon, 04 Jul 2022 15:50:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Olga Sharonova (Gerrit)

unread,
Jul 4, 2022, 12:07:59 PM7/4/22
to Sam Zackrisson, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Sam Zackrisson.

View Change

2 comments:

  • File media/base/media_switches.cc:

    • Patch Set #1, Line 390: // audio processing. https://crbug.com/1332484

      We need to add something like:

      If disabled, only sample rates divisible by 100 are allowed; a request for a media stream with enabled audio processing will fail otherwise.

  • File third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc:

    • Patch Set #1, Line 1158: !media::kChromeWideEchoCancellationAllowAllSampleRates.Get() &&

      This won't compile if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) is false.

      Make a helper media::ProcessingForAllSampleRatesAllowed() to cover both conditions?

To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 1
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Sam Zackrisson <sa...@chromium.org>
Gerrit-Comment-Date: Mon, 04 Jul 2022 16:07:47 +0000

Sam Zackrisson (Gerrit)

unread,
Jul 6, 2022, 9:20:24 AM7/6/22
to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Olga Sharonova.

View Change

3 comments:

  • Patchset:

    • Patch Set #4:

      Hi! I addressed the comments.
      I am struggling a bit with manual testing results though: I can't get my 22050 Hz headphones to _fail_ media constraint resolution neither with this CL and "allow_all_sample_rates/false" nor on an official Canary build.

  • File media/base/media_switches.cc:

    • We need to add something like: […]

      Done

  • File third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc:

    • This won't compile if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) is false. […]

      Done!

To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 4
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Olga Sharonova <ol...@chromium.org>
Gerrit-Comment-Date: Wed, 06 Jul 2022 13:20:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Olga Sharonova <ol...@chromium.org>
Gerrit-MessageType: comment

Olga Sharonova (Gerrit)

unread,
Jul 6, 2022, 9:36:26 AM7/6/22
to Sam Zackrisson, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Sam Zackrisson.

Patch set 4:Code-Review +1

View Change

1 comment:

To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 4
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Sam Zackrisson <sa...@chromium.org>
Gerrit-Comment-Date: Wed, 06 Jul 2022 13:36:18 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment

Sam Zackrisson (Gerrit)

unread,
Jul 6, 2022, 9:47:46 AM7/6/22
to Thomas Guilbert, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Olga Sharonova

Attention is currently required from: Thomas Guilbert.

Sam Zackrisson would like Thomas Guilbert to review this change.

View Change

Chrome-wide echo cancellation: Allow all sample rates, add parameter for disabling

This CL allows sample rates not divisible by 100 when audio processing runs in the audio service. An experiment parameter is added to disable this behavior.

Bug: chromium:1332484
Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
---
M chrome/browser/media/webrtc/webrtc_text_log_handler.cc
M content/browser/media/media_internals.cc
M media/base/media_switches.cc
M media/base/media_switches.h
M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc
M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio_test.cc
6 files changed, 88 insertions(+), 23 deletions(-)


To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 4
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
Gerrit-MessageType: newchange

Sam Zackrisson (Gerrit)

unread,
Jul 6, 2022, 9:47:52 AM7/6/22
to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Thomas Guilbert.

View Change

1 comment:

  • Patchset:

    • Patch Set #4:

      Hi Thomas! PTAL as owner of media/base/ and chrome/browser/media/webrtc/

To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
Gerrit-Change-Number: 3743770
Gerrit-PatchSet: 4
Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
Gerrit-Comment-Date: Wed, 06 Jul 2022 13:47:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment

Sam Zackrisson (Gerrit)

unread,
Jul 6, 2022, 11:20:55 AM7/6/22
to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

Attention is currently required from: Thomas Guilbert.

Patch set 4:Auto-Submit +1

View Change

    To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
    Gerrit-Change-Number: 3743770
    Gerrit-PatchSet: 4
    Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
    Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
    Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
    Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
    Gerrit-Attention: Thomas Guilbert <tgui...@chromium.org>
    Gerrit-Comment-Date: Wed, 06 Jul 2022 15:20:43 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Thomas Guilbert (Gerrit)

    unread,
    Jul 6, 2022, 2:15:48 PM7/6/22
    to Sam Zackrisson, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

    Attention is currently required from: Sam Zackrisson.

    Patch set 4:Code-Review +1

    View Change

      To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
      Gerrit-Change-Number: 3743770
      Gerrit-PatchSet: 4
      Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
      Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
      Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
      Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
      Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
      Gerrit-Attention: Sam Zackrisson <sa...@chromium.org>
      Gerrit-Comment-Date: Wed, 06 Jul 2022 18:15:37 +0000

      Sam Zackrisson (Gerrit)

      unread,
      Jul 7, 2022, 11:32:07 AM7/7/22
      to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org

      Attention is currently required from: Sam Zackrisson.

      Sam Zackrisson uploaded patch set #5 to this change.

      View Change

      Chrome-wide echo cancellation: Allow all sample rates, add parameter for disabling

      This CL allows sample rates not divisible by 100 when audio processing runs in the audio service. An experiment parameter is added to disable this behavior.

      Tested: Locally on Windows with --enable-features toggling param on/off, + updated unit tests.

      Bug: chromium:1332484
      Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
      ---
      M chrome/browser/media/webrtc/webrtc_text_log_handler.cc
      M content/browser/media/media_internals.cc
      M media/base/media_switches.cc
      M media/base/media_switches.h
      M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc
      M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio_test.cc
      6 files changed, 89 insertions(+), 23 deletions(-)

      To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
      Gerrit-Change-Number: 3743770
      Gerrit-PatchSet: 5
      Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
      Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
      Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
      Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
      Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
      Gerrit-Attention: Sam Zackrisson <sa...@chromium.org>
      Gerrit-MessageType: newpatchset

      Sam Zackrisson (Gerrit)

      unread,
      Jul 7, 2022, 11:32:19 AM7/7/22
      to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

      Attention is currently required from: Sam Zackrisson.

      Patch set 5:Commit-Queue +2

      View Change

        To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
        Gerrit-Change-Number: 3743770
        Gerrit-PatchSet: 5
        Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
        Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
        Gerrit-Attention: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Comment-Date: Thu, 07 Jul 2022 15:32:05 +0000

        Sam Zackrisson (Gerrit)

        unread,
        Jul 7, 2022, 12:39:38 PM7/7/22
        to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik
        Gerrit-Comment-Date: Thu, 07 Jul 2022 16:39:27 +0000

        Sam Zackrisson (Gerrit)

        unread,
        Jul 7, 2022, 12:40:03 PM7/7/22
        to blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, Chromium LUCI CQ, chromium...@chromium.org, Rijubrata Bhaumik

        Patch set 5:Auto-Submit +1

        View Change

        1 comment:

        • Patchset:

          • Patch Set #4:

            Hi! I addressed the comments. […]

            ..I figured it out. It's all good. Thanks for the offline discussion!

        To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
        Gerrit-Change-Number: 3743770
        Gerrit-PatchSet: 5
        Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
        Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
        Gerrit-Comment-Date: Thu, 07 Jul 2022 16:39:53 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Sam Zackrisson <sa...@chromium.org>
        Gerrit-MessageType: comment

        Chromium LUCI CQ (Gerrit)

        unread,
        Jul 7, 2022, 2:42:38 PM7/7/22
        to Sam Zackrisson, blink-...@chromium.org, chfreme...@chromium.org, feature-me...@chromium.org, tommyw+w...@chromium.org, Thomas Guilbert, Olga Sharonova, chromium...@chromium.org, Rijubrata Bhaumik

        Chromium LUCI CQ submitted this change.

        View Change



        4 is the latest approved patch-set.
        No files were changed between the latest approved patch-set and the submitted one.

        Approvals: Sam Zackrisson: Send CL to CQ automatically after approval; Commit Olga Sharonova: Looks good to me Thomas Guilbert: Looks good to me
        Chrome-wide echo cancellation: Allow all sample rates, add parameter for disabling

        This CL allows sample rates not divisible by 100 when audio processing runs in the audio service. An experiment parameter is added to disable this behavior.

        Tested: Locally on Windows with --enable-features toggling param on/off, + updated unit tests.
        Bug: chromium:1332484
        Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
        Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3743770
        Reviewed-by: Thomas Guilbert <tgui...@chromium.org>
        Commit-Queue: Sam Zackrisson <sa...@chromium.org>
        Auto-Submit: Sam Zackrisson <sa...@chromium.org>
        Reviewed-by: Olga Sharonova <ol...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#1021781}

        ---
        M chrome/browser/media/webrtc/webrtc_text_log_handler.cc
        M content/browser/media/media_internals.cc
        M media/base/media_switches.cc
        M media/base/media_switches.h
        M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio.cc
        M third_party/blink/renderer/modules/mediastream/media_stream_constraints_util_audio_test.cc
        6 files changed, 95 insertions(+), 23 deletions(-)


        To view, visit change 3743770. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ia91832625e63df081e6ce3206f0c8718fdb35b6a
        Gerrit-Change-Number: 3743770
        Gerrit-PatchSet: 6
        Gerrit-Owner: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: Olga Sharonova <ol...@chromium.org>
        Gerrit-Reviewer: Sam Zackrisson <sa...@chromium.org>
        Gerrit-Reviewer: Thomas Guilbert <tgui...@chromium.org>
        Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
        Gerrit-MessageType: merged
        Reply all
        Reply to author
        Forward
        0 new messages