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

Unified Diff: content/renderer/media/video_capture_impl_manager.cc

Issue 2377163002: VideoCaptureImpl cleanup: merge ctor+Init() and DeInit()+dtor. (Closed)
Patch Set: miu@s comment on passing |io_task_runner| argument Created 4 years, 3 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: content/renderer/media/video_capture_impl_manager.cc
diff --git a/content/renderer/media/video_capture_impl_manager.cc b/content/renderer/media/video_capture_impl_manager.cc
index 39ba85a0dcd0628402e28242b8c3c4680374eff0..7e0fff9ec4981a2450d24708ba788e5563509860 100644
--- a/content/renderer/media/video_capture_impl_manager.cc
+++ b/content/renderer/media/video_capture_impl_manager.cc
@@ -71,11 +71,8 @@ VideoCaptureImplManager::~VideoCaptureImplManager() {
return;
// Forcibly release all video capture resources.
for (auto& entry : devices_) {
- ChildProcess::current()->io_task_runner()->PostTask(
- FROM_HERE, base::Bind(&VideoCaptureImpl::DeInit,
- base::Unretained(entry.impl.get())));
- ChildProcess::current()->io_task_runner()->DeleteSoon(
- FROM_HERE, entry.impl.release());
+ ChildProcess::current()->io_task_runner()->DeleteSoon(FROM_HERE,
+ entry.impl.release());
}
devices_.clear();
}
@@ -91,11 +88,10 @@ base::Closure VideoCaptureImplManager::UseDevice(
it = devices_.end() - 1;
it->session_id = id;
it->impl = CreateVideoCaptureImplForTesting(id, filter_.get());
- if (!it->impl)
- it->impl.reset(new VideoCaptureImpl(id, filter_.get()));
- ChildProcess::current()->io_task_runner()->PostTask(
- FROM_HERE, base::Bind(&VideoCaptureImpl::Init,
- base::Unretained(it->impl.get())));
+ if (!it->impl) {
+ it->impl.reset(new VideoCaptureImpl(
+ id, filter_.get(), ChildProcess::current()->io_task_runner()));
+ }
}
++it->client_count;
@@ -238,11 +234,8 @@ void VideoCaptureImplManager::UnrefDevice(
--it->client_count;
if (it->client_count > 0)
return;
- ChildProcess::current()->io_task_runner()->PostTask(
- FROM_HERE, base::Bind(&VideoCaptureImpl::DeInit,
- base::Unretained(it->impl.get())));
- ChildProcess::current()->io_task_runner()->DeleteSoon(
- FROM_HERE, it->impl.release());
+ ChildProcess::current()->io_task_runner()->DeleteSoon(FROM_HERE,
+ it->impl.release());
devices_.erase(it);
}
« no previous file with comments | « content/renderer/media/video_capture_impl.cc ('k') | content/renderer/media/video_capture_impl_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698