summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc b/chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc
index 2dc8395143d..ce19fe6675c 100644
--- a/chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc
+++ b/chromium/third_party/blink/renderer/modules/webaudio/convolver_node.cc
@@ -31,6 +31,7 @@
#include "third_party/blink/renderer/modules/webaudio/convolver_options.h"
#include "third_party/blink/renderer/platform/audio/reverb.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/instrumentation/histogram.h"
// Note about empirical tuning:
// The maximum FFT size affects reverb performance and accuracy.
@@ -136,6 +137,12 @@ void ConvolverHandler::SetBuffer(AudioBuffer* buffer,
return;
}
+ {
+ // Get some statistics on the size of the impulse response.
+ UMA_HISTOGRAM_LONG_TIMES("WebAudio.ConvolverNode.ImpulseResponseLength",
+ base::TimeDelta::FromSecondsD(buffer->duration()));
+ }
+
// Wrap the AudioBuffer by an AudioBus. It's an efficient pointer set and not
// a memcpy(). This memory is simply used in the Reverb constructor and no
// reference to it is kept for later use in that class.