Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / renderer / media / media_stream_audio_processor.h
index 3c44f80..a905b3f 100644 (file)
@@ -35,6 +35,7 @@ class TypingDetection;
 
 namespace content {
 
+class EchoInformation;
 class MediaStreamAudioBus;
 class MediaStreamAudioFifo;
 class RTCMediaConstraints;
@@ -107,14 +108,12 @@ class CONTENT_EXPORT MediaStreamAudioProcessor :
 
   // AecDumpMessageFilter::AecDumpDelegate implementation.
   // Called on the main render thread.
-  virtual void OnAecDumpFile(
-      const IPC::PlatformFileForTransit& file_handle) OVERRIDE;
-  virtual void OnDisableAecDump() OVERRIDE;
-  virtual void OnIpcClosing() OVERRIDE;
+  void OnAecDumpFile(const IPC::PlatformFileForTransit& file_handle) override;
+  void OnDisableAecDump() override;
+  void OnIpcClosing() override;
 
  protected:
-  friend class base::RefCountedThreadSafe<MediaStreamAudioProcessor>;
-  virtual ~MediaStreamAudioProcessor();
+  ~MediaStreamAudioProcessor() override;
 
  private:
   friend class MediaStreamAudioProcessorTest;
@@ -122,14 +121,14 @@ class CONTENT_EXPORT MediaStreamAudioProcessor :
                            GetAecDumpMessageFilter);
 
   // WebRtcPlayoutDataSource::Sink implementation.
-  virtual void OnPlayoutData(media::AudioBus* audio_bus,
-                             int sample_rate,
-                             int audio_delay_milliseconds) OVERRIDE;
-  virtual void OnPlayoutDataSourceChanged() OVERRIDE;
+  void OnPlayoutData(media::AudioBus* audio_bus,
+                     int sample_rate,
+                     int audio_delay_milliseconds) override;
+  void OnPlayoutDataSourceChanged() override;
 
   // webrtc::AudioProcessorInterface implementation.
   // This method is called on the libjingle thread.
-  virtual void GetStats(AudioProcessorStats* stats) OVERRIDE;
+  void GetStats(AudioProcessorStats* stats) override;
 
   // Helper to initialize the WebRtc AudioProcessing.
   void InitializeAudioProcessingModule(
@@ -203,6 +202,12 @@ class CONTENT_EXPORT MediaStreamAudioProcessor :
 
   // Flag to avoid executing Stop() more than once.
   bool stopped_;
+
+  // Object for logging echo information when the AEC is enabled. Accessible by
+  // the libjingle thread through GetStats().
+  scoped_ptr<EchoInformation> echo_information_;
+
+  DISALLOW_COPY_AND_ASSIGN(MediaStreamAudioProcessor);
 };
 
 }  // namespace content