Index: third_party/WebKit/public/platform/WebMediaPlayer.h |
diff --git a/third_party/WebKit/public/platform/WebMediaPlayer.h b/third_party/WebKit/public/platform/WebMediaPlayer.h |
index 792328531796a3b0b2a1c7f682cfdaf51f79012e..68439a87c2b8b9f0eced4cbf8b7583a7fe7bd2c8 100644 |
--- a/third_party/WebKit/public/platform/WebMediaPlayer.h |
+++ b/third_party/WebKit/public/platform/WebMediaPlayer.h |
@@ -105,6 +105,14 @@ class WebMediaPlayer { |
typedef WebString TrackId; |
enum TrackType { TextTrack, AudioTrack, VideoTrack }; |
+ // This must stay in sync with WebGLRenderingContextBase::TexImageFunctionID. |
+ enum TexImageFunctionID { |
+ TexImage2D, |
+ TexSubImage2D, |
+ TexImage3D, |
+ TexSubImage3D |
+ }; |
+ |
virtual ~WebMediaPlayer() {} |
virtual void load(LoadType, const WebMediaPlayerSource&, CORSMode) = 0; |
@@ -208,6 +216,30 @@ class WebMediaPlayer { |
return false; |
} |
+ // Do tex(Sub)Image2D/3D for current frame. If it is not implemented for given |
+ // parameters or fails, it returns false. |
+ // The method is wrapping calls to glTexImage2D, glTexSubImage2D, |
+ // glTexImage3D and glTexSubImage3D and parameters have the same name and |
+ // meaning. |
+ // Texture needs to be created and bound to active texture unit before this |
+ // call. In addition, TexSubImage2D and TexSubImage3D require that previous |
+ // TexImage2D and TexSubImage3D calls, respectivelly, defined the texture |
+ // content. |
+ virtual bool texImageImpl(TexImageFunctionID functionID, |
+ unsigned target, |
+ gpu::gles2::GLES2Interface* gl, |
+ int level, |
+ int internalformat, |
+ unsigned format, |
+ unsigned type, |
+ int xoffset, |
+ int yoffset, |
+ int zoffset, |
+ bool flipY, |
+ bool premultiplyAlpha) { |
+ return false; |
+ } |
+ |
virtual WebAudioSourceProvider* getAudioSourceProvider() { return nullptr; } |
virtual void setContentDecryptionModule( |