| Index: media/gpu/ipc/service/media_gpu_channel_manager.h
|
| diff --git a/media/gpu/ipc/service/media_gpu_channel_manager.h b/media/gpu/ipc/service/media_gpu_channel_manager.h
|
| index 718b8b8f33395fa48d06428a948901d244ce0548..f38e6d448c022f85e6de7eae985dbd6185910993 100644
|
| --- a/media/gpu/ipc/service/media_gpu_channel_manager.h
|
| +++ b/media/gpu/ipc/service/media_gpu_channel_manager.h
|
| @@ -11,6 +11,8 @@
|
|
|
| #include "base/containers/scoped_ptr_hash_map.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "base/unguessable_token.h"
|
| #include "ipc/ipc_listener.h"
|
| #include "ipc/ipc_sender.h"
|
| #include "media/video/video_decode_accelerator.h"
|
| @@ -24,7 +26,8 @@ namespace media {
|
|
|
| class MediaGpuChannel;
|
|
|
| -class MediaGpuChannelManager {
|
| +class MediaGpuChannelManager
|
| + : public base::SupportsWeakPtr<MediaGpuChannelManager> {
|
| public:
|
| explicit MediaGpuChannelManager(gpu::GpuChannelManager* channel_manager);
|
| ~MediaGpuChannelManager();
|
| @@ -33,10 +36,15 @@ class MediaGpuChannelManager {
|
| void RemoveChannel(int32_t client_id);
|
| void DestroyAllChannels();
|
|
|
| + // TODO(sandersd): Should we expose the MediaGpuChannel instead?
|
| + gpu::GpuChannel* LookupChannel(base::UnguessableToken channel_token);
|
| +
|
| private:
|
| gpu::GpuChannelManager* const channel_manager_;
|
| base::ScopedPtrHashMap<int32_t, std::unique_ptr<MediaGpuChannel>>
|
| media_gpu_channels_;
|
| + std::map<base::UnguessableToken, int32_t> token_to_channel_;
|
| + std::map<int32_t, base::UnguessableToken> channel_to_token_;
|
| DISALLOW_COPY_AND_ASSIGN(MediaGpuChannelManager);
|
| };
|
|
|
|
|