Index: gpu/command_buffer/service/stream_texture_manager_in_process_android.h |
diff --git a/gpu/command_buffer/service/stream_texture_manager_in_process_android.h b/gpu/command_buffer/service/stream_texture_manager_in_process_android.h |
index 8b507b058fca33b6fe246c802c7fded6d6840d5e..aeba4e3cba6b991ed7fcc2c14fc96d147ed679c7 100644 |
--- a/gpu/command_buffer/service/stream_texture_manager_in_process_android.h |
+++ b/gpu/command_buffer/service/stream_texture_manager_in_process_android.h |
@@ -7,6 +7,7 @@ |
#include <map> |
+#include "base/atomic_sequence_num.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
#include "base/synchronization/lock.h" |
@@ -27,19 +28,25 @@ class StreamTextureManagerInProcess : public base::NonThreadSafe { |
StreamTextureManagerInProcess(); |
~StreamTextureManagerInProcess(); |
- uint32 CreateStreamTexture(uint32 client_texture_id, |
- gles2::TextureManager* texture_manager); |
+ int32 CreateStreamTexture(uint32 client_texture_id, |
+ gles2::TextureManager* texture_manager); |
+ void SetStreamTextureSize(uint32 client_texture_id, |
+ int32 stream_id, |
+ size_t width, |
+ size_t height, |
+ gles2::TextureManager* texture_manager); |
// This method can be called from any thread. |
- scoped_refptr<gfx::SurfaceTexture> GetSurfaceTexture(uint32 stream_id); |
+ scoped_refptr<gfx::SurfaceTexture> GetSurfaceTexture(int32 stream_id); |
private: |
- void OnReleaseStreamTexture(uint32 stream_id); |
+ void OnReleaseStreamTexture(int32 stream_id); |
- typedef std::map<uint32, scoped_refptr<gfx::SurfaceTexture> > TextureMap; |
- TextureMap textures_; |
+ class GLImage; |
+ typedef std::map<int32, GLImage*> ImageMap; |
+ ImageMap images_; |
base::Lock map_lock_; |
- uint32 next_id_; |
+ base::AtomicSequenceNumber next_id_; |
base::WeakPtrFactory<StreamTextureManagerInProcess> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(StreamTextureManagerInProcess); |