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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1825763002: 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
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index a41cdb260b8e4372543204bdd996cae5d36ee182..9f842d773d73099256248b9029127bdc094e8c37 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -214,8 +214,10 @@
#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
@@ -225,8 +227,6 @@
#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,11 +760,7 @@ bool IsContentWithCertificateErrorsRelevantToUI(
//
// 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(blink::WebMediaPlayer::LoadType load_type,
- const GURL& url) {
- if (load_type == blink::WebMediaPlayer::LoadTypeMediaSource)
- return media::IsUnifiedMediaPipelineEnabledForMse();
-
+bool UseWebMediaPlayerImpl(const GURL& url) {
DaleCurtis 2016/03/23 17:51:54 I wonder if we should have a if (!url.isHttpOrHttp
xhwang 2016/03/24 21:26:04 For HLS, this is kinda covered in IsHLSPath(). Fo
wolenetz 2016/03/24 22:16:26 There should be no blob URL containing trailing .m
// WMPI does not support HLS.
if (media::MediaCodecUtil::IsHLSPath(url))
return false;
@@ -2382,7 +2378,6 @@ blink::WebPlugin* RenderFrameImpl::createPlugin(
}
blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
- blink::WebMediaPlayer::LoadType load_type,
const blink::WebURL& url,
WebMediaPlayerClient* client,
WebMediaPlayerEncryptedMediaClient* encrypted_client,
@@ -2429,7 +2424,7 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
initial_cdm, media_surface_manager_, media_session);
#if defined(OS_ANDROID)
- if (!UseWebMediaPlayerImpl(load_type, url))
+ if (!UseWebMediaPlayerImpl(url))
return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
#endif // defined(OS_ANDROID)
@@ -5904,26 +5899,25 @@ bool RenderFrameImpl::AreSecureCodecsSupported() {
}
media::CdmFactory* RenderFrameImpl::GetCdmFactory() {
-#if defined(ENABLE_BROWSER_CDMS)
- if (!cdm_manager_)
- cdm_manager_ = new RendererCdmManager(this);
-#endif // defined(ENABLE_BROWSER_CDMS)
-
- if (!cdm_factory_) {
- DCHECK(frame_);
+ if (cdm_factory_)
+ return cdm_factory_.get();
#if defined(ENABLE_MOJO_CDM)
+ if (media::IsMojoCdmEnabled()) {
Tima Vaisburd 2016/03/23 19:27:52 It looks like if ENABLE_MOJO_CDM is defined, and m
xhwang 2016/03/23 20:44:06 Today we have ENABLE_BROWSER_CDMS enabled by defau
cdm_factory_.reset(new media::MojoCdmFactory(GetMediaInterfaceProvider()));
-#else
- cdm_factory_.reset(new RenderCdmFactory(
+ return cdm_factory_.get();
+ }
+#endif // defined(ENABLE_MOJO_CDM)
+
#if defined(ENABLE_PEPPER_CDMS)
- base::Bind(&PepperCdmWrapperImpl::Create, frame_)
+ DCHECK(frame_);
+ cdm_factory_.reset(
+ new RenderCdmFactory(base::Bind(&PepperCdmWrapperImpl::Create, frame_)));
#elif defined(ENABLE_BROWSER_CDMS)
- cdm_manager_
-#endif
- ));
-#endif // defined(ENABLE_MOJO_CDM)
- }
+ if (!cdm_manager_)
+ cdm_manager_ = new RendererCdmManager(this);
+ cdm_factory_.reset(new RenderCdmFactory(cdm_manager_));
+#endif // defined(ENABLE_PEPPER_CDMS)
return cdm_factory_.get();
}
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | media/base/media.h » ('j') | media/base/media.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698