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

Side by Side Diff: chromecast/browser/cast_content_browser_client.cc

Issue 2784433002: Ensures that audio tasks cannot run after AudioManager is deleted. (Closed)
Patch Set: fixes content_browsertests and content_unittests Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chromecast/browser/cast_content_browser_client.h" 5 #include "chromecast/browser/cast_content_browser_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 CastContentBrowserClient::media_resource_tracker() { 184 CastContentBrowserClient::media_resource_tracker() {
185 return cast_browser_main_parts_->media_resource_tracker(); 185 return cast_browser_main_parts_->media_resource_tracker();
186 } 186 }
187 187
188 media::MediaPipelineBackendManager* 188 media::MediaPipelineBackendManager*
189 CastContentBrowserClient::media_pipeline_backend_manager() { 189 CastContentBrowserClient::media_pipeline_backend_manager() {
190 DCHECK(cast_browser_main_parts_); 190 DCHECK(cast_browser_main_parts_);
191 return cast_browser_main_parts_->media_pipeline_backend_manager(); 191 return cast_browser_main_parts_->media_pipeline_backend_manager();
192 } 192 }
193 193
194 ::media::ScopedAudioManagerPtr CastContentBrowserClient::CreateAudioManager( 194 std::unique_ptr<::media::AudioManager>
195 CastContentBrowserClient::CreateAudioManager(
196 scoped_refptr<base::SingleThreadTaskRunner> task_runner,
197 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner,
195 ::media::AudioLogFactory* audio_log_factory) { 198 ::media::AudioLogFactory* audio_log_factory) {
196 return ::media::ScopedAudioManagerPtr(new media::CastAudioManager( 199 return base::MakeUnique<media::CastAudioManager>(
197 GetMediaTaskRunner(), GetMediaTaskRunner(), audio_log_factory, 200 task_runner, worker_task_runner, audio_log_factory,
198 media_pipeline_backend_manager())); 201 media_pipeline_backend_manager());
199 } 202 }
200 203
201 std::unique_ptr<::media::CdmFactory> 204 std::unique_ptr<::media::CdmFactory>
202 CastContentBrowserClient::CreateCdmFactory() { 205 CastContentBrowserClient::CreateCdmFactory() {
203 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) 206 #if defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
204 return base::MakeUnique<media::CastCdmFactory>(GetMediaTaskRunner(), 207 return base::MakeUnique<media::CastCdmFactory>(GetMediaTaskRunner(),
205 media_resource_tracker()); 208 media_resource_tracker());
206 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) 209 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
207 return nullptr; 210 return nullptr;
208 } 211 }
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 process_type, dumps_path, false /* upload */); 571 process_type, dumps_path, false /* upload */);
569 // StartUploaderThread() even though upload is diferred. 572 // StartUploaderThread() even though upload is diferred.
570 // Breakpad-related memory is freed in the uploader thread. 573 // Breakpad-related memory is freed in the uploader thread.
571 crash_handler->StartUploaderThread(); 574 crash_handler->StartUploaderThread();
572 return crash_handler; 575 return crash_handler;
573 } 576 }
574 #endif // !defined(OS_ANDROID) 577 #endif // !defined(OS_ANDROID)
575 578
576 } // namespace shell 579 } // namespace shell
577 } // namespace chromecast 580 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698