Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2151)

Unified Diff: media/video/gpu_memory_buffer_video_frame_pool.cc

Issue 1686123004: Post GpuMemoryBufferVideoFramePool deletion on media thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Using WeakPtr Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698