| OLD | NEW |
| 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/cdm_factory.h" | |
| 9 #include "media/base/media_log.h" | 8 #include "media/base/media_log.h" |
| 10 #include "media/base/renderer_factory.h" | 9 #include "media/mojo/services/service_factory_impl.h" |
| 11 #include "media/mojo/services/mojo_cdm_service.h" | |
| 12 #include "media/mojo/services/mojo_media_client.h" | |
| 13 #include "media/mojo/services/mojo_renderer_service.h" | |
| 14 #include "mojo/application/public/cpp/application_connection.h" | 10 #include "mojo/application/public/cpp/application_connection.h" |
| 15 #include "mojo/application/public/cpp/application_impl.h" | 11 #include "mojo/application/public/cpp/application_impl.h" |
| 16 | 12 |
| 17 namespace media { | 13 namespace media { |
| 18 | 14 |
| 19 const char kMojoMediaAppUrl[] = "mojo:media"; | 15 const char kMojoMediaAppUrl[] = "mojo:media"; |
| 20 | 16 |
| 21 // static | 17 // static |
| 22 GURL MojoMediaApplication::AppUrl() { | 18 GURL MojoMediaApplication::AppUrl() { |
| 23 return GURL(kMojoMediaAppUrl); | 19 return GURL(kMojoMediaAppUrl); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 38 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { | 34 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { |
| 39 logging::LoggingSettings settings; | 35 logging::LoggingSettings settings; |
| 40 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; | 36 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; |
| 41 logging::InitLogging(settings); | 37 logging::InitLogging(settings); |
| 42 // Display process ID, thread ID and timestamp in logs. | 38 // Display process ID, thread ID and timestamp in logs. |
| 43 logging::SetLogItems(true, true, true, false); | 39 logging::SetLogItems(true, true, true, false); |
| 44 } | 40 } |
| 45 | 41 |
| 46 bool MojoMediaApplication::ConfigureIncomingConnection( | 42 bool MojoMediaApplication::ConfigureIncomingConnection( |
| 47 mojo::ApplicationConnection* connection) { | 43 mojo::ApplicationConnection* connection) { |
| 48 connection->AddService<interfaces::ContentDecryptionModule>(this); | 44 connection->AddService<interfaces::ServiceFactory>(this); |
| 49 connection->AddService<interfaces::MediaRenderer>(this); | |
| 50 return true; | 45 return true; |
| 51 } | 46 } |
| 52 | 47 |
| 53 void MojoMediaApplication::Create( | 48 void MojoMediaApplication::Create( |
| 54 mojo::ApplicationConnection* connection, | 49 mojo::ApplicationConnection* connection, |
| 55 mojo::InterfaceRequest<interfaces::ContentDecryptionModule> request) { | 50 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { |
| 56 // The created object is owned by the pipe. | 51 // The created object is owned by the pipe. |
| 57 new MojoCdmService(&cdm_service_context_, connection->GetServiceProvider(), | 52 new ServiceFactoryImpl(request.Pass(), connection->GetServiceProvider(), |
| 58 GetCdmFactory(), request.Pass()); | 53 media_log_); |
| 59 } | |
| 60 | |
| 61 void MojoMediaApplication::Create( | |
| 62 mojo::ApplicationConnection* connection, | |
| 63 mojo::InterfaceRequest<interfaces::MediaRenderer> request) { | |
| 64 // The created object is owned by the pipe. | |
| 65 new MojoRendererService(&cdm_service_context_, GetRendererFactory(), | |
| 66 media_log_, request.Pass()); | |
| 67 } | |
| 68 | |
| 69 RendererFactory* MojoMediaApplication::GetRendererFactory() { | |
| 70 if (!renderer_factory_) | |
| 71 renderer_factory_ = | |
| 72 MojoMediaClient::Get()->CreateRendererFactory(media_log_); | |
| 73 return renderer_factory_.get(); | |
| 74 } | |
| 75 | |
| 76 CdmFactory* MojoMediaApplication::GetCdmFactory() { | |
| 77 if (!cdm_factory_) | |
| 78 cdm_factory_ = MojoMediaClient::Get()->CreateCdmFactory(); | |
| 79 return cdm_factory_.get(); | |
| 80 } | 54 } |
| 81 | 55 |
| 82 } // namespace media | 56 } // namespace media |
| OLD | NEW |