Index: media/filters/skcanvas_video_renderer.cc |
diff --git a/media/filters/skcanvas_video_renderer.cc b/media/filters/skcanvas_video_renderer.cc |
index 062e317b71da03476438e156bb2f5d2cedc47b00..46bb7e6b453c3d102bd7a49eb55aa468c1d74dfb 100644 |
--- a/media/filters/skcanvas_video_renderer.cc |
+++ b/media/filters/skcanvas_video_renderer.cc |
@@ -188,7 +188,8 @@ SkCanvasVideoRenderer::~SkCanvasVideoRenderer() {} |
void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, |
SkCanvas* canvas, |
const gfx::RectF& dest_rect, |
- uint8 alpha) { |
+ uint8 alpha, |
+ SkXfermode::Mode mode) { |
if (alpha == 0) { |
return; |
} |
@@ -213,9 +214,7 @@ void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, |
last_frame_timestamp_ = video_frame->timestamp(); |
} |
- // Use SRC mode so we completely overwrite the buffer (in case we have alpha) |
- // this means we don't need the extra cost of clearing the buffer first. |
- paint.setXfermode(SkXfermode::Create(SkXfermode::kSrc_Mode)); |
+ paint.setXfermodeMode(mode); |
// Paint using |last_frame_|. |
paint.setFilterLevel(SkPaint::kLow_FilterLevel); |