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

Side by Side Diff: content/renderer/media/audio_device_factory.cc

Issue 2460303003: Checking RendererThreadImpl for null when creating media player. (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/audio_device_factory.h" 5 #include "content/renderer/media/audio_device_factory.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 return base::FeatureList::IsEnabled(media::kNewAudioRenderingMixingStrategy); 65 return base::FeatureList::IsEnabled(media::kNewAudioRenderingMixingStrategy);
66 } 66 }
67 67
68 scoped_refptr<media::SwitchableAudioRendererSink> NewMixableSink( 68 scoped_refptr<media::SwitchableAudioRendererSink> NewMixableSink(
69 AudioDeviceFactory::SourceType source_type, 69 AudioDeviceFactory::SourceType source_type,
70 int render_frame_id, 70 int render_frame_id,
71 int session_id, 71 int session_id,
72 const std::string& device_id, 72 const std::string& device_id,
73 const url::Origin& security_origin) { 73 const url::Origin& security_origin) {
74 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 74 RenderThreadImpl* render_thread = RenderThreadImpl::current();
75 CHECK(render_thread) << "RenderThreadImpl is not instantiated, or "
76 << "GetOutputDeviceInfo() is called on a wrong thread ";
75 return scoped_refptr<media::AudioRendererMixerInput>( 77 return scoped_refptr<media::AudioRendererMixerInput>(
76 render_thread->GetAudioRendererMixerManager()->CreateInput( 78 render_thread->GetAudioRendererMixerManager()->CreateInput(
77 render_frame_id, session_id, device_id, security_origin, 79 render_frame_id, session_id, device_id, security_origin,
78 AudioDeviceFactory::GetSourceLatencyType(source_type))); 80 AudioDeviceFactory::GetSourceLatencyType(source_type)));
79 } 81 }
80 82
81 } // namespace 83 } // namespace
82 84
83 media::AudioLatency::LatencyType AudioDeviceFactory::GetSourceLatencyType( 85 media::AudioLatency::LatencyType AudioDeviceFactory::GetSourceLatencyType(
84 AudioDeviceFactory::SourceType source) { 86 AudioDeviceFactory::SourceType source) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 filter->CreateAudioInputIPC(render_frame_id), filter->io_task_runner()); 180 filter->CreateAudioInputIPC(render_frame_id), filter->io_task_runner());
179 } 181 }
180 182
181 // static 183 // static
182 media::OutputDeviceInfo AudioDeviceFactory::GetOutputDeviceInfo( 184 media::OutputDeviceInfo AudioDeviceFactory::GetOutputDeviceInfo(
183 int render_frame_id, 185 int render_frame_id,
184 int session_id, 186 int session_id,
185 const std::string& device_id, 187 const std::string& device_id,
186 const url::Origin& security_origin) { 188 const url::Origin& security_origin) {
187 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 189 RenderThreadImpl* render_thread = RenderThreadImpl::current();
188 DCHECK(render_thread) << "RenderThreadImpl is not instantiated, or " 190 CHECK(render_thread) << "RenderThreadImpl is not instantiated, or "
189 << "GetOutputDeviceInfo() is called on a wrong thread "; 191 << "GetOutputDeviceInfo() is called on a wrong thread ";
Avi (use Gerrit) 2016/10/31 14:45:29 Why a CHECK here and above and not a DCHECK?
o1ka 2016/10/31 14:58:38 Done.
190 return render_thread->GetAudioRendererMixerManager()->GetOutputDeviceInfo( 192 return render_thread->GetAudioRendererMixerManager()->GetOutputDeviceInfo(
191 render_frame_id, session_id, device_id, security_origin); 193 render_frame_id, session_id, device_id, security_origin);
192 } 194 }
193 195
194 AudioDeviceFactory::AudioDeviceFactory() { 196 AudioDeviceFactory::AudioDeviceFactory() {
195 DCHECK(!factory_) << "Can't register two factories at once."; 197 DCHECK(!factory_) << "Can't register two factories at once.";
196 factory_ = this; 198 factory_ = this;
197 } 199 }
198 200
199 AudioDeviceFactory::~AudioDeviceFactory() { 201 AudioDeviceFactory::~AudioDeviceFactory() {
(...skipping 13 matching lines...) Expand all
213 device_id, security_origin); 215 device_id, security_origin);
214 if (sink) 216 if (sink)
215 return sink; 217 return sink;
216 } 218 }
217 219
218 return NewOutputDevice(render_frame_id, session_id, device_id, 220 return NewOutputDevice(render_frame_id, session_id, device_id,
219 security_origin); 221 security_origin);
220 } 222 }
221 223
222 } // namespace content 224 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/render_frame_impl.cc » ('j') | content/renderer/render_frame_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698