blob: e70728843aaa4bbdc48b2360a194fe03b7649b54 [file] [log] [blame]
saza6787f232019-10-11 19:31:07 +02001/*
2 * Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include "modules/audio_processing/level_estimator.h"
12
13#include "api/array_view.h"
14
15namespace webrtc {
16
17LevelEstimator::LevelEstimator() {
18 rms_.Reset();
19}
20
21LevelEstimator::~LevelEstimator() = default;
22
23void LevelEstimator::ProcessStream(const AudioBuffer& audio) {
24 for (size_t i = 0; i < audio.num_channels(); i++) {
25 rms_.Analyze(rtc::ArrayView<const float>(audio.channels_const()[i],
26 audio.num_frames()));
27 }
28}
29} // namespace webrtc