Index: webrtc/voice_engine/level_indicator.cc |
diff --git a/webrtc/voice_engine/level_indicator.cc b/webrtc/voice_engine/level_indicator.cc |
deleted file mode 100644 |
index 92fc8efe4c37ceafc5e12f045829c467c8d730d9..0000000000000000000000000000000000000000 |
--- a/webrtc/voice_engine/level_indicator.cc |
+++ /dev/null |
@@ -1,101 +0,0 @@ |
-/* |
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" |
-#include "webrtc/modules/include/module_common_types.h" |
-#include "webrtc/voice_engine/level_indicator.h" |
- |
-namespace webrtc { |
- |
-namespace voe { |
- |
-// Number of bars on the indicator. |
-// Note that the number of elements is specified because we are indexing it |
-// in the range of 0-32 |
-const int8_t permutation[33] = |
- {0,1,2,3,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9}; |
- |
- |
-AudioLevel::AudioLevel() : |
- _absMax(0), |
- _count(0), |
- _currentLevel(0), |
- _currentLevelFullRange(0) { |
- WebRtcSpl_Init(); |
-} |
- |
-AudioLevel::~AudioLevel() { |
-} |
- |
-void AudioLevel::Clear() |
-{ |
- rtc::CritScope cs(&_critSect); |
- _absMax = 0; |
- _count = 0; |
- _currentLevel = 0; |
- _currentLevelFullRange = 0; |
-} |
- |
-void AudioLevel::ComputeLevel(const AudioFrame& audioFrame) |
-{ |
- int16_t absValue(0); |
- |
- // Check speech level (works for 2 channels as well) |
- absValue = WebRtcSpl_MaxAbsValueW16( |
- audioFrame.data_, |
- audioFrame.samples_per_channel_*audioFrame.num_channels_); |
- |
- // Protect member access using a lock since this method is called on a |
- // dedicated audio thread in the RecordedDataIsAvailable() callback. |
- rtc::CritScope cs(&_critSect); |
- |
- if (absValue > _absMax) |
- _absMax = absValue; |
- |
- // Update level approximately 10 times per second |
- if (_count++ == kUpdateFrequency) |
- { |
- _currentLevelFullRange = _absMax; |
- |
- _count = 0; |
- |
- // Highest value for a int16_t is 0x7fff = 32767 |
- // Divide with 1000 to get in the range of 0-32 which is the range of |
- // the permutation vector |
- int32_t position = _absMax/1000; |
- |
- // Make it less likely that the bar stays at position 0. I.e. only if |
- // its in the range 0-250 (instead of 0-1000) |
- if ((position == 0) && (_absMax > 250)) |
- { |
- position = 1; |
- } |
- _currentLevel = permutation[position]; |
- |
- // Decay the absolute maximum (divide by 4) |
- _absMax >>= 2; |
- } |
-} |
- |
-int8_t AudioLevel::Level() const |
-{ |
- rtc::CritScope cs(&_critSect); |
- return _currentLevel; |
-} |
- |
-int16_t AudioLevel::LevelFullRange() const |
-{ |
- rtc::CritScope cs(&_critSect); |
- return _currentLevelFullRange; |
-} |
- |
-} // namespace voe |
- |
-} // namespace webrtc |