Chromium Code Reviews| 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 672fbd403c3374b0ed97a645119027e29808e7a9..64c88f3f2050f4959ee6ada1b47b98bf25009d30 100644 |
| --- a/content/renderer/media/video_capture_impl_manager.cc |
| +++ b/content/renderer/media/video_capture_impl_manager.cc |
| @@ -6,13 +6,15 @@ |
| #include "base/bind.h" |
| #include "base/stl_util.h" |
| +#include "content/renderer/media/rtc_encoding_video_capturer_factory.h" |
| #include "content/renderer/media/video_capture_impl.h" |
| #include "content/renderer/media/video_capture_message_filter.h" |
| namespace content { |
| VideoCaptureImplManager::VideoCaptureImplManager() |
| - : thread_("VC manager") { |
| + : thread_("VC manager"), |
| + encoding_capturer_factory_(new RtcEncodingVideoCapturerFactory()) { |
|
Ami GONE FROM CHROMIUM
2013/06/08 00:18:01
flag-protect?
hshi1
2013/06/11 17:49:42
Per discussion with Zel I'm guarding this with #if
|
| thread_.Start(); |
| message_loop_proxy_ = thread_.message_loop_proxy(); |
| filter_ = new VideoCaptureMessageFilter(); |
| @@ -30,6 +32,9 @@ media::VideoCapture* VideoCaptureImplManager::AddDevice( |
| new VideoCaptureImpl(id, message_loop_proxy_.get(), filter_.get()); |
| devices_[id] = new Device(vc, handler); |
| vc->Init(); |
| + media::EncodedVideoSource* evs = vc->GetEncodedVideoSource(); |
| + if (encoding_capturer_factory_ && evs) |
|
Ami GONE FROM CHROMIUM
2013/06/08 00:18:01
how can encoding_capturer_factory_ be false?
hshi1
2013/06/11 17:49:42
Since I'm guarding encoding_capturer_factory_ with
|
| + encoding_capturer_factory_->OnEncodedVideoSourceAdded(evs); |
| return vc; |
| } |
| @@ -59,6 +64,10 @@ void VideoCaptureImplManager::RemoveDevice( |
| if (size == it->second->clients.size() || size > 1) |
| return; |
| + media::EncodedVideoSource* evs = devices_[id]->vc->GetEncodedVideoSource(); |
| + if (encoding_capturer_factory_ && evs) |
|
Ami GONE FROM CHROMIUM
2013/06/08 00:18:01
ditto encoding_capturer_factory_ is never NULL
hshi1
2013/06/11 17:49:42
ditto (NULL on non-ARM-CrOS platform).
|
| + encoding_capturer_factory_->OnEncodedVideoSourceRemoved(evs); |
| + |
| devices_[id]->vc->DeInit(base::Bind(&VideoCaptureImplManager::FreeDevice, |
| this, devices_[id]->vc)); |
| delete devices_[id]; |