OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this |
2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
3 // LICENSE file. | 3 // LICENSE file. |
4 | 4 |
5 #include "chrome/renderer/media/video_renderer_impl.h" | 5 #include "chrome/renderer/media/video_renderer_impl.h" |
6 #include "media/base/yuv_convert.h" | 6 #include "media/base/yuv_convert.h" |
7 | 7 |
8 VideoRendererImpl::VideoRendererImpl(WebMediaPlayerDelegateImpl* delegate) | 8 VideoRendererImpl::VideoRendererImpl(WebMediaPlayerDelegateImpl* delegate) |
9 : delegate_(delegate), | 9 : delegate_(delegate), |
10 last_converted_frame_(NULL) { | 10 last_converted_frame_(NULL) { |
(...skipping 24 matching lines...) Expand all Loading... |
35 GetCurrentFrame(&video_frame); | 35 GetCurrentFrame(&video_frame); |
36 if (video_frame.get()) { | 36 if (video_frame.get()) { |
37 CopyToCurrentFrame(video_frame); | 37 CopyToCurrentFrame(video_frame); |
38 video_frame = NULL; | 38 video_frame = NULL; |
39 } | 39 } |
40 SkMatrix matrix; | 40 SkMatrix matrix; |
41 matrix.setTranslate(static_cast<SkScalar>(dest_rect.x()), | 41 matrix.setTranslate(static_cast<SkScalar>(dest_rect.x()), |
42 static_cast<SkScalar>(dest_rect.y())); | 42 static_cast<SkScalar>(dest_rect.y())); |
43 if (dest_rect.width() != video_size_.width() || | 43 if (dest_rect.width() != video_size_.width() || |
44 dest_rect.height() != video_size_.height()) { | 44 dest_rect.height() != video_size_.height()) { |
45 matrix.preScale( | 45 matrix.preScale(SkIntToScalar(dest_rect.width()) / |
46 static_cast<SkScalar>(dest_rect.width() / video_size_.width()), | 46 SkIntToScalar(video_size_.width()), |
47 static_cast<SkScalar>(dest_rect.height() / video_size_.height())); | 47 SkIntToScalar(dest_rect.height()) / |
| 48 SkIntToScalar(video_size_.height())); |
48 } | 49 } |
49 canvas->drawBitmapMatrix(bitmap_, matrix, NULL); | 50 canvas->drawBitmapMatrix(bitmap_, matrix, NULL); |
50 } | 51 } |
51 | 52 |
52 void VideoRendererImpl::CopyToCurrentFrame(media::VideoFrame* video_frame) { | 53 void VideoRendererImpl::CopyToCurrentFrame(media::VideoFrame* video_frame) { |
53 base::TimeDelta timestamp = video_frame->GetTimestamp(); | 54 base::TimeDelta timestamp = video_frame->GetTimestamp(); |
54 if (video_frame != last_converted_frame_ || | 55 if (video_frame != last_converted_frame_ || |
55 timestamp != last_converted_timestamp_) { | 56 timestamp != last_converted_timestamp_) { |
56 last_converted_frame_ = video_frame; | 57 last_converted_frame_ = video_frame; |
57 last_converted_timestamp_ = timestamp; | 58 last_converted_timestamp_ = timestamp; |
(...skipping 14 matching lines...) Expand all Loading... |
72 frame_in.strides[media::VideoSurface::kYPlane], | 73 frame_in.strides[media::VideoSurface::kYPlane], |
73 frame_in.strides[media::VideoSurface::kUPlane], | 74 frame_in.strides[media::VideoSurface::kUPlane], |
74 bitmap_.rowBytes()); | 75 bitmap_.rowBytes()); |
75 bitmap_.unlockPixels(); | 76 bitmap_.unlockPixels(); |
76 video_frame->Unlock(); | 77 video_frame->Unlock(); |
77 } else { | 78 } else { |
78 NOTREACHED(); | 79 NOTREACHED(); |
79 } | 80 } |
80 } | 81 } |
81 } | 82 } |
OLD | NEW |