X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmedia%2Ffilters%2Fskcanvas_video_renderer.cc;h=003c1951a9b4010e93e612a347d645b22aa3f66a;hb=d41e52f18cc3fee3627acf2db026b2a86c2a9d18;hp=fe1bfde044ec91a71ac05b5b88b210189d8483e2;hpb=4e9e197c26c34b7055b2c5de6d4a770d317b468c;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/media/filters/skcanvas_video_renderer.cc b/src/media/filters/skcanvas_video_renderer.cc index fe1bfde..003c195 100644 --- a/src/media/filters/skcanvas_video_renderer.cc +++ b/src/media/filters/skcanvas_video_renderer.cc @@ -190,6 +190,7 @@ void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, SkCanvas* canvas, const gfx::RectF& dest_rect, uint8 alpha, + SkXfermode::Mode mode, VideoRotation video_rotation) { if (alpha == 0) { return; @@ -233,13 +234,21 @@ 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); canvas->drawBitmapRect(last_frame_, NULL, dest, &paint); } +void SkCanvasVideoRenderer::Copy(media::VideoFrame* video_frame, + SkCanvas* canvas) { + Paint(video_frame, + canvas, + video_frame->visible_rect(), + 0xff, + SkXfermode::kSrc_Mode, + media::VIDEO_ROTATION_0); +} + } // namespace media