Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / voice_engine / transmit_mixer.h
index 58bc73d..cc61130 100644 (file)
@@ -17,6 +17,7 @@
 #include "webrtc/modules/interface/module_common_types.h"
 #include "webrtc/modules/utility/interface/file_player.h"
 #include "webrtc/modules/utility/interface/file_recorder.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/voice_engine/include/voe_base.h"
 #include "webrtc/voice_engine/level_indicator.h"
 #include "webrtc/voice_engine/monitor_module.h"
@@ -36,9 +37,7 @@ class MixedAudio;
 class Statistics;
 
 class TransmitMixer : public MonitorObserver,
-                      public FileCallback
-
-{
+                      public FileCallback {
 public:
     static int32_t Create(TransmitMixer*& mixer, uint32_t instanceId);
 
@@ -175,10 +174,10 @@ private:
     // sending codecs.
     void GetSendCodecInfo(int* max_sample_rate, int* max_channels);
 
-    int GenerateAudioFrame(const int16_t audioSamples[],
-                           int nSamples,
-                           int nChannels,
-                           int samplesPerSec);
+    void GenerateAudioFrame(const int16_t audioSamples[],
+                            int nSamples,
+                            int nChannels,
+                            int samplesPerSec);
     int32_t RecordAudioToFile(uint32_t mixingFrequency);
 
     int32_t MixOrReplaceAudioWithFile(
@@ -201,7 +200,7 @@ private:
     // owns
     MonitorModule _monitorModule;
     AudioFrame _audioFrame;
-    PushResampler resampler_;  // ADM sample rate -> mixing rate
+    PushResampler<int16_t> resampler_;  // ADM sample rate -> mixing rate
     FilePlayer* _filePlayerPtr;
     FileRecorder* _fileRecorderPtr;
     FileRecorder* _fileCallRecorderPtr;
@@ -232,6 +231,7 @@ private:
     int32_t _remainingMuteMicTimeMs;
     bool stereo_codec_;
     bool swap_stereo_channels_;
+    scoped_ptr<int16_t[]> mono_buffer_;
 };
 
 }  // namespace voe