OLD | NEW |
---|---|
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/browser/browser_main_loop.h" | 5 #include "content/browser/browser_main_loop.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 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1480 is_tracing_startup_for_duration_ = false; | 1480 is_tracing_startup_for_duration_ = false; |
1481 TracingController::GetInstance()->StopTracing( | 1481 TracingController::GetInstance()->StopTracing( |
1482 TracingController::CreateFileSink( | 1482 TracingController::CreateFileSink( |
1483 startup_trace_file_, | 1483 startup_trace_file_, |
1484 base::Bind(OnStoppedStartupTracing, startup_trace_file_))); | 1484 base::Bind(OnStoppedStartupTracing, startup_trace_file_))); |
1485 } | 1485 } |
1486 | 1486 |
1487 void BrowserMainLoop::CreateAudioManager() { | 1487 void BrowserMainLoop::CreateAudioManager() { |
1488 DCHECK(!audio_thread_); | 1488 DCHECK(!audio_thread_); |
1489 DCHECK(!audio_manager_); | 1489 DCHECK(!audio_manager_); |
1490 // TODO(alokp): Allow content embedders to override the default | 1490 |
1491 // task runners by defining ContentBrowserClient::GetAudioTaskRunner. | 1491 bool use_hang_monitor = true; |
1492 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner; | 1492 audio_manager_.reset(GetContentClient()->browser()->CreateAudioManager( |
1493 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner; | 1493 MediaInternals::GetInstance())); |
1494 scoped_refptr<base::SingleThreadTaskRunner> monitor_task_runner; | 1494 if (!audio_manager_) { |
1495 audio_thread_.reset(new base::Thread("AudioThread")); | 1495 audio_thread_.reset(new base::Thread("AudioThread")); |
1496 #if defined(OS_WIN) | 1496 #if defined(OS_WIN) |
1497 audio_thread_->init_com_with_mta(true); | 1497 audio_thread_->init_com_with_mta(true); |
1498 #endif // defined(OS_WIN) | 1498 #endif // defined(OS_WIN) |
1499 CHECK(audio_thread_->Start()); | 1499 CHECK(audio_thread_->Start()); |
1500 #if defined(OS_MACOSX) | 1500 #if defined(OS_MACOSX) |
1501 // On Mac audio task runner must belong to the main thread. | 1501 // On Mac audio task runner must belong to the main thread. |
1502 // See http://crbug.com/158170. | 1502 // See http://crbug.com/158170. |
1503 // Since the audio thread is the UI thread, a hang monitor is not | 1503 // Since the audio thread is the UI thread, a hang monitor is not |
1504 // necessary or recommended. | 1504 // necessary or recommended. |
1505 audio_task_runner = base::ThreadTaskRunnerHandle::Get(); | 1505 use_hang_monitor = false; |
1506 worker_task_runner = audio_thread_->task_runner(); | 1506 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner = |
1507 base::ThreadTaskRunnerHandle::Get(); | |
1507 #else | 1508 #else |
1508 audio_task_runner = audio_thread_->task_runner(); | 1509 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner = |
1509 worker_task_runner = audio_thread_->task_runner(); | 1510 audio_thread_->task_runner(); |
1510 monitor_task_runner = io_thread_->task_runner(); | |
1511 #endif // defined(OS_MACOSX) | 1511 #endif // defined(OS_MACOSX) |
1512 audio_manager_ = media::AudioManager::Create( | 1512 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner = |
1513 std::move(audio_task_runner), std::move(worker_task_runner), | 1513 audio_thread_->task_runner(); |
1514 std::move(monitor_task_runner), MediaInternals::GetInstance()); | 1514 audio_manager_ = media::AudioManager::Create(std::move(audio_task_runner), |
1515 std::move(worker_task_runner), | |
1516 MediaInternals::GetInstance()); | |
1517 } | |
1518 CHECK(audio_manager_); | |
1519 | |
1520 if (use_hang_monitor) | |
DaleCurtis
2016/04/22 23:45:06
This is disabled right now since we have enough cr
alokp
2016/04/22 23:54:21
On windows only or linux also?
Are you referring t
| |
1521 media::AudioManager::StartHangMonitor(io_thread_->task_runner()); | |
1515 } | 1522 } |
1516 | 1523 |
1517 } // namespace content | 1524 } // namespace content |
OLD | NEW |