Index: content/renderer/media/android/webmediaplayer_android.h |
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h |
index 1b90148d93adf047724be3a86d9159e1e51ef421..e87351134748bac1c3261c6167f32ee9efc8e06f 100644 |
--- a/content/renderer/media/android/webmediaplayer_android.h |
+++ b/content/renderer/media/android/webmediaplayer_android.h |
@@ -15,6 +15,7 @@ |
#include "base/memory/weak_ptr.h" |
#include "base/time/time.h" |
#include "cc/layers/video_frame_provider.h" |
+#include "cc/resources/media/skcanvas_video_renderer.h" |
#include "content/common/media/media_player_messages_enums_android.h" |
#include "content/public/renderer/render_frame_observer.h" |
#include "content/renderer/media/android/media_info_loader.h" |
@@ -25,13 +26,9 @@ |
#include "media/base/android/media_player_android.h" |
#include "media/base/demuxer_stream.h" |
#include "media/base/media_keys.h" |
-#include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
#include "third_party/WebKit/public/platform/WebSize.h" |
#include "third_party/WebKit/public/platform/WebURL.h" |
-#include "third_party/skia/include/core/SkBitmap.h" |
-#include "third_party/skia/include/gpu/GrContext.h" |
-#include "third_party/skia/include/gpu/SkGrPixelRef.h" |
#include "ui/gfx/rect_f.h" |
namespace base { |
@@ -40,6 +37,7 @@ class MessageLoopProxy; |
namespace blink { |
class WebContentDecryptionModule; |
+class WebGraphicsContext3D; |
class WebFrame; |
class WebURL; |
} |
@@ -106,10 +104,6 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
virtual void setPoster(const blink::WebURL& poster) OVERRIDE; |
// Methods for painting. |
- // FIXME: This path "only works" on Android. It is a workaround for the |
- // issue that Skia could not handle Android's GL_TEXTURE_EXTERNAL_OES texture |
- // internally. It should be removed and replaced by the normal paint path. |
- // https://code.google.com/p/skia/issues/detail?id=1189 |
virtual void paint(blink::WebCanvas* canvas, |
const blink::WebRect& rect, |
unsigned char alpha); |
@@ -121,7 +115,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
unsigned int internal_format, |
unsigned int type, |
bool premultiply_alpha, |
- bool flip_y); |
+ bool flip_y) OVERRIDE; |
// True if the loaded media has a playable video/audio track. |
virtual bool hasVideo() const; |
@@ -284,11 +278,6 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
// NULL immediately and reset. |
void SetDecryptorReadyCB(const media::DecryptorReadyCB& decryptor_ready_cb); |
- bool EnsureTextureBackedSkBitmap(GrContext* gr, SkBitmap& bitmap, |
- const blink::WebSize& size, |
- GrSurfaceOrigin origin, |
- GrPixelConfig config); |
- |
blink::WebFrame* const frame_; |
blink::WebMediaPlayerClient* const client_; |
@@ -448,7 +437,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
// player_manager_->SetCdm() directly. |
media::DecryptorReadyCB decryptor_ready_cb_; |
- SkBitmap bitmap_; |
+ cc::SkCanvasVideoRenderer skcanvas_video_renderer_; |
// NOTE: Weak pointers must be invalidated before all other member variables. |
base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; |