Chromium Code Reviews| 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 2df4c6ef5a94db6187b5e6551d280487807f79e4..d3e5c01c9fbba043b7911aca966a0ab644f20403 100644 |
| --- a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
| +++ b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc |
| @@ -136,8 +136,7 @@ void WebRtcVideoCapturerAdapter::OnFrameCaptured( |
| // Return |frame| directly if it is GpuMemoryBuffer backed, as we want to |
| // keep the frame on native buffers. |
| if (frame->HasTextures() || |
| - frame->storage_type() == |
| - media::VideoFrame::STORAGE_GPU_MEMORY_BUFFERS) { |
| + frame->storage_type() == media::VideoFrame::STORAGE_GPU_MEMORY_BUFFERS) { |
| OnFrame(cricket::WebRtcVideoFrame( |
| new rtc::RefCountedObject<WebRtcVideoFrameAdapter>(frame), |
| webrtc::kVideoRotation_0, translated_camera_time_us), |
| @@ -145,17 +144,19 @@ void WebRtcVideoCapturerAdapter::OnFrameCaptured( |
| return; |
| } |
| - // Create a centered cropped visible rect that preservers aspect ratio for |
| - // cropped natural size. |
| - gfx::Rect visible_rect = frame->visible_rect(); |
| - visible_rect.ClampToCenteredSize(gfx::Size( |
| - visible_rect.width() * adapted_width / orig_width, |
| - visible_rect.height() * adapted_height / orig_height)); |
| + // Translate crop rectangle from natural size to visible size. |
| + gfx::Rect cropped_visible_rect( |
| + frame->visible_rect().x() + |
| + crop_x * frame->visible_rect().width() / orig_width, |
| + frame->visible_rect().y() + |
| + crop_y * frame->visible_rect().height() / orig_height, |
| + crop_width * frame->visible_rect().width() / orig_width, |
| + crop_height * frame->visible_rect().height() / orig_height); |
| const gfx::Size adapted_size(adapted_width, adapted_height); |
| scoped_refptr<media::VideoFrame> video_frame = |
|
nisse-chromium (ooo August 14)
2016/09/09 09:06:57
It would more readable to write
frame = media::
magjed_chromium
2016/09/09 10:26:32
I agree it's confusing with multiple frames, but I
|
| media::VideoFrame::WrapVideoFrame(frame, frame->format(), |
| - visible_rect, adapted_size); |
| + cropped_visible_rect, adapted_size); |
| if (!video_frame) |
| return; |