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

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 link error for enable_mojo_media=utility config 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 17 // static
19 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() { 18 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>( 19 return scoped_ptr<mojo::ApplicationDelegate>(
24 new MojoMediaApplication(false, MojoMediaClient::Create())); 20 new MojoMediaApplication(MojoMediaClient::Create()));
25 } 21 }
26 22
27 // TODO(xhwang): Hook up MediaLog when possible. 23 // TODO(xhwang): Hook up MediaLog when possible.
28 MojoMediaApplication::MojoMediaApplication( 24 MojoMediaApplication::MojoMediaApplication(
29 bool enable_logging,
30 scoped_ptr<MojoMediaClient> mojo_media_client) 25 scoped_ptr<MojoMediaClient> mojo_media_client)
31 : enable_logging_(enable_logging), 26 : mojo_media_client_(std::move(mojo_media_client)),
32 mojo_media_client_(std::move(mojo_media_client)),
33 app_impl_(nullptr), 27 app_impl_(nullptr),
34 media_log_(new MediaLog()) {} 28 media_log_(new MediaLog()) {}
35 29
36 MojoMediaApplication::~MojoMediaApplication() { 30 MojoMediaApplication::~MojoMediaApplication() {
37 } 31 }
38 32
39 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { 33 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) {
40 app_impl_ = app; 34 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(); 35 mojo_media_client_->Initialize();
50 } 36 }
51 37
52 bool MojoMediaApplication::ConfigureIncomingConnection( 38 bool MojoMediaApplication::ConfigureIncomingConnection(
53 mojo::ApplicationConnection* connection) { 39 mojo::ApplicationConnection* connection) {
54 connection->AddService<interfaces::ServiceFactory>(this); 40 connection->AddService<interfaces::ServiceFactory>(this);
55 return true; 41 return true;
56 } 42 }
57 43
58 void MojoMediaApplication::Create( 44 void MojoMediaApplication::Create(
59 mojo::ApplicationConnection* connection, 45 mojo::ApplicationConnection* connection,
60 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { 46 mojo::InterfaceRequest<interfaces::ServiceFactory> request) {
61 // The created object is owned by the pipe. 47 // The created object is owned by the pipe.
62 new ServiceFactoryImpl(std::move(request), connection->GetServiceProvider(), 48 new ServiceFactoryImpl(std::move(request), connection->GetServiceProvider(),
63 media_log_, 49 media_log_,
64 app_impl_->app_lifetime_helper()->CreateAppRefCount(), 50 app_impl_->app_lifetime_helper()->CreateAppRefCount(),
65 mojo_media_client_.get()); 51 mojo_media_client_.get());
66 } 52 }
67 53
68 } // namespace media 54 } // namespace media
OLDNEW
« media/mojo/services/BUILD.gn ('K') | « media/mojo/services/mojo_media_application.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698