Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 3ca56c4a5a62aba13b2e82e4fe3d29e1ef8da93e..d5995d7d4eb8a5f945c57fb0127efe0cc94d603b 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -6775,18 +6775,21 @@ media::mojom::RemoterFactory* RenderFrameImpl::GetRemoterFactory() { |
#endif |
media::CdmFactory* RenderFrameImpl::GetCdmFactory() { |
+ DCHECK(frame_); |
+ |
if (cdm_factory_) |
return cdm_factory_.get(); |
-#if BUILDFLAG(ENABLE_MOJO_CDM) |
- cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
- return cdm_factory_.get(); |
-#endif // BUILDFLAG(ENABLE_MOJO_CDM) |
- |
#if BUILDFLAG(ENABLE_PEPPER_CDMS) |
- DCHECK(frame_); |
- cdm_factory_.reset( |
- new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_))); |
+ static_assert(BUILDFLAG(ENABLE_MOJO_CDM), |
+ "Mojo CDM should always be enabled when PPAPI CDM is enabled"); |
+ if (base::FeatureList::IsEnabled(media::kMojoCdm)) |
+ cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
+ else |
jam
2017/05/24 00:36:33
nit: brace brackets per style guide
|
+ cdm_factory_.reset(new RenderCdmFactory( |
+ base::Bind(&PepperCdmWrapperImpl::Create, frame_))); |
+#elif BUILDFLAG(ENABLE_MOJO_CDM) |
+ cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider())); |
#endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
#if BUILDFLAG(ENABLE_MEDIA_REMOTING) |
jrummell
2017/05/23 22:23:28
Is it possible for cdm_factory_ to get set twice?
xhwang
2017/05/23 22:31:12
The RemotingCdmFactory actually wraps the cdm_fact
|