| Index: content/renderer/media/webrtc_audio_renderer.cc
|
| diff --git a/content/renderer/media/webrtc_audio_renderer.cc b/content/renderer/media/webrtc_audio_renderer.cc
|
| index f508a541d616933e271f8f2fe62aa09076f1ee3c..6cc547db6ef47345fa9184bb784b498218bbd93f 100644
|
| --- a/content/renderer/media/webrtc_audio_renderer.cc
|
| +++ b/content/renderer/media/webrtc_audio_renderer.cc
|
| @@ -208,7 +208,6 @@ WebRtcAudioRenderer::WebRtcAudioRenderer(
|
| WebRtcLogMessage(base::StringPrintf(
|
| "WAR::WAR. source_render_frame_id=%d, session_id=%d, effects=%i",
|
| source_render_frame_id, session_id, sink_params_.effects()));
|
| - audio_renderer_thread_checker_.DetachFromThread();
|
| }
|
|
|
| WebRtcAudioRenderer::~WebRtcAudioRenderer() {
|
| @@ -240,7 +239,7 @@ bool WebRtcAudioRenderer::Initialize(WebRtcAudioRendererSource* source) {
|
| PrepareSink();
|
| {
|
| // No need to reassert the preconditions because the other thread accessing
|
| - // the fields (checked by |audio_renderer_thread_checker_|) only reads them.
|
| + // the fields only reads them.
|
| base::AutoLock auto_lock(lock_);
|
| source_ = source;
|
|
|
| @@ -266,6 +265,10 @@ bool WebRtcAudioRenderer::IsStarted() const {
|
| return start_ref_count_ != 0;
|
| }
|
|
|
| +bool WebRtcAudioRenderer::BelongsToRenderingThread() {
|
| + return sink_->BelongsToRenderingThread();
|
| +}
|
| +
|
| void WebRtcAudioRenderer::Start() {
|
| DVLOG(1) << "WebRtcAudioRenderer::Start()";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| @@ -406,7 +409,6 @@ void WebRtcAudioRenderer::SwitchOutputDevice(
|
| // callback may currently be executing and trying to grab the lock while we're
|
| // stopping the thread on which it runs.
|
| sink_->Stop();
|
| - audio_renderer_thread_checker_.DetachFromThread();
|
| sink_ = new_sink;
|
| output_device_id_ = device_id;
|
| security_origin_ = security_origin;
|
| @@ -423,7 +425,7 @@ void WebRtcAudioRenderer::SwitchOutputDevice(
|
| int WebRtcAudioRenderer::Render(media::AudioBus* audio_bus,
|
| uint32_t frames_delayed,
|
| uint32_t frames_skipped) {
|
| - DCHECK(audio_renderer_thread_checker_.CalledOnValidThread());
|
| + DCHECK(sink_->BelongsToRenderingThread());
|
| base::AutoLock auto_lock(lock_);
|
| if (!source_)
|
| return 0;
|
| @@ -480,7 +482,7 @@ void WebRtcAudioRenderer::OnRenderError() {
|
| // Called by AudioPullFifo when more data is necessary.
|
| void WebRtcAudioRenderer::SourceCallback(
|
| int fifo_frame_delay, media::AudioBus* audio_bus) {
|
| - DCHECK(audio_renderer_thread_checker_.CalledOnValidThread());
|
| + DCHECK(sink_->BelongsToRenderingThread());
|
| base::TimeTicks start_time = base::TimeTicks::Now();
|
| DVLOG(2) << "WebRtcAudioRenderer::SourceCallback("
|
| << fifo_frame_delay << ", "
|
|
|