Index: content/common/gpu/media/gpu_video_decode_accelerator.h |
diff --git a/content/common/gpu/media/gpu_video_decode_accelerator.h b/content/common/gpu/media/gpu_video_decode_accelerator.h |
index e085c537232496a3273d193583f9f50992056e0e..47f6425a41a22649a8213aeb52d143915ceae2d1 100644 |
--- a/content/common/gpu/media/gpu_video_decode_accelerator.h |
+++ b/content/common/gpu/media/gpu_video_decode_accelerator.h |
@@ -5,6 +5,7 @@ |
#ifndef CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_DECODE_ACCELERATOR_H_ |
#define CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_DECODE_ACCELERATOR_H_ |
+#include <map> |
#include <vector> |
#include "base/compiler_specific.h" |
@@ -12,6 +13,7 @@ |
#include "base/memory/shared_memory.h" |
#include "content/common/gpu/gpu_command_buffer_stub.h" |
#include "content/common/gpu/media/video_decode_accelerator_impl.h" |
+#include "gpu/command_buffer/service/texture_manager.h" |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_sender.h" |
#include "media/video/video_decode_accelerator.h" |
@@ -81,6 +83,9 @@ class GpuVideoDecodeAccelerator |
// Called on IO thread when |filter_| has been removed. |
void OnFilterRemoved(); |
+ // Sets the texture to cleared. |
+ void SetTextureCleared(const media::Picture& picture); |
+ |
// Message to Send() when initialization is done. Is only non-NULL during |
// initialization and is owned by the IPC channel underlying the |
// GpuCommandBufferStub. |
@@ -117,6 +122,14 @@ class GpuVideoDecodeAccelerator |
// Weak pointers will be invalidated on IO thread. |
base::WeakPtrFactory<Client> weak_factory_for_io_; |
+ // Protects |uncleared_textures_| when DCHECK is on. This is for debugging |
+ // only. We don't want to hold a lock on IO thread. When DCHECK is off, |
+ // |uncleared_textures_| is only accessed from the child thread. |
+ base::Lock debug_uncleared_textures_lock_; |
+ |
+ // A map from picture buffer ID to TextureRef that have not been cleared. |
+ std::map<int32, scoped_refptr<gpu::gles2::TextureRef> > uncleared_textures_; |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(GpuVideoDecodeAccelerator); |
}; |