Index: content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc |
diff --git a/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc b/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc |
index 56729197f1b18a1db5ba95a4d77ee8214fed3324..b1bde99a258b9555502a34a02c61353d58937be6 100644 |
--- a/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc |
+++ b/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.cc |
@@ -5,8 +5,10 @@ |
#include "content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h" |
#include "base/logging.h" |
+#include "content/renderer/media/media_stream_audio_processor.h" |
#include "content/renderer/media/webrtc/webrtc_audio_sink_adapter.h" |
#include "content/renderer/media/webrtc_local_audio_track.h" |
+#include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" |
namespace content { |
@@ -27,7 +29,8 @@ WebRtcLocalAudioTrackAdapter::WebRtcLocalAudioTrackAdapter( |
webrtc::AudioSourceInterface* track_source) |
: webrtc::MediaStreamTrack<webrtc::AudioTrackInterface>(label), |
owner_(NULL), |
- track_source_(track_source) { |
+ track_source_(track_source), |
+ signal_level_(0) { |
} |
WebRtcLocalAudioTrackAdapter::~WebRtcLocalAudioTrackAdapter() { |
@@ -39,6 +42,12 @@ void WebRtcLocalAudioTrackAdapter::Initialize(WebRtcLocalAudioTrack* owner) { |
owner_ = owner; |
} |
+void WebRtcLocalAudioTrackAdapter::SetAudioProcessor( |
+ const scoped_refptr<MediaStreamAudioProcessor>& processor) { |
+ base::AutoLock auto_lock(lock_); |
+ audio_processor_ = processor; |
+} |
+ |
std::string WebRtcLocalAudioTrackAdapter::kind() const { |
return kAudioTrackKind; |
} |
@@ -75,13 +84,26 @@ void WebRtcLocalAudioTrackAdapter::RemoveSink( |
} |
} |
+bool WebRtcLocalAudioTrackAdapter::GetSignalLevel(int* level) { |
+ base::AutoLock auto_lock(lock_); |
+ *level = signal_level_; |
+ return true; |
+} |
+ |
+talk_base::scoped_refptr<webrtc::AudioProcessorInterface> |
+WebRtcLocalAudioTrackAdapter::GetAudioProcessor() { |
+ base::AutoLock auto_lock(lock_); |
+ return audio_processor_.get(); |
+} |
+ |
std::vector<int> WebRtcLocalAudioTrackAdapter::VoeChannels() const { |
base::AutoLock auto_lock(lock_); |
return voe_channels_; |
} |
void WebRtcLocalAudioTrackAdapter::SetSignalLevel(int signal_level) { |
- // TODO(xians): Implements this. |
+ base::AutoLock auto_lock(lock_); |
+ signal_level_ = signal_level; |
} |
void WebRtcLocalAudioTrackAdapter::AddChannel(int channel_id) { |