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

Side by Side Diff: media/mojo/services/mojo_media_application.cc

Issue 1649933002: [Chromecast] Hook up mojo media pipeline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed chrome build with enable_mojo_media Created 4 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
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 "media/mojo/services/mojo_media_application.h" 5 #include "media/mojo/services/mojo_media_application.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h"
10 #include "media/base/media_log.h" 9 #include "media/base/media_log.h"
11 #include "media/mojo/services/mojo_media_client.h" 10 #include "media/mojo/services/mojo_media_client.h"
12 #include "media/mojo/services/service_factory_impl.h" 11 #include "media/mojo/services/service_factory_impl.h"
13 #include "mojo/shell/public/cpp/application_connection.h" 12 #include "mojo/shell/public/cpp/application_connection.h"
14 #include "mojo/shell/public/cpp/application_impl.h" 13 #include "mojo/shell/public/cpp/application_impl.h"
15 14
16 namespace media { 15 namespace media {
17 16
18 // static
19 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() {
20 // In all existing use cases we don't need to initialize logging when using
21 // CreateApp() to create the application. We can pass |enable_logging| in
22 // CreateApp() if this isn't the case any more in the future.
23 return scoped_ptr<mojo::ApplicationDelegate>(
24 new MojoMediaApplication(false, MojoMediaClient::Create()));
25 }
26
27 // TODO(xhwang): Hook up MediaLog when possible. 17 // TODO(xhwang): Hook up MediaLog when possible.
28 MojoMediaApplication::MojoMediaApplication( 18 MojoMediaApplication::MojoMediaApplication(
29 bool enable_logging,
30 scoped_ptr<MojoMediaClient> mojo_media_client) 19 scoped_ptr<MojoMediaClient> mojo_media_client)
31 : enable_logging_(enable_logging), 20 : mojo_media_client_(std::move(mojo_media_client)),
32 mojo_media_client_(std::move(mojo_media_client)),
33 app_impl_(nullptr), 21 app_impl_(nullptr),
34 media_log_(new MediaLog()) {} 22 media_log_(new MediaLog()) {}
35 23
36 MojoMediaApplication::~MojoMediaApplication() { 24 MojoMediaApplication::~MojoMediaApplication() {
37 } 25 }
38 26
39 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { 27 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) {
40 app_impl_ = app; 28 app_impl_ = app;
41
42 if (enable_logging_) {
43 logging::LoggingSettings settings;
44 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
45 logging::InitLogging(settings);
46 // Display process ID, thread ID and timestamp in logs.
47 logging::SetLogItems(true, true, true, false);
48 }
49 mojo_media_client_->Initialize(); 29 mojo_media_client_->Initialize();
50 } 30 }
51 31
52 bool MojoMediaApplication::ConfigureIncomingConnection( 32 bool MojoMediaApplication::ConfigureIncomingConnection(
53 mojo::ApplicationConnection* connection) { 33 mojo::ApplicationConnection* connection) {
54 connection->AddService<interfaces::ServiceFactory>(this); 34 connection->AddService<interfaces::ServiceFactory>(this);
55 return true; 35 return true;
56 } 36 }
57 37
58 void MojoMediaApplication::Create( 38 void MojoMediaApplication::Create(
59 mojo::ApplicationConnection* connection, 39 mojo::ApplicationConnection* connection,
60 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { 40 mojo::InterfaceRequest<interfaces::ServiceFactory> request) {
61 // The created object is owned by the pipe. 41 // The created object is owned by the pipe.
62 new ServiceFactoryImpl(std::move(request), connection->GetServiceProvider(), 42 new ServiceFactoryImpl(std::move(request), connection->GetServiceProvider(),
63 media_log_, 43 media_log_,
64 app_impl_->app_lifetime_helper()->CreateAppRefCount(), 44 app_impl_->app_lifetime_helper()->CreateAppRefCount(),
65 mojo_media_client_.get()); 45 mojo_media_client_.get());
66 } 46 }
67 47
68 } // namespace media 48 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698