Increase audio endpoint buffer size for input audio on Windows |
||||||
Issue descriptionWe should experiment with setting the endpoint buffer size to a larger value than today (we use the minimum) for Windows input audio. It has removed glitch problems in one case, and could possibly do that in other cases too. We must however ensure that additional latency isn't introduced. According to Windows documentation it shouldn't as long as we empty the buffer with the same frequency as before (i.e. device period). Note that also according to the documentation, using the minimum buffer size should not cause glitches as long as the buffer is emptied with an interval same as the duration of the buffer or shorter. So the fact that using a larger buffer size avoids a problem could be because the driver is not properly implemented, and we'd work around that by setting a larger buffer size. We need to add stats for device latency and glitches and use these to evaluate the experiment.
,
Apr 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9f40c76c1bbe3b540f2c35eed977879cfb5a2f82 commit 9f40c76c1bbe3b540f2c35eed977879cfb5a2f82 Author: Henrik Grunell <grunell@chromium.org> Date: Tue Apr 10 12:23:07 2018 Add delay and glitch stats for Windows audio capture. Bug: 826664 , 830624 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I08e1ee4237f4e221baca4a0adec7a8bff19c1fa6 Reviewed-on: https://chromium-review.googlesource.com/997740 Commit-Queue: Henrik Grunell <grunell@chromium.org> Reviewed-by: Jesse Doherty <jwd@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#549492} [modify] https://crrev.com/9f40c76c1bbe3b540f2c35eed977879cfb5a2f82/media/audio/win/audio_low_latency_input_win.cc [modify] https://crrev.com/9f40c76c1bbe3b540f2c35eed977879cfb5a2f82/media/audio/win/audio_low_latency_input_win.h [modify] https://crrev.com/9f40c76c1bbe3b540f2c35eed977879cfb5a2f82/tools/metrics/histograms/histograms.xml
,
Apr 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/67e56ef3d368fa606cc2eb978f9fad337590ada8 commit 67e56ef3d368fa606cc2eb978f9fad337590ada8 Author: Henrik Grunell <grunell@chromium.org> Date: Tue Apr 10 14:04:09 2018 Add IncreaseInputAudioBufferSize feature on Windows. Bug: 826664 , 830624 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I61b09bfbc5c71d0f8573da8d315475b32727f289 Reviewed-on: https://chromium-review.googlesource.com/1002851 Commit-Queue: Henrik Grunell <grunell@chromium.org> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#549516} [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/chrome/browser/about_flags.cc [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/chrome/browser/flag_descriptions.h [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/media/audio/audio_features.cc [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/media/audio/audio_features.h [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/media/audio/win/audio_low_latency_input_win.cc [modify] https://crrev.com/67e56ef3d368fa606cc2eb978f9fad337590ada8/tools/metrics/histograms/enums.xml
,
Apr 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07684bfaaa50e93b7703e13ee368c1d23ccfc790 commit 07684bfaaa50e93b7703e13ee368c1d23ccfc790 Author: Henrik Grunell <grunell@chromium.org> Date: Wed Apr 11 12:06:04 2018 Add stats for Windows input audio endpoint buffer size, device period, and stream latency. Bug: 826664 , 830624 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: Ice35b73f74d572a69815daeedf7a3971ed6493ff Reviewed-on: https://chromium-review.googlesource.com/1005256 Reviewed-by: Jesse Doherty <jwd@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#549864} [modify] https://crrev.com/07684bfaaa50e93b7703e13ee368c1d23ccfc790/media/audio/win/audio_low_latency_input_win.cc [modify] https://crrev.com/07684bfaaa50e93b7703e13ee368c1d23ccfc790/tools/metrics/histograms/histograms.xml
,
Apr 26 2018
Hi! I'd like to give a short feedback on that topic. I've tried the new feature with a client who was experiencing horrible drop outs with a RME audio interface throughout WebRTC sessions. The signal started ok and was destroyed after a certain amount of time. Like 2 to 12 minutes approximately. This new feature completely solved the issue without adding additional latency to the WebRTC connection. In the RME forum ( https://www.forum.rme-audio.de/viewtopic.php?id=26945 ), someone pointed me to a Windows 10 issue with memory management, causing random high processing times in real time applications. This might be the culprit and the increased audio endpoint buffer seems to be a good workaround. It would be great if this feature would quickly find it's way in the stable channel, at least as a flag... Keep up the good work!
,
May 8 2018
tim.proegler, thanks for the input and feedback!
,
Jun 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ea924bafc0382da7b9be6080bc989fcdf3518f2b commit ea924bafc0382da7b9be6080bc989fcdf3518f2b Author: Henrik Grunell <grunell@chromium.org> Date: Mon Jun 18 16:11:02 2018 Add field trial testing config for IncreaseInputAudioBufferSize study. This enables the feature with the same name. Bug: 830624, 826664 Change-Id: I156e197bc4a5f0a322747ad13def5ef361d3b173 Reviewed-on: https://chromium-review.googlesource.com/1014083 Commit-Queue: Henrik Grunell <grunell@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Cr-Commit-Position: refs/heads/master@{#568021} [modify] https://crrev.com/ea924bafc0382da7b9be6080bc989fcdf3518f2b/testing/variations/fieldtrial_testing_config.json
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4dcec19716a309c10846bfc3e166f509856894e6 commit 4dcec19716a309c10846bfc3e166f509856894e6 Author: Henrik Grunell <grunell@chromium.org> Date: Wed Jun 27 20:44:06 2018 Fix false positives in glitch stats for Windows input audio. Handle case when a piece of data is split up in several buffers, with same device position. Bug: 830624, 826664 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Ib9daba9277d62af9b8aa39ef2f4a15548c1275da Reviewed-on: https://chromium-review.googlesource.com/1116782 Reviewed-by: Max Morin <maxmorin@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#570892} [modify] https://crrev.com/4dcec19716a309c10846bfc3e166f509856894e6/media/audio/win/audio_low_latency_input_win.cc
,
Aug 22
,
Aug 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/83b8d0094804723c275b697ee7e0f974e6688414 commit 83b8d0094804723c275b697ee7e0f974e6688414 Author: Henrik Grunell <grunell@chromium.org> Date: Mon Aug 27 14:25:16 2018 Fix for Windows input audio glitch stats. Removes false positives. Bug: 830624, 826664 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I2be987f17cae4200146f565374c63dcb411345c2 Reviewed-on: https://chromium-review.googlesource.com/1188137 Reviewed-by: Max Morin <maxmorin@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#586254} [modify] https://crrev.com/83b8d0094804723c275b697ee7e0f974e6688414/media/audio/win/audio_low_latency_input_win.cc [modify] https://crrev.com/83b8d0094804723c275b697ee7e0f974e6688414/media/audio/win/audio_low_latency_input_win.h
,
Nov 26
,
Nov 26
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1060c5507dfc39f9739b731fe93542e784dd9dcf commit 1060c5507dfc39f9739b731fe93542e784dd9dcf Author: Henrik Grunell <grunell@chromium.org> Date: Mon Nov 26 18:04:36 2018 Enable IncreaseInputAudioBufferSize experiment by default. Bug: 830624, 826664 Change-Id: I28610bc94481ae2c3d843cbba1f2b61c9397cac5 Reviewed-on: https://chromium-review.googlesource.com/c/1350911 Reviewed-by: Oskar Sundbom <ossu@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#610885} [modify] https://crrev.com/1060c5507dfc39f9739b731fe93542e784dd9dcf/media/audio/audio_features.cc
,
Nov 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5ac4ddc9e73c8e6aa6d69ff4fa3136c99e59193f commit 5ac4ddc9e73c8e6aa6d69ff4fa3136c99e59193f Author: Henrik Grunell <grunell@chromium.org> Date: Tue Nov 27 13:16:20 2018 Owner and milestone for increase-input-audio-buffer-size flag. Change-Id: Ib142a395db29f8ed48c35b5f7c8ffc13cbce1fca Bug: 830624, 826664 No-Try: True Reviewed-on: https://chromium-review.googlesource.com/c/1346455 Commit-Queue: Henrik Grunell <grunell@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#611086} [modify] https://crrev.com/5ac4ddc9e73c8e6aa6d69ff4fa3136c99e59193f/chrome/browser/flag-metadata.json
,
Dec 12
This fix is 100 % enabled in all channels as of Nov 28.
,
Dec 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a368ec9afbaa425af319ad15b7f239f5931643a commit 7a368ec9afbaa425af319ad15b7f239f5931643a Author: Henrik Grunell <grunell@chromium.org> Date: Wed Dec 12 12:39:03 2018 Remove feature and experiment code for IncreaseInputAudioBufferSize experiment. Bug: 826664 , 830624 Change-Id: I55a214693cd2af11467a198ee85b926f822225f9 Reviewed-on: https://chromium-review.googlesource.com/c/1371429 Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> Reviewed-by: Olga Sharonova <olka@chromium.org> Reviewed-by: Brian White <bcwhite@chromium.org> Commit-Queue: Henrik Grunell <grunell@chromium.org> Cr-Commit-Position: refs/heads/master@{#615864} [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/chrome/browser/about_flags.cc [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/chrome/browser/flag-metadata.json [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/chrome/browser/flag_descriptions.h [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/media/audio/audio_features.cc [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/media/audio/audio_features.h [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/media/audio/win/audio_low_latency_input_win.cc [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/testing/variations/fieldtrial_testing_config.json [modify] https://crrev.com/7a368ec9afbaa425af319ad15b7f239f5931643a/tools/metrics/histograms/histograms.xml
,
Dec 14
,
Dec 14
,
Jan 8
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by grunell@chromium.org
, Apr 9 2018