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..07d0a834cabccbcb8b5016163d0363ca22dbf6ad 100644 |
--- a/content/renderer/media/video_capture_impl_manager.cc |
+++ b/content/renderer/media/video_capture_impl_manager.cc |
@@ -6,6 +6,7 @@ |
#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" |
@@ -16,6 +17,10 @@ VideoCaptureImplManager::VideoCaptureImplManager() |
thread_.Start(); |
message_loop_proxy_ = thread_.message_loop_proxy(); |
filter_ = new VideoCaptureMessageFilter(); |
+ |
+#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) |
+ encoding_capturer_factory_ = new RtcEncodingVideoCapturerFactory(); |
Ami GONE FROM CHROMIUM
2013/06/12 01:44:06
Are you planning to hold off landing this CL until
hshi1
2013/06/12 17:52:39
Theoretically this wouldn't "break" cros/arm, beca
|
+#endif |
} |
media::VideoCapture* VideoCaptureImplManager::AddDevice( |
@@ -30,6 +35,8 @@ media::VideoCapture* VideoCaptureImplManager::AddDevice( |
new VideoCaptureImpl(id, message_loop_proxy_.get(), filter_.get()); |
devices_[id] = new Device(vc, handler); |
vc->Init(); |
+ if (encoding_capturer_factory_) |
+ encoding_capturer_factory_->OnEncodedVideoSourceAdded(vc); |
return vc; |
} |
@@ -59,6 +66,9 @@ void VideoCaptureImplManager::RemoveDevice( |
if (size == it->second->clients.size() || size > 1) |
return; |
+ if (encoding_capturer_factory_) |
+ encoding_capturer_factory_->OnEncodedVideoSourceRemoved(devices_[id]->vc); |
+ |
devices_[id]->vc->DeInit(base::Bind(&VideoCaptureImplManager::FreeDevice, |
this, devices_[id]->vc)); |
delete devices_[id]; |