summaryrefslogtreecommitdiffstats
path: root/content/renderer/media
diff options
context:
space:
mode:
authorycheo@chromium.org <ycheo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 08:57:05 +0000
committerycheo@chromium.org <ycheo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 08:57:05 +0000
commit71f4a0c8193841a657f56c23b70dbe85d1aa9acb (patch)
treed9969f3aff5f9720515c00352ec1712055de1503 /content/renderer/media
parent0be8fc5087f961212ea387b79ce5fcb2dbd4f619 (diff)
downloadchromium_src-71f4a0c8193841a657f56c23b70dbe85d1aa9acb.zip
chromium_src-71f4a0c8193841a657f56c23b70dbe85d1aa9acb.tar.gz
chromium_src-71f4a0c8193841a657f56c23b70dbe85d1aa9acb.tar.bz2
Add a flag to use the video overlay for the embedded video forcefully.
This flag is for the purpose to test the hole punching logic in Android WebView. BUG=329447 Review URL: https://codereview.chromium.org/231643007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/media')
-rw-r--r--content/renderer/media/android/webmediaplayer_android.cc6
-rw-r--r--content/renderer/media/android/webmediaplayer_android.h4
2 files changed, 9 insertions, 1 deletions
diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
index 58eb622..ff4f62f 100644
--- a/content/renderer/media/android/webmediaplayer_android.cc
+++ b/content/renderer/media/android/webmediaplayer_android.cc
@@ -17,6 +17,7 @@
#include "base/strings/utf_string_conversions.h"
#include "cc/layers/video_layer.h"
#include "content/public/common/content_client.h"
+#include "content/public/common/content_switches.h"
#include "content/public/renderer/render_frame.h"
#include "content/renderer/media/android/renderer_demuxer_android.h"
#include "content/renderer/media/android/renderer_media_player_manager.h"
@@ -130,6 +131,8 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
// Defer stream texture creation until we are sure it's necessary.
needs_establish_peer_ = false;
current_frame_ = VideoFrame::CreateBlackFrame(gfx::Size(1, 1));
+ force_use_overlay_embedded_video_ = CommandLine::ForCurrentProcess()->
+ HasSwitch(switches::kForceUseOverlayEmbeddedVideo);
#endif // defined(VIDEO_HOLE)
TryCreateStreamTextureProxyIfNeeded();
}
@@ -672,7 +675,8 @@ void WebMediaPlayerAndroid::OnVideoSizeChanged(int width, int height) {
#if defined(VIDEO_HOLE)
// Use H/W surface for encrypted video.
// TODO(qinmin): Change this so that only EME needs the H/W surface
- if (media_source_delegate_ && media_source_delegate_->IsVideoEncrypted()) {
+ if (force_use_overlay_embedded_video_ ||
+ (media_source_delegate_ && media_source_delegate_->IsVideoEncrypted())) {
needs_external_surface_ = true;
if (!paused() && !manager_->IsInFullscreen(frame_))
manager_->RequestExternalSurface(player_id_, last_computed_rect_);
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h
index caca767..1dcadb4 100644
--- a/content/renderer/media/android/webmediaplayer_android.h
+++ b/content/renderer/media/android/webmediaplayer_android.h
@@ -393,6 +393,10 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
// A rectangle represents the geometry of video frame, when computed last
// time.
gfx::RectF last_computed_rect_;
+
+ // Whether to use the video overlay for all embedded video.
+ // True only for testing.
+ bool force_use_overlay_embedded_video_;
#endif // defined(VIDEO_HOLE)
scoped_ptr<MediaSourceDelegate,