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

Unified Diff: media/mojo/services/interface_factory_impl.cc

Issue 2530613003: media: Fix lifetime of InterfaceFactoryImpl and created impls (Closed)
Patch Set: Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: media/mojo/services/interface_factory_impl.cc
diff --git a/media/mojo/services/interface_factory_impl.cc b/media/mojo/services/interface_factory_impl.cc
index 83290d356fc1238b59949c704f7b59c37375ceed..b6675e6a1a208c1c95f8108b0f15ebba302e074d 100644
--- a/media/mojo/services/interface_factory_impl.cc
+++ b/media/mojo/services/interface_factory_impl.cc
@@ -68,7 +68,7 @@ void InterfaceFactoryImpl::CreateAudioDecoder(
return;
}
- mojo::MakeStrongBinding(
+ audio_decoder_bindings_.AddBinding(
base::MakeUnique<MojoAudioDecoderService>(
cdm_service_context_.GetWeakPtr(), std::move(audio_decoder)),
std::move(request));
@@ -78,7 +78,7 @@ void InterfaceFactoryImpl::CreateAudioDecoder(
void InterfaceFactoryImpl::CreateVideoDecoder(
mojom::VideoDecoderRequest request) {
#if defined(ENABLE_MOJO_VIDEO_DECODER)
- mojo::MakeStrongBinding(
+ video_decoder_bindings_.AddBinding(
base::MakeUnique<MojoVideoDecoderService>(mojo_media_client_),
std::move(request));
#endif // defined(ENABLE_MOJO_VIDEO_DECODER)
@@ -105,10 +105,12 @@ void InterfaceFactoryImpl::CreateRenderer(
return;
}
- MojoRendererService::Create(
- cdm_service_context_.GetWeakPtr(), std::move(audio_sink),
- std::move(video_sink), std::move(renderer),
- MojoRendererService::InitiateSurfaceRequestCB(), std::move(request));
+ renderer_bindings_.AddBinding(
+ base::MakeUnique<MojoRendererService>(
+ cdm_service_context_.GetWeakPtr(), std::move(audio_sink),
+ std::move(video_sink), std::move(renderer),
+ MojoRendererService::InitiateSurfaceRequestCB()),
+ std::move(request));
#endif // defined(ENABLE_MOJO_RENDERER)
}
@@ -119,9 +121,9 @@ void InterfaceFactoryImpl::CreateCdm(
if (!cdm_factory)
return;
- mojo::MakeStrongBinding(base::MakeUnique<MojoCdmService>(
- cdm_service_context_.GetWeakPtr(), cdm_factory),
- std::move(request));
+ cdm_bindings_.AddBinding(base::MakeUnique<MojoCdmService>(
+ cdm_service_context_.GetWeakPtr(), cdm_factory),
+ std::move(request));
#endif // defined(ENABLE_MOJO_CDM)
}

Powered by Google App Engine
This is Rietveld 408576698