Index: content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
diff --git a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
index 77b5241932992dc95f38143209e770ce3ec27087..aed2e2931b28eb12061b1f90147dbec826539071 100644 |
--- a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
+++ b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
@@ -10,7 +10,7 @@ |
#include "base/synchronization/waitable_event.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "base/trace_event/trace_event.h" |
-#include "cc/paint/paint_surface.h" |
+#include "cc/paint/skia_paint_canvas.h" |
#include "content/renderer/media/webrtc/webrtc_video_frame_adapter.h" |
#include "content/renderer/render_thread_impl.h" |
#include "media/base/timestamp_constants.h" |
@@ -101,10 +101,12 @@ class WebRtcVideoCapturerAdapter::TextureFrameCopier |
frame->format() == media::PIXEL_FORMAT_UYVY || |
frame->format() == media::PIXEL_FORMAT_NV12); |
ScopedWaitableEvent event(waiter); |
- sk_sp<cc::PaintSurface> surface = cc::PaintSurface::MakeRasterN32Premul( |
- frame->visible_rect().width(), frame->visible_rect().height()); |
- if (!surface || !provider_) { |
+ std::unique_ptr<cc::SkiaPaintCanvas> canvas( |
+ cc::SkiaPaintCanvas::CreateRasterZeroed(SkImageInfo::MakeN32Premul( |
+ frame->visible_rect().width(), frame->visible_rect().height()))); |
+ |
+ if (!canvas || !provider_) { |
// Return a black frame (yuv = {0, 0x80, 0x80}). |
*new_frame = media::VideoFrame::CreateColorFrame( |
frame->visible_rect().size(), 0u, 0x80, 0x80, frame->timestamp()); |
@@ -116,11 +118,11 @@ class WebRtcVideoCapturerAdapter::TextureFrameCopier |
frame->natural_size(), frame->timestamp()); |
DCHECK(provider_->ContextGL()); |
canvas_video_renderer_->Copy( |
- frame.get(), surface->getCanvas(), |
+ frame.get(), canvas.get(), |
media::Context3D(provider_->ContextGL(), provider_->GrContext())); |
SkPixmap pixmap; |
- const bool result = surface->getCanvas()->peekPixels(&pixmap); |
+ const bool result = cc::ToPixmap(canvas.get(), &pixmap); |
DCHECK(result) << "Error trying to access PaintSurface's pixels"; |
const uint32 source_pixel_format = |
(kN32_SkColorType == kRGBA_8888_SkColorType) ? cricket::FOURCC_ABGR |