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]; |