| Index: content/browser/renderer_host/media/web_contents_video_capture_device.cc
|
| diff --git a/content/browser/renderer_host/media/web_contents_video_capture_device.cc b/content/browser/renderer_host/media/web_contents_video_capture_device.cc
|
| index bba926d927490e6a7b1367f149e1d5f30ee1a5d6..e5e4af7b8ae975b18e7bc8fcf894526cb08c1d73 100644
|
| --- a/content/browser/renderer_host/media/web_contents_video_capture_device.cc
|
| +++ b/content/browser/renderer_host/media/web_contents_video_capture_device.cc
|
| @@ -433,6 +433,9 @@ void VideoFrameRenderer::RenderOnRenderThread(
|
|
|
| TRACE_EVENT1("mirroring", "RenderFrame", "frame_number", frame_number);
|
|
|
| + base::ScopedClosureRunner failure_handler(
|
| + base::Bind(done_cb, static_cast<const SkBitmap*>(NULL)));
|
| +
|
| gfx::Size fitted_size;
|
| {
|
| SkAutoLockPixels locker(captured_bitmap);
|
| @@ -521,6 +524,7 @@ void VideoFrameRenderer::RenderOnRenderThread(
|
| }
|
|
|
| // The result is now ready.
|
| + failure_handler.Release();
|
| {
|
| base::AutoLock guard(lock_);
|
| out->in_use = true;
|
| @@ -1000,7 +1004,7 @@ void CaptureMachine::RenderComplete(int frame_number,
|
| --num_renders_pending_;
|
| DCHECK_LE(0, num_renders_pending_);
|
|
|
| - if (state_ != kCapturing) {
|
| + if (state_ != kCapturing || !frame_buffer) {
|
| return;
|
| }
|
|
|
|
|