Index: content/common/gpu/media/gles2_texture_to_egl_image_translator.h |
=================================================================== |
--- content/common/gpu/media/gles2_texture_to_egl_image_translator.h (revision 127422) |
+++ content/common/gpu/media/gles2_texture_to_egl_image_translator.h (working copy) |
@@ -5,6 +5,8 @@ |
#ifndef CONTENT_COMMON_GPU_MEDIA_GLES2_TEXTURE_TO_EGL_IMAGE_TRANSLATOR_H_ |
#define CONTENT_COMMON_GPU_MEDIA_GLES2_TEXTURE_TO_EGL_IMAGE_TRANSLATOR_H_ |
+#include <map> |
+ |
#include "base/basictypes.h" |
#include "media/video/picture.h" |
#include "third_party/angle/include/EGL/egl.h" |
@@ -16,23 +18,23 @@ |
// PPAPI will give the textures to OmxVideoDecodeAccelerator. |
// OmxVideoDecodeAccelerator will use this class to convert |
// these texture into EGLImage and back. |
-// |
-// TODO(fischman): this class is now stateless (it wasn't always). If it seems |
-// like it'll stay stateless, replace with a namespace and free functions, or |
-// just in-line them into the only caller, OmxVideoDecodeAccelerator. |
class Gles2TextureToEglImageTranslator { |
public: |
- Gles2TextureToEglImageTranslator(); |
+ Gles2TextureToEglImageTranslator(bool use_backing_pixmaps); |
~Gles2TextureToEglImageTranslator(); |
// Translates texture into EGLImage and back. |
EGLImageKHR TranslateToEglImage(EGLDisplay egl_display, |
EGLContext egl_context, |
- uint32 texture); |
+ uint32 texture, |
+ const gfx::Size& dimensions); |
uint32 TranslateToTexture(EGLImageKHR egl_image); |
void DestroyEglImage(EGLDisplay egl_display, EGLImageKHR egl_image); |
private: |
+ bool use_backing_pixmaps_; |
+ typedef std::map<EGLImageKHR, Pixmap> ImagePixmap; |
+ ImagePixmap eglimage_pixmap_; |
DISALLOW_COPY_AND_ASSIGN(Gles2TextureToEglImageTranslator); |
}; |