Chromium Code Reviews| 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, |
|
pdr.
2016/12/02 21:17:07
Does this need to be virtual?
aleksandar.stojiljkovic
2016/12/02 21:28:51
Yes. It gets overridden in WebMediaPlayer_MS where
|
| + 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( |