Index: content/browser/renderer_host/media/video_capture_controller.cc |
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc |
index deb5e198ce7ede26305bc3fc904086f35b4b7649..29881eec726f575caa25ac9630c010f927f96050 100644 |
--- a/content/browser/renderer_host/media/video_capture_controller.cc |
+++ b/content/browser/renderer_host/media/video_capture_controller.cc |
@@ -148,6 +148,7 @@ class VideoCaptureController::VideoCaptureDeviceClient |
VideoCaptureController::VideoCaptureController() |
: buffer_pool_(new VideoCaptureBufferPool(kNoOfBuffers)), |
state_(VIDEO_CAPTURE_STATE_STARTED), |
+ display_rotation_(gfx::Display::ROTATE_0), |
weak_ptr_factory_(this) { |
} |
@@ -293,6 +294,21 @@ void VideoCaptureController::VideoCaptureDeviceClient::OnIncomingCapturedData( |
base::TimeTicks timestamp) { |
TRACE_EVENT0("video", "VideoCaptureController::OnIncomingCapturedData"); |
+ if (controller_) { |
+ switch (controller_->display_rotation()) { |
+ case gfx::Display::ROTATE_0: |
+ break; |
+ case gfx::Display::ROTATE_90: |
+ rotation = (rotation + 90) % 360; |
+ break; |
+ case gfx::Display::ROTATE_180: |
+ rotation = (rotation + 180) % 360; |
+ break; |
+ case gfx::Display::ROTATE_270: |
+ rotation = (rotation + 270) % 360; |
+ break; |
+ } |
+ } |
if (!frame_format.IsValid()) |
return; |