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

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

Issue 16320005: Define EncodedVideoSource and RtcCapturedEncodingVideoCapturer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename encoded_video_source_messages to encoded_video_capture_messages. Add buffer_size in OnOpened… Created 7 years, 6 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 672fbd403c3374b0ed97a645119027e29808e7a9..af2f4073f3728caef6da3227f5543725185efdb7 100644
--- a/content/renderer/media/video_capture_impl_manager.cc
+++ b/content/renderer/media/video_capture_impl_manager.cc
@@ -6,16 +6,22 @@
#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_(NULL) {
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();
+#endif
}
media::VideoCapture* VideoCaptureImplManager::AddDevice(
@@ -30,6 +36,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 +67,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];

Powered by Google App Engine
This is Rietveld 408576698