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

Side by Side Diff: content/browser/browser_main_loop.cc

Issue 2634263002: Pass camera facing info to audio client (Closed)
Patch Set: addressed comments Created 3 years, 10 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
« no previous file with comments | « content/browser/BUILD.gn ('k') | content/browser/renderer_host/media/media_stream_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 #include "content/public/common/content_features.h" 88 #include "content/public/common/content_features.h"
89 #include "content/public/common/content_switches.h" 89 #include "content/public/common/content_switches.h"
90 #include "content/public/common/main_function_params.h" 90 #include "content/public/common/main_function_params.h"
91 #include "content/public/common/result_codes.h" 91 #include "content/public/common/result_codes.h"
92 #include "device/battery/battery_status_service.h" 92 #include "device/battery/battery_status_service.h"
93 #include "device/gamepad/gamepad_service.h" 93 #include "device/gamepad/gamepad_service.h"
94 #include "device/sensors/device_sensor_service.h" 94 #include "device/sensors/device_sensor_service.h"
95 #include "media/audio/audio_system_impl.h" 95 #include "media/audio/audio_system_impl.h"
96 #include "media/base/media.h" 96 #include "media/base/media.h"
97 #include "media/base/user_input_monitor.h" 97 #include "media/base/user_input_monitor.h"
98 #include "media/base/video_facing.h"
98 #include "media/midi/midi_service.h" 99 #include "media/midi/midi_service.h"
99 #include "mojo/edk/embedder/embedder.h" 100 #include "mojo/edk/embedder/embedder.h"
100 #include "mojo/edk/embedder/scoped_ipc_support.h" 101 #include "mojo/edk/embedder/scoped_ipc_support.h"
101 #include "net/base/network_change_notifier.h" 102 #include "net/base/network_change_notifier.h"
102 #include "net/socket/client_socket_factory.h" 103 #include "net/socket/client_socket_factory.h"
103 #include "net/ssl/ssl_config_service.h" 104 #include "net/ssl/ssl_config_service.h"
104 #include "ppapi/features/features.h" 105 #include "ppapi/features/features.h"
105 #include "services/service_manager/runner/common/client_util.h" 106 #include "services/service_manager/runner/common/client_util.h"
106 #include "skia/ext/event_tracer_impl.h" 107 #include "skia/ext/event_tracer_impl.h"
107 #include "skia/ext/skia_memory_dump_provider.h" 108 #include "skia/ext/skia_memory_dump_provider.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 #include "base/memory/memory_pressure_monitor_win.h" 156 #include "base/memory/memory_pressure_monitor_win.h"
156 #include "base/win/windows_version.h" 157 #include "base/win/windows_version.h"
157 #include "content/browser/screen_orientation/screen_orientation_delegate_win.h" 158 #include "content/browser/screen_orientation/screen_orientation_delegate_win.h"
158 #include "content/common/sandbox_win.h" 159 #include "content/common/sandbox_win.h"
159 #include "net/base/winsock_init.h" 160 #include "net/base/winsock_init.h"
160 #include "ui/base/l10n/l10n_util_win.h" 161 #include "ui/base/l10n/l10n_util_win.h"
161 #endif 162 #endif
162 163
163 #if defined(OS_CHROMEOS) 164 #if defined(OS_CHROMEOS)
164 #include "base/memory/memory_pressure_monitor_chromeos.h" 165 #include "base/memory/memory_pressure_monitor_chromeos.h"
166 #include "chromeos/audio/cras_audio_handler.h"
165 #include "chromeos/chromeos_switches.h" 167 #include "chromeos/chromeos_switches.h"
166 #endif 168 #endif
167 169
168 #if defined(USE_GLIB) 170 #if defined(USE_GLIB)
169 #include <glib-object.h> 171 #include <glib-object.h>
170 #endif 172 #endif
171 173
172 #if defined(OS_WIN) 174 #if defined(OS_WIN)
173 #include "media/device_monitors/system_message_window_win.h" 175 #include "media/device_monitors/system_message_window_win.h"
174 #elif defined(OS_LINUX) && defined(USE_UDEV) 176 #elif defined(OS_LINUX) && defined(USE_UDEV)
(...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 #if defined(OS_ANDROID) 1156 #if defined(OS_ANDROID)
1155 // Let screen instance be overridable by parts. 1157 // Let screen instance be overridable by parts.
1156 ui::SetScreenAndroid(); 1158 ui::SetScreenAndroid();
1157 #endif 1159 #endif
1158 1160
1159 if (parts_) { 1161 if (parts_) {
1160 TRACE_EVENT0("startup", 1162 TRACE_EVENT0("startup",
1161 "BrowserMainLoop::CreateThreads:PreMainMessageLoopRun"); 1163 "BrowserMainLoop::CreateThreads:PreMainMessageLoopRun");
1162 1164
1163 parts_->PreMainMessageLoopRun(); 1165 parts_->PreMainMessageLoopRun();
1166
1167 #if defined(OS_CHROMEOS)
1168 if (chromeos::CrasAudioHandler::IsInitialized()) {
1169 if (media_stream_manager_) {
1170 BrowserThread::PostTask(
1171 BrowserThread::IO, FROM_HERE,
1172 base::Bind(&MediaStreamManager::AddVideoCaptureObserver,
1173 base::Unretained(media_stream_manager_.get()),
1174 chromeos::CrasAudioHandler::Get()));
1175 } else {
1176 DLOG(ERROR) << "media_stream_manager_ is null.";
jochen (gone - plz use gerrit) 2017/02/16 15:07:15 please use DVLOG() how can this happen?
shenghao 2017/02/17 03:37:53 Done. If the call sequence is not correct, it coul
1177 }
1178 } else {
1179 DLOG(ERROR) << "CrasAudioHandler is not initialized.";
jochen (gone - plz use gerrit) 2017/02/16 15:07:15 how can this happen?
shenghao 2017/02/17 03:37:53 Done. If the call sequence is not correct, it coul
1180 }
1181 #endif
1164 } 1182 }
1165 1183
1166 // If the UI thread blocks, the whole UI is unresponsive. 1184 // If the UI thread blocks, the whole UI is unresponsive.
1167 // Do not allow disk IO from the UI thread. 1185 // Do not allow disk IO from the UI thread.
1168 base::ThreadRestrictions::SetIOAllowed(false); 1186 base::ThreadRestrictions::SetIOAllowed(false);
1169 base::ThreadRestrictions::DisallowWaiting(); 1187 base::ThreadRestrictions::DisallowWaiting();
1170 return result_code_; 1188 return result_code_;
1171 } 1189 }
1172 1190
1173 void BrowserMainLoop::RunMainMessageLoopParts() { 1191 void BrowserMainLoop::RunMainMessageLoopParts() {
(...skipping 29 matching lines...) Expand all
1203 #if defined(OS_ANDROID) 1221 #if defined(OS_ANDROID)
1204 g_browser_main_loop_shutting_down = true; 1222 g_browser_main_loop_shutting_down = true;
1205 #endif 1223 #endif
1206 1224
1207 if (RenderProcessHost::run_renderer_in_process()) 1225 if (RenderProcessHost::run_renderer_in_process())
1208 RenderProcessHostImpl::ShutDownInProcessRenderer(); 1226 RenderProcessHostImpl::ShutDownInProcessRenderer();
1209 1227
1210 if (parts_) { 1228 if (parts_) {
1211 TRACE_EVENT0("shutdown", 1229 TRACE_EVENT0("shutdown",
1212 "BrowserMainLoop::Subsystem:PostMainMessageLoopRun"); 1230 "BrowserMainLoop::Subsystem:PostMainMessageLoopRun");
1231 BrowserThread::PostTask(
1232 BrowserThread::IO, FROM_HERE,
1233 base::Bind(&MediaStreamManager::RemoveAllVideoCaptureObservers,
1234 base::Unretained(media_stream_manager_.get())));
1213 parts_->PostMainMessageLoopRun(); 1235 parts_->PostMainMessageLoopRun();
1214 } 1236 }
1215 1237
1216 system_stats_monitor_.reset(); 1238 system_stats_monitor_.reset();
1217 1239
1218 // Destroying the GpuProcessHostUIShims on the UI thread posts a task to 1240 // Destroying the GpuProcessHostUIShims on the UI thread posts a task to
1219 // delete related objects on the GPU thread. This must be done before 1241 // delete related objects on the GPU thread. This must be done before
1220 // stopping the GPU thread. The GPU thread will close IPC channels to renderer 1242 // stopping the GPU thread. The GPU thread will close IPC channels to renderer
1221 // processes so this has to happen before stopping the IO thread. 1243 // processes so this has to happen before stopping the IO thread.
1222 { 1244 {
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
1796 audio_thread_->task_runner(), audio_thread_->worker_task_runner(), 1818 audio_thread_->task_runner(), audio_thread_->worker_task_runner(),
1797 MediaInternals::GetInstance()); 1819 MediaInternals::GetInstance());
1798 } 1820 }
1799 CHECK(audio_manager_); 1821 CHECK(audio_manager_);
1800 1822
1801 audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get()); 1823 audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get());
1802 CHECK(audio_system_); 1824 CHECK(audio_system_);
1803 } 1825 }
1804 1826
1805 } // namespace content 1827 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/BUILD.gn ('k') | content/browser/renderer_host/media/media_stream_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698