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

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

Issue 1702453002: Revert of Reland "media: Refactor MojoMediaClient" with fix. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: run git cl format 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
« no previous file with comments | « media/mojo/services/mojo_media_application.h ('k') | media/mojo/services/mojo_media_client.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 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 "media/base/media_log.h" 9 #include "media/base/media_log.h"
10 #include "media/mojo/services/mojo_media_client.h" 10 #include "media/mojo/services/mojo_media_client.h"
11 #include "media/mojo/services/service_factory_impl.h" 11 #include "media/mojo/services/service_factory_impl.h"
12 #include "mojo/shell/public/cpp/connection.h" 12 #include "mojo/shell/public/cpp/connection.h"
13 #include "mojo/shell/public/cpp/shell.h" 13 #include "mojo/shell/public/cpp/shell.h"
14 14
15 #if defined(OS_ANDROID)
16 #include "media/mojo/services/android_mojo_media_client.h"
17 #else
18 #include "media/mojo/services/default_mojo_media_client.h"
19 #endif
20
21 namespace media { 15 namespace media {
22 16
23 #if defined(OS_ANDROID)
24 using DefaultClient = AndroidMojoMediaClient;
25 #else
26 using DefaultClient = DefaultMojoMediaClient;
27 #endif
28
29 // static 17 // static
30 scoped_ptr<mojo::ShellClient> MojoMediaApplication::CreateApp() { 18 scoped_ptr<mojo::ShellClient> MojoMediaApplication::CreateApp() {
31 return scoped_ptr<mojo::ShellClient>( 19 return scoped_ptr<mojo::ShellClient>(
32 new MojoMediaApplication(make_scoped_ptr(new DefaultClient()))); 20 new MojoMediaApplication(MojoMediaClient::Create()));
33 }
34
35 // static
36 scoped_ptr<mojo::ShellClient> MojoMediaApplication::CreateAppWithClient(
37 const CreateMojoMediaClientCB& create_mojo_media_client_cb) {
38 scoped_ptr<MojoMediaClient> mojo_media_client =
39 create_mojo_media_client_cb.Run();
40 if (!mojo_media_client)
41 return nullptr;
42
43 return scoped_ptr<mojo::ShellClient>(
44 new MojoMediaApplication(std::move(mojo_media_client)));
45 } 21 }
46 22
47 // TODO(xhwang): Hook up MediaLog when possible. 23 // TODO(xhwang): Hook up MediaLog when possible.
48 MojoMediaApplication::MojoMediaApplication( 24 MojoMediaApplication::MojoMediaApplication(
49 scoped_ptr<MojoMediaClient> mojo_media_client) 25 scoped_ptr<MojoMediaClient> mojo_media_client)
50 : mojo_media_client_(std::move(mojo_media_client)), 26 : mojo_media_client_(std::move(mojo_media_client)),
51 shell_(nullptr), 27 shell_(nullptr),
52 media_log_(new MediaLog()) { 28 media_log_(new MediaLog()) {}
53 DCHECK(mojo_media_client_);
54 }
55 29
56 MojoMediaApplication::~MojoMediaApplication() {} 30 MojoMediaApplication::~MojoMediaApplication() {}
57 31
58 void MojoMediaApplication::Initialize(mojo::Shell* shell, 32 void MojoMediaApplication::Initialize(mojo::Shell* shell,
59 const std::string& /* url */, 33 const std::string& url,
60 uint32_t /* id */) { 34 uint32_t id) {
61 shell_ = shell; 35 shell_ = shell;
62 mojo_media_client_->Initialize(); 36 mojo_media_client_->Initialize();
63 } 37 }
64 38
65 bool MojoMediaApplication::AcceptConnection(mojo::Connection* connection) { 39 bool MojoMediaApplication::AcceptConnection(mojo::Connection* connection) {
66 connection->AddInterface<interfaces::ServiceFactory>(this); 40 connection->AddInterface<interfaces::ServiceFactory>(this);
67 return true; 41 return true;
68 } 42 }
69 43
70 void MojoMediaApplication::Create( 44 void MojoMediaApplication::Create(
71 mojo::Connection* connection, 45 mojo::Connection* connection,
72 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { 46 mojo::InterfaceRequest<interfaces::ServiceFactory> request) {
73 // The created object is owned by the pipe. 47 // The created object is owned by the pipe.
74 new ServiceFactoryImpl(std::move(request), connection->GetRemoteInterfaces(), 48 new ServiceFactoryImpl(std::move(request), connection->GetRemoteInterfaces(),
75 media_log_, shell_->CreateAppRefCount(), 49 media_log_, shell_->CreateAppRefCount(),
76 mojo_media_client_.get()); 50 mojo_media_client_.get());
77 } 51 }
78 52
79 } // namespace media 53 } // namespace media
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_media_application.h ('k') | media/mojo/services/mojo_media_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698