Index: content/renderer/media/webrtc_local_audio_track.cc |
diff --git a/content/renderer/media/webrtc_local_audio_track.cc b/content/renderer/media/webrtc_local_audio_track.cc |
index 99ada98099fa3163d58fbf46ed0185fe838b8f39..cd610550b51927bab88b8a634656c6953a440821 100644 |
--- a/content/renderer/media/webrtc_local_audio_track.cc |
+++ b/content/renderer/media/webrtc_local_audio_track.cc |
@@ -25,6 +25,7 @@ WebRtcLocalAudioTrack::WebRtcLocalAudioTrack( |
capturer_(capturer), |
webaudio_source_(webaudio_source) { |
DCHECK(capturer.get() || webaudio_source); |
+ signal_thread_checker_.DetachFromThread(); |
adapter_->Initialize(this); |
@@ -122,7 +123,11 @@ void WebRtcLocalAudioTrack::SetAudioProcessor( |
} |
void WebRtcLocalAudioTrack::AddSink(MediaStreamAudioSink* sink) { |
- DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
+ // This method is called from webrtc, on the signaling thread, when the local |
+ // description is set and from the main thread from WebMediaPlayerMS::load |
+ // (via WebRtcLocalAudioRenderer::Start). |
+ DCHECK(main_render_thread_checker_.CalledOnValidThread() || |
+ signal_thread_checker_.CalledOnValidThread()); |
DVLOG(1) << "WebRtcLocalAudioTrack::AddSink()"; |
base::AutoLock auto_lock(lock_); |