New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 850451 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

The AEC3 refined delay is inaccurate after a new delay estimator delay has been found

Project Member Reported by peah@chromium.org, Jun 7 2018

Issue description

In AEC3, the delay estimator selects a coarse alignment and then a refined alignment is chosen on top of that based on the linear filter. 

After a new delay has been detected by the delay estimator, the linear filter is reset, and in some cases that causes the refined delay to be wrongly estimated for a short while before the linear filter has re-converged.
 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 7 2018

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/05d8ee1b3e39eaf7d5d31e824ada9a1611415d48

commit 05d8ee1b3e39eaf7d5d31e824ada9a1611415d48
Author: Per Åhgren <peah@webrtc.org>
Date: Thu Jun 07 14:35:55 2018

AEC3: Delay stabilization after a delay change

This CL ensures that the linear-filter based refined delay is chosen to
match the delay that was detected by the delay estimator during the time
it takes for the linear filter to converge.

Bug:  webrtc:9371 , chromium:850451 
Change-Id: Ib9cf532df0577ceca10a260d9d2deba5306f88bb
Reviewed-on: https://webrtc-review.googlesource.com/81682
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23537}
[modify] https://crrev.com/05d8ee1b3e39eaf7d5d31e824ada9a1611415d48/modules/audio_processing/aec3/aec_state.cc
[modify] https://crrev.com/05d8ee1b3e39eaf7d5d31e824ada9a1611415d48/modules/audio_processing/aec3/aec_state.h

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3596e65961370cfb3618ee256d1b90dd636d09c1

commit 3596e65961370cfb3618ee256d1b90dd636d09c1
Author: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Jun 08 00:02:49 2018

Roll src/third_party/webrtc 81327d5..ed51a6e (12 commits)

https://webrtc.googlesource.com/src.git/+log/81327d5..ed51a6e


git log 81327d5..ed51a6e --date=short --no-merges --format='%ad %ae %s'
2018-06-07 gustaf@webrtc.org AEC3: Avoid static initializers
2018-06-07 peah@webrtc.org AEC3: Delay stabilization after a delay change
2018-06-07 peah@webrtc.org AEC3: Added filter preprocessing to avoid low frequency artefacts
2018-06-07 magjed@webrtc.org Android: Throw exception in CallSessionFileRotatingLogSink if dir is null
2018-06-07 gustaf@webrtc.org AEC3: Improved anti-aliasing filter for DSF 4
2018-06-07 mbonadei@webrtc.org Removing warning suppression flags from test/.
2018-06-07 mbonadei@webrtc.org Re-enabling SanitizerTest.MsanUninitialized.
2018-06-07 srte@webrtc.org Fixing issue where pacer budget increased in congestion.
2018-06-07 asapersson@webrtc.org Remove unused methods in VCMDecoderDataBase.
2018-06-07 nisse@webrtc.org Delete unused stats for preferred_bitrate.
2018-06-07 gustaf@webrtc.org AEC3: Move decimator filters to the new notation
2018-06-07 nisse@webrtc.org Delete RTP-specific values from the VideoCodecType enum.


Created with:
  gclient setdep -r src/third_party/webrtc@ed51a6e

The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng

BUG= chromium:846615 , chromium:850451 , chromium:848231 ,chromium:b/106732994,chromium:846615,chromium:none,chromium:846615,chromium:None
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: I5fa6c8ebdf457e84a74bc440a044f50ba4915e21
Reviewed-on: https://chromium-review.googlesource.com/1091287
Reviewed-by: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#565471}
[modify] https://crrev.com/3596e65961370cfb3618ee256d1b90dd636d09c1/DEPS

Comment 3 by peah@chromium.org, Jun 13 2018

Cc: hlundin@chromium.org
Labels: Merge-Request-68
We would like to merge this to M68. It has been tested in Canary and works well. 

The feature is only active beneath a Finch flag and can therefore be turned off if it would go wrong. Furthermore, a kill-switch was added that allows specifically turning off the added functionality.

The CL we would like to merge is:
-https://webrtc-review.googlesource.com/81682

Project Member

Comment 4 by sheriffbot@chromium.org, Jun 13 2018

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 5 by peah@chromium.org, Jun 14 2018

Labels: -Hotlist-Merge-Review -Merge-Review-68
After an offline analysis of a new recording, we decided to wait with the merge. 
I therefore remove the merge labels.

Comment 6 by peah@chromium.org, Jun 14 2018

Status: Fixed (was: Started)
Summary: The AEC3 refined delay is inaccurate after a new delay estimator delay has been found (was: The AEC3 refined delay is off after a new delay estimator delay has been found)
Labels: M-69

Sign in to add a comment