| Index: content/renderer/media/media_stream_audio_level_calculator.h | 
| diff --git a/content/renderer/media/media_stream_audio_level_calculator.h b/content/renderer/media/media_stream_audio_level_calculator.h | 
| index f093ab43251fe39b55f9898c0c9abbe0a62d3a0f..e7d25cc5d548add19f02afa9b35796f20e0ca7ca 100644 | 
| --- a/content/renderer/media/media_stream_audio_level_calculator.h | 
| +++ b/content/renderer/media/media_stream_audio_level_calculator.h | 
| @@ -5,9 +5,7 @@ | 
| #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_LEVEL_CALCULATOR_H_ | 
| #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_LEVEL_CALCULATOR_H_ | 
|  | 
| -#include "base/memory/ref_counted.h" | 
| -#include "base/synchronization/lock.h" | 
| -#include "content/common/content_export.h" | 
| +#include "base/threading/thread_checker.h" | 
|  | 
| namespace media { | 
| class AudioBus; | 
| @@ -15,49 +13,30 @@ | 
|  | 
| namespace content { | 
|  | 
| -// This class is used by the WebRtcAudioCapturer to calculate the level of the | 
| -// audio signal. And the audio level will be eventually used by the volume | 
| +// This class is used by the WebRtcLocalAudioTrack to calculate the level of | 
| +// the audio signal. And the audio level will be eventually used by the volume | 
| // animation UI. | 
| -// | 
| // The algorithm used by this class is the same as how it is done in | 
| // third_party/webrtc/voice_engine/level_indicator.cc. | 
| -class CONTENT_EXPORT MediaStreamAudioLevelCalculator { | 
| +class MediaStreamAudioLevelCalculator { | 
| public: | 
| -  // Provides thread-safe access to the current signal level.  This object is | 
| -  // intended to be passed to modules running on other threads that poll for the | 
| -  // current signal level. | 
| -  class Level : public base::RefCountedThreadSafe<Level> { | 
| -   public: | 
| -    float GetCurrent() const; | 
| - | 
| -   private: | 
| -    friend class MediaStreamAudioLevelCalculator; | 
| -    friend class base::RefCountedThreadSafe<Level>; | 
| - | 
| -    Level(); | 
| -    ~Level(); | 
| - | 
| -    void Set(float level); | 
| - | 
| -    mutable base::Lock lock_; | 
| -    float level_; | 
| -  }; | 
| - | 
| MediaStreamAudioLevelCalculator(); | 
| ~MediaStreamAudioLevelCalculator(); | 
|  | 
| -  const scoped_refptr<Level>& level() const { return level_; } | 
| - | 
| -  // Scans the audio signal in |audio_bus| and computes a new signal level | 
| -  // exposed by Level.  If |assume_nonzero_energy| is true, then a completely | 
| -  // zero'ed-out |audio_bus| will be accounted for as having a very faint, | 
| -  // non-zero level. | 
| -  void Calculate(const media::AudioBus& audio_bus, bool assume_nonzero_energy); | 
| +  // Calculates the signal level of the audio data, returning the absolute value | 
| +  // of the amplitude of the signal. | 
| +  float Calculate(const media::AudioBus& audio_bus); | 
|  | 
| private: | 
| +  // Used to DCHECK that the constructor and Calculate() are always called on | 
| +  // the same audio thread. Note that the destructor will be called on a | 
| +  // different thread, which can be either the main render thread or a new | 
| +  // audio thread where WebRtcLocalAudioTrack::OnSetFormat() is called. | 
| +  base::ThreadChecker thread_checker_; | 
| + | 
| int counter_; | 
| float max_amplitude_; | 
| -  const scoped_refptr<Level> level_; | 
| +  float level_; | 
| }; | 
|  | 
| }  // namespace content | 
|  |