Index: content/browser/renderer_host/media/video_capture_host.cc |
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc |
index ed3fea6485894c4f1aa8067423b740dfd482df9f..3720897a67ef8e19b50d57e59ead5c994ea0b1f4 100644 |
--- a/content/browser/renderer_host/media/video_capture_host.cc |
+++ b/content/browser/renderer_host/media/video_capture_host.cc |
@@ -147,6 +147,8 @@ bool VideoCaptureHost::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Start, OnStartCapture) |
IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Pause, OnPauseCapture) |
IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Resume, OnResumeCapture) |
+ IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_RequestRefreshFrame, |
+ OnRequestRefreshFrame) |
IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_Stop, OnStopCapture) |
IPC_MESSAGE_HANDLER(VideoCaptureHostMsg_BufferReady, |
OnRendererFinishedWithBuffer) |
@@ -262,6 +264,22 @@ void VideoCaptureHost::OnResumeCapture( |
} |
} |
+void VideoCaptureHost::OnRequestRefreshFrame(int device_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ DVLOG(1) << "VideoCaptureHost::OnRequestRefreshFrame, device_id " |
+ << device_id; |
+ |
+ VideoCaptureControllerID controller_id(device_id); |
+ EntryMap::iterator it = entries_.find(controller_id); |
+ if (it == entries_.end()) |
+ return; |
+ |
+ if (VideoCaptureController* controller = it->second.get()) { |
+ media_stream_manager_->video_capture_manager() |
+ ->RequestRefreshFrameForClient(controller); |
+ } |
+} |
+ |
void VideoCaptureHost::OnRendererFinishedWithBuffer( |
int device_id, |
int buffer_id, |