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

Unified Diff: content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h

Issue 1721273002: MediaStream audio object graph untangling and clean-ups. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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: content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h
diff --git a/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h b/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h
index cfe4a98ef9d291d96e0746833ecd3edcf2dab27e..36f5bda0cf9d5ddac8aed8295711b7541becc5a4 100644
--- a/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h
+++ b/content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h
@@ -13,6 +13,7 @@
#include "base/synchronization/lock.h"
#include "base/threading/thread_checker.h"
#include "content/common/content_export.h"
+#include "content/renderer/media/media_stream_audio_level_calculator.h"
#include "third_party/webrtc/api/mediastreamtrack.h"
#include "third_party/webrtc/media/base/audiorenderer.h"
@@ -31,6 +32,10 @@ class MediaStreamAudioProcessor;
class WebRtcAudioSinkAdapter;
class WebRtcLocalAudioTrack;
+// Provides an implementation of the webrtc::AudioTrackInterface that can be
+// bound/unbound to/from a MediaStreamAudioTrack. In other words, this is an
+// adapter that sits between the media stream object graph and WebRtc's object
+// graph and proxies between the two.
class CONTENT_EXPORT WebRtcLocalAudioTrackAdapter
: NON_EXPORTED_BASE(
public webrtc::MediaStreamTrack<webrtc::AudioTrackInterface>) {
@@ -48,9 +53,9 @@ class CONTENT_EXPORT WebRtcLocalAudioTrackAdapter
void Initialize(WebRtcLocalAudioTrack* owner);
- // Called on the audio thread by the WebRtcLocalAudioTrack to set the signal
- // level of the audio data.
- void SetSignalLevel(int signal_level);
+ // Set the object that provides shared access to the current audio signal
+ // level.
+ void SetLevel(scoped_refptr<MediaStreamAudioLevelCalculator::Level> level);
// Method called by the WebRtcLocalAudioTrack to set the processor that
// applies signal processing on the data of the track.
@@ -93,8 +98,8 @@ class CONTENT_EXPORT WebRtcLocalAudioTrackAdapter
// from the audio track.
ScopedVector<WebRtcAudioSinkAdapter> sink_adapters_;
- // The amplitude of the signal.
- int signal_level_;
+ // Thread-safe accessor to current audio signal level.
mcasas 2016/02/26 01:28:19 If this is thread-safe, we don't need to protect i
miu 2016/02/27 03:46:36 Done. Actually, that's an interesting point. If
+ scoped_refptr<MediaStreamAudioLevelCalculator::Level> level_;
// Thread checker for libjingle's signaling thread.
base::ThreadChecker signaling_thread_checker_;
mcasas 2016/02/26 01:28:19 We don't need |signaling_thread_checker_| is we ha
miu 2016/02/27 03:46:36 Done. Removed both since the latter is only used

Powered by Google App Engine
This is Rietveld 408576698