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

Unified Diff: content/renderer/media/webrtc_local_audio_track.h

Issue 675013005: Split libjingle's signaling thread from the UI thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update tests, remove circular dependency Created 6 years, 1 month 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_local_audio_track.h
diff --git a/content/renderer/media/webrtc_local_audio_track.h b/content/renderer/media/webrtc_local_audio_track.h
index bbdc7f05faac4e4d283b52883ccdfaadc1633e70..fa8b05995bbdd08e054289560e55a89860b7b285 100644
--- a/content/renderer/media/webrtc_local_audio_track.h
+++ b/content/renderer/media/webrtc_local_audio_track.h
@@ -60,10 +60,16 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
// should be called only once when audio track is created.
void Start();
+ // Overrides for MediaStreamTrack.
+
+ void SetEnabled(bool enabled) override;
+
// Stops the local audio track. Called on the main render thread and
// should be called only once when audio track going away.
void Stop() override;
+ webrtc::AudioTrackInterface* GetAudioAdapter() override;
+
// Method called by the capturer to deliver the capture data.
// Called on the capture audio thread.
void Capture(const int16* audio_data,
@@ -88,8 +94,8 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
typedef TaggedList<MediaStreamAudioTrackSink> SinkList;
// All usage of libjingle is through this adapter. The adapter holds
- // a reference on this object, but not vice versa.
- WebRtcLocalAudioTrackAdapter* adapter_;
+ // a pointer to this object, but no reference.
+ const scoped_refptr<WebRtcLocalAudioTrackAdapter> adapter_;
// The provider of captured data to render.
scoped_refptr<WebRtcAudioCapturer> capturer_;
@@ -105,6 +111,8 @@ class CONTENT_EXPORT WebRtcLocalAudioTrack
// Used to DCHECK that some methods are called on the main render thread.
base::ThreadChecker main_render_thread_checker_;
+ // Tests that methods are called on libjingle's signaling thread.
+ base::ThreadChecker signal_thread_checker_;
// Used to DCHECK that some methods are called on the capture audio thread.
base::ThreadChecker capture_thread_checker_;
« no previous file with comments | « content/renderer/media/webrtc_audio_device_impl.cc ('k') | content/renderer/media/webrtc_local_audio_track.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698