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

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

Issue 1209363004: media: Support RendererFactory in MojoMediaClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android build (hopefully) Created 5 years, 5 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 "base/logging.h" 7 #include "base/logging.h"
8 #include "media/base/media_log.h"
9 #include "media/base/renderer_factory.h"
8 #include "media/mojo/services/mojo_cdm_service.h" 10 #include "media/mojo/services/mojo_cdm_service.h"
11 #include "media/mojo/services/mojo_media_client.h"
9 #include "media/mojo/services/mojo_renderer_service.h" 12 #include "media/mojo/services/mojo_renderer_service.h"
10 #include "mojo/application/public/cpp/application_connection.h" 13 #include "mojo/application/public/cpp/application_connection.h"
11 #include "mojo/application/public/cpp/application_impl.h" 14 #include "mojo/application/public/cpp/application_impl.h"
12 15
13 namespace media { 16 namespace media {
14 17
15 const char kMojoMediaAppUrl[] = "mojo:media"; 18 const char kMojoMediaAppUrl[] = "mojo:media";
16 19
17 // static 20 // static
18 GURL MojoMediaApplication::AppUrl() { 21 GURL MojoMediaApplication::AppUrl() {
19 return GURL(kMojoMediaAppUrl); 22 return GURL(kMojoMediaAppUrl);
20 } 23 }
21 24
22 // static 25 // static
23 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() { 26 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() {
24 return scoped_ptr<mojo::ApplicationDelegate>(new MojoMediaApplication()); 27 return scoped_ptr<mojo::ApplicationDelegate>(new MojoMediaApplication());
25 } 28 }
26 29
27 MojoMediaApplication::MojoMediaApplication() { 30 // TODO(xhwang): Hook up MediaLog when possible.
31 MojoMediaApplication::MojoMediaApplication() : media_log_(new MediaLog()) {
28 } 32 }
29 33
30 MojoMediaApplication::~MojoMediaApplication() { 34 MojoMediaApplication::~MojoMediaApplication() {
31 } 35 }
32 36
33 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { 37 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) {
34 logging::LoggingSettings settings; 38 logging::LoggingSettings settings;
35 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; 39 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
36 logging::InitLogging(settings); 40 logging::InitLogging(settings);
37 // Display process ID, thread ID and timestamp in logs. 41 // Display process ID, thread ID and timestamp in logs.
(...skipping 11 matching lines...) Expand all
49 mojo::ApplicationConnection* connection, 53 mojo::ApplicationConnection* connection,
50 mojo::InterfaceRequest<mojo::ContentDecryptionModule> request) { 54 mojo::InterfaceRequest<mojo::ContentDecryptionModule> request) {
51 // The created object is owned by the pipe. 55 // The created object is owned by the pipe.
52 new MojoCdmService(&cdm_service_context_, request.Pass()); 56 new MojoCdmService(&cdm_service_context_, request.Pass());
53 } 57 }
54 58
55 void MojoMediaApplication::Create( 59 void MojoMediaApplication::Create(
56 mojo::ApplicationConnection* connection, 60 mojo::ApplicationConnection* connection,
57 mojo::InterfaceRequest<mojo::MediaRenderer> request) { 61 mojo::InterfaceRequest<mojo::MediaRenderer> request) {
58 // The created object is owned by the pipe. 62 // The created object is owned by the pipe.
59 new MojoRendererService(&cdm_service_context_, request.Pass()); 63 new MojoRendererService(&cdm_service_context_, GetRendererFactory(),
64 media_log_, request.Pass());
65 }
66
67 RendererFactory* MojoMediaApplication::GetRendererFactory() {
68 if (!renderer_factory_)
69 renderer_factory_ = MojoMediaClient::Get()->GetRendererFactory(media_log_);
70 return renderer_factory_.get();
60 } 71 }
61 72
62 } // namespace media 73 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698