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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1840563002: Revert of media: Enable Unified Media Pipeline for MSE and EME on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | media/base/media.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 5c6b3aa77dbf49fcac774ff2773db90487d463d8..a41cdb260b8e4372543204bdd996cae5d36ee182 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -214,10 +214,8 @@
#endif
#if defined(ENABLE_PEPPER_CDMS)
-#include "content/renderer/media/cdm/render_cdm_factory.h"
#include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h"
#elif defined(ENABLE_BROWSER_CDMS)
-#include "content/renderer/media/cdm/render_cdm_factory.h"
#include "content/renderer/media/cdm/renderer_cdm_manager.h"
#endif
@@ -227,6 +225,8 @@
#if defined(ENABLE_MOJO_CDM)
#include "media/mojo/services/mojo_cdm_factory.h" // nogncheck
+#else
+#include "content/renderer/media/cdm/render_cdm_factory.h"
#endif
#if defined(ENABLE_MOJO_RENDERER)
@@ -760,13 +760,17 @@
//
// Note that HLS and MP4 detection are pre-redirect and path-based. It is
// possible to load such a URL and find different content.
-bool UseWebMediaPlayerImpl(const GURL& url) {
+bool UseWebMediaPlayerImpl(blink::WebMediaPlayer::LoadType load_type,
+ const GURL& url) {
+ if (load_type == blink::WebMediaPlayer::LoadTypeMediaSource)
+ return media::IsUnifiedMediaPipelineEnabledForMse();
+
// WMPI does not support HLS.
if (media::MediaCodecUtil::IsHLSPath(url))
return false;
// Don't use WMPI if the container likely contains a codec we can't decode in
- // software and platform decoders are not available.
+ // software and hardware decoders are not available.
if (base::EndsWith(url.path(), ".mp4",
base::CompareCase::INSENSITIVE_ASCII) &&
!media::HasPlatformDecoderSupport()) {
@@ -777,24 +781,6 @@
return media::IsUnifiedMediaPipelineEnabled();
}
#endif // defined(OS_ANDROID)
-
-#if defined(ENABLE_MOJO_CDM)
-// Returns whether mojo CDM should be used at runtime. Note that even when mojo
-// CDM is enabled at compile time (ENABLE_MOJO_CDM is defined), there are cases
-// where we want to choose other CDM types. For example, on Android when we use
-// WebMediaPlayerAndroid, we still want to use ProxyMediaKeys. In the future,
-// when we experiment mojo CDM on desktop, we will choose between mojo CDM and
-// pepper CDM at runtime.
-// TODO(xhwang): Remove this when we use mojo CDM for all remote CDM cases by
-// default.
-bool UseMojoCdm() {
-#if defined(OS_ANDROID)
- return media::IsUnifiedMediaPipelineEnabled();
-#else
- return true;
-#endif
-}
-#endif // defined(ENABLE_MOJO_CDM)
} // namespace
@@ -2396,6 +2382,7 @@
}
blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
+ blink::WebMediaPlayer::LoadType load_type,
const blink::WebURL& url,
WebMediaPlayerClient* client,
WebMediaPlayerEncryptedMediaClient* encrypted_client,
@@ -2442,7 +2429,7 @@
initial_cdm, media_surface_manager_, media_session);
#if defined(OS_ANDROID)
- if (!UseWebMediaPlayerImpl(url))
+ if (!UseWebMediaPlayerImpl(load_type, url))
return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
#endif // defined(OS_ANDROID)
@@ -5917,25 +5904,26 @@
}
media::CdmFactory* RenderFrameImpl::GetCdmFactory() {
- if (cdm_factory_)
- return cdm_factory_.get();
-
-#if defined(ENABLE_MOJO_CDM)
- if (UseMojoCdm()) {
- cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider()));
- return cdm_factory_.get();
- }
-#endif // defined(ENABLE_MOJO_CDM)
-
-#if defined(ENABLE_PEPPER_CDMS)
- DCHECK(frame_);
- cdm_factory_.reset(
- new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_)));
-#elif defined(ENABLE_BROWSER_CDMS)
+#if defined(ENABLE_BROWSER_CDMS)
if (!cdm_manager_)
cdm_manager_ = new RendererCdmManager(this);
- cdm_factory_.reset(new RenderCdmFactory(cdm_manager_));
-#endif // defined(ENABLE_PEPPER_CDMS)
+#endif // defined(ENABLE_BROWSER_CDMS)
+
+ if (!cdm_factory_) {
+ DCHECK(frame_);
+
+#if defined(ENABLE_MOJO_CDM)
+ cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider()));
+#else
+ cdm_factory_.reset(new RenderCdmFactory(
+#if defined(ENABLE_PEPPER_CDMS)
+ base::Bind(&PepperCdmWrapperImpl::Create, frame_)
+#elif defined(ENABLE_BROWSER_CDMS)
+ cdm_manager_
+#endif
+ ));
+#endif // defined(ENABLE_MOJO_CDM)
+ }
return cdm_factory_.get();
}
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | media/base/media.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698