| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/interface_factory_impl.h" | 5 #include "media/mojo/services/interface_factory_impl.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
| 10 #include "media/base/media_log.h" | 10 #include "media/base/media_log.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 } | 108 } |
| 109 | 109 |
| 110 std::unique_ptr<MojoRendererService> mojo_renderer_service = | 110 std::unique_ptr<MojoRendererService> mojo_renderer_service = |
| 111 base::MakeUnique<MojoRendererService>( | 111 base::MakeUnique<MojoRendererService>( |
| 112 cdm_service_context_.GetWeakPtr(), std::move(audio_sink), | 112 cdm_service_context_.GetWeakPtr(), std::move(audio_sink), |
| 113 std::move(video_sink), std::move(renderer), | 113 std::move(video_sink), std::move(renderer), |
| 114 MojoRendererService::InitiateSurfaceRequestCB()); | 114 MojoRendererService::InitiateSurfaceRequestCB()); |
| 115 | 115 |
| 116 MojoRendererService* mojo_renderer_service_ptr = mojo_renderer_service.get(); | 116 MojoRendererService* mojo_renderer_service_ptr = mojo_renderer_service.get(); |
| 117 | 117 |
| 118 StrongBindingSet<mojom::Renderer>::BindingId binding_id = | 118 mojo::BindingId binding_id = renderer_bindings_.AddBinding( |
| 119 renderer_bindings_.AddBinding(std::move(mojo_renderer_service), | 119 std::move(mojo_renderer_service), std::move(request)); |
| 120 std::move(request)); | |
| 121 | 120 |
| 122 // base::Unretained() is safe because the callback will be fired by | 121 // base::Unretained() is safe because the callback will be fired by |
| 123 // |mojo_renderer_service|, which is owned by |renderer_bindings_|. | 122 // |mojo_renderer_service|, which is owned by |renderer_bindings_|. |
| 124 mojo_renderer_service_ptr->set_bad_message_cb(base::Bind( | 123 mojo_renderer_service_ptr->set_bad_message_cb( |
| 125 base::IgnoreResult(&StrongBindingSet<mojom::Renderer>::RemoveBinding), | 124 base::Bind(base::IgnoreResult( |
| 126 base::Unretained(&renderer_bindings_), binding_id)); | 125 &mojo::StrongBindingSet<mojom::Renderer>::RemoveBinding), |
| 126 base::Unretained(&renderer_bindings_), binding_id)); |
| 127 #endif // defined(ENABLE_MOJO_RENDERER) | 127 #endif // defined(ENABLE_MOJO_RENDERER) |
| 128 } | 128 } |
| 129 | 129 |
| 130 void InterfaceFactoryImpl::CreateCdm( | 130 void InterfaceFactoryImpl::CreateCdm( |
| 131 mojo::InterfaceRequest<mojom::ContentDecryptionModule> request) { | 131 mojo::InterfaceRequest<mojom::ContentDecryptionModule> request) { |
| 132 #if defined(ENABLE_MOJO_CDM) | 132 #if defined(ENABLE_MOJO_CDM) |
| 133 CdmFactory* cdm_factory = GetCdmFactory(); | 133 CdmFactory* cdm_factory = GetCdmFactory(); |
| 134 if (!cdm_factory) | 134 if (!cdm_factory) |
| 135 return; | 135 return; |
| 136 | 136 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 154 CdmFactory* InterfaceFactoryImpl::GetCdmFactory() { | 154 CdmFactory* InterfaceFactoryImpl::GetCdmFactory() { |
| 155 if (!cdm_factory_) { | 155 if (!cdm_factory_) { |
| 156 cdm_factory_ = mojo_media_client_->CreateCdmFactory(interfaces_.get()); | 156 cdm_factory_ = mojo_media_client_->CreateCdmFactory(interfaces_.get()); |
| 157 LOG_IF(ERROR, !cdm_factory_) << "CdmFactory not available."; | 157 LOG_IF(ERROR, !cdm_factory_) << "CdmFactory not available."; |
| 158 } | 158 } |
| 159 return cdm_factory_.get(); | 159 return cdm_factory_.get(); |
| 160 } | 160 } |
| 161 #endif // defined(ENABLE_MOJO_CDM) | 161 #endif // defined(ENABLE_MOJO_CDM) |
| 162 | 162 |
| 163 } // namespace media | 163 } // namespace media |
| OLD | NEW |