Index: media/video/gpu_memory_buffer_video_frame_pool.cc |
diff --git a/media/video/gpu_memory_buffer_video_frame_pool.cc b/media/video/gpu_memory_buffer_video_frame_pool.cc |
index 7ac0cd763324765bc657812752e301031e5e0d7a..68f2537007a9c583fd27d375889ad8ee7fc77d9b 100644 |
--- a/media/video/gpu_memory_buffer_video_frame_pool.cc |
+++ b/media/video/gpu_memory_buffer_video_frame_pool.cc |
@@ -757,14 +757,16 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::ReturnFrameResources( |
frame_resources->SetIsInUse(false); |
} |
-GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool() {} |
+GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool() |
+ : weak_ptr_factory_(this) {} |
GpuMemoryBufferVideoFramePool::GpuMemoryBufferVideoFramePool( |
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
const scoped_refptr<base::TaskRunner>& worker_task_runner, |
GpuVideoAcceleratorFactories* gpu_factories) |
: pool_impl_( |
- new PoolImpl(media_task_runner, worker_task_runner, gpu_factories)) { |
+ new PoolImpl(media_task_runner, worker_task_runner, gpu_factories)), |
+ weak_ptr_factory_(this) { |
base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
pool_impl_.get(), "GpuMemoryBufferVideoFramePool", media_task_runner); |
} |
@@ -781,4 +783,9 @@ void GpuMemoryBufferVideoFramePool::MaybeCreateHardwareFrame( |
pool_impl_->CreateHardwareFrame(video_frame, frame_ready_cb); |
} |
+base::WeakPtr<GpuMemoryBufferVideoFramePool> |
+GpuMemoryBufferVideoFramePool::GetWeakPtr() { |
+ return weak_ptr_factory_.GetWeakPtr(); |
+} |
+ |
} // namespace media |