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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2900773004: media: Add experimental feature to enable Mojo CDM on desktop Chromium (Closed)
Patch Set: rebase and test fix Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698