Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / media / tools / player_x11 / x11_video_renderer.cc
index 907e1ab..2ae8e3b 100644 (file)
@@ -83,7 +83,8 @@ X11VideoRenderer::~X11VideoRenderer() {
     XRenderFreePicture(display_, picture_);
 }
 
-void X11VideoRenderer::Paint(media::VideoFrame* video_frame) {
+void X11VideoRenderer::Paint(
+    const scoped_refptr<media::VideoFrame>& video_frame) {
   if (!image_)
     Initialize(video_frame->coded_size(), video_frame->visible_rect());
 
@@ -100,14 +101,16 @@ void X11VideoRenderer::Paint(media::VideoFrame* video_frame) {
 
   // Convert YUV frame to RGB.
   DCHECK(video_frame->format() == media::VideoFrame::YV12 ||
+         video_frame->format() == media::VideoFrame::I420 ||
          video_frame->format() == media::VideoFrame::YV16);
   DCHECK(video_frame->stride(media::VideoFrame::kUPlane) ==
          video_frame->stride(media::VideoFrame::kVPlane));
 
   DCHECK(image_->data);
-  media::YUVType yuv_type =
-      (video_frame->format() == media::VideoFrame::YV12) ?
-      media::YV12 : media::YV16;
+  media::YUVType yuv_type = (video_frame->format() == media::VideoFrame::YV12 ||
+                             video_frame->format() == media::VideoFrame::I420)
+                                ? media::YV12
+                                : media::YV16;
   media::ConvertYUVToRGB32(video_frame->data(media::VideoFrame::kYPlane),
                            video_frame->data(media::VideoFrame::kUPlane),
                            video_frame->data(media::VideoFrame::kVPlane),