Index: content/browser/browser_main_loop.cc |
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc |
index 50d0d8260023e27e578585f37344b5151a9b4a86..4436b302356d3b47b349134202c6bcab9de99608 100644 |
--- a/content/browser/browser_main_loop.cc |
+++ b/content/browser/browser_main_loop.cc |
@@ -90,6 +90,10 @@ |
#include "ui/gl/gl_surface.h" |
#endif |
+#if defined(OS_MACOSX) |
+#include "media/base/mac/avfoundation_glue.h" |
+#endif |
+ |
#if defined(OS_MACOSX) && !defined(OS_IOS) |
#include "base/memory/memory_pressure_monitor_mac.h" |
#include "content/browser/bootstrap_sandbox_mac.h" |
@@ -647,6 +651,15 @@ int BrowserMainLoop::PreCreateThreads() { |
} |
#endif |
+#if defined(OS_MACOSX) |
+ { |
+ // Initialize AVFoundation if supported, for audio and video. |
+ TRACE_EVENT0("startup", |
+ "BrowserMainLoop::CreateThreads:InitializeAVFoundation"); |
+ AVFoundationGlue::InitializeAVFoundation(); |
+ } |
+#endif |
+ |
// Need to initialize in-process GpuDataManager before creating threads. |
// It's unsafe to append the gpu command line switches to the global |
// CommandLine::ForCurrentProcess object after threads are created. |