Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1222)

Unified Diff: webrtc/voice_engine/level_indicator.cc

Issue 2731993002: Update formatting of AudioLevel class (Closed)
Patch Set: Change file names Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698