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

Unified Diff: chrome/service/service_process.cc

Issue 6539017: Initialize media library on service process startup. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Add missing include under Mac OS X Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/service/DEPS ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/service/service_process.cc
diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc
index f490fb50c82f5f63a0a6bae23f81eb428f736b82..c46bb97f92bd930baf465c4f357a357f862bb4c6 100644
--- a/chrome/service/service_process.cc
+++ b/chrome/service/service_process.cc
@@ -27,6 +27,7 @@
#include "chrome/service/service_process_prefs.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
+#include "media/base/media.h"
#include "net/base/network_change_notifier.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
@@ -34,6 +35,9 @@
#if defined(ENABLE_REMOTING)
#include "chrome/service/remoting/chromoting_host_manager.h"
+#if defined(OS_MACOSX)
+#include "base/mac/mac_util.h"
+#endif // defined(OS_MACOSX)
#endif // defined(ENABLED_REMOTING)
ServiceProcess* g_service_process = NULL;
@@ -160,11 +164,25 @@ bool ServiceProcess::Initialize(MessageLoop* message_loop,
PrepareRestartOnCrashEnviroment(command_line);
#if defined(ENABLE_REMOTING)
+ // Load media codecs, required by the Chromoting host
+ bool initialized_media_library = false;
+#if defined(OS_MACOSX)
+ FilePath bundle_path = base::mac::MainAppBundlePath();
+
+ initialized_media_library =
+ media::InitializeMediaLibrary(bundle_path.Append("Libraries"));
+#else
+ FilePath module_path;
+ initialized_media_library =
+ PathService::Get(base::DIR_MODULE, &module_path) &&
+ media::InitializeMediaLibrary(module_path);
+#endif
+
// Initialize chromoting host manager.
remoting_host_manager_ = new remoting::ChromotingHostManager(this);
remoting_host_manager_->Initialize(message_loop,
file_thread_->message_loop_proxy());
-#endif
+#endif // ENABLE_REMOTING
// Enable Cloud Print if needed. First check the command-line.
bool cloud_print_proxy_enabled =
@@ -224,8 +242,10 @@ void ServiceProcess::Shutdown() {
#if defined(ENABLE_REMOTING)
// During shutdown of remoting host it has some left over operations on
// the UI thread. So we let the teardown to proceed asynchronously
- remoting_host_manager_->Teardown(
- NewRunnableFunction(&QuitMessageLoop, main_message_loop_));
+ if (remoting_host_manager_.get()) {
+ remoting_host_manager_->Teardown(
+ NewRunnableFunction(&QuitMessageLoop, main_message_loop_));
+ }
#else
// Quit the main message loop.
main_message_loop_->PostTask(FROM_HERE, new MessageLoop::QuitTask());
« no previous file with comments | « chrome/service/DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698