Index: content/common/gpu/gpu_channel.h |
diff --git a/content/common/gpu/gpu_channel.h b/content/common/gpu/gpu_channel.h |
index df2fd54576521d13adc53814647c3c37c1b8968d..61882b325a31f7a0aaba6dc8a3442a2caca74151 100644 |
--- a/content/common/gpu/gpu_channel.h |
+++ b/content/common/gpu/gpu_channel.h |
@@ -8,6 +8,7 @@ |
#include <deque> |
#include <string> |
+#include "base/containers/scoped_ptr_hash_map.h" |
#include "base/id_map.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
@@ -18,6 +19,7 @@ |
#include "content/common/gpu/gpu_command_buffer_stub.h" |
#include "content/common/gpu/gpu_memory_manager.h" |
#include "content/common/gpu/gpu_result_codes.h" |
+#include "content/common/gpu/media/gpu_jpeg_decode_accelerator.h" |
#include "content/common/message_router.h" |
#include "gpu/command_buffer/service/valuebuffer_manager.h" |
#include "ipc/ipc_sync_channel.h" |
@@ -169,6 +171,8 @@ class GpuChannel : public IPC::Listener, public IPC::Sender, |
return pending_valuebuffer_state_.get(); |
} |
+ void ReleaseJpegDecoder(int32 route_id); |
+ |
private: |
friend class GpuChannelMessageFilter; |
@@ -185,6 +189,7 @@ class GpuChannel : public IPC::Listener, public IPC::Sender, |
int32 route_id, |
bool* succeeded); |
void OnDestroyCommandBuffer(int32 route_id); |
+ void OnCreateJpegDecoder(int32 route_id, bool* succeeded); |
// Decrement the count of unhandled IPC messages and defer preemption. |
void MessageProcessed(); |
@@ -230,6 +235,10 @@ class GpuChannel : public IPC::Listener, public IPC::Sender, |
typedef IDMap<GpuCommandBufferStub, IDMapOwnPointer> StubMap; |
StubMap stubs_; |
+ // A map from route id to Jpeg decoder. |
+ base::ScopedPtrHashMap<int32, scoped_ptr<content::GpuJpegDecodeAccelerator>> |
+ jpeg_decoder_map_; |
+ |
bool log_messages_; // True if we should log sent and received messages. |
gpu::gles2::DisallowedFeatures disallowed_features_; |
GpuWatchdog* watchdog_; |