1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_ 6 #define MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_ 7 8 #include "media/video/capture/linux/video_capture_device_linux.h" 9 10 namespace gfx { 11 class Display; 12 } // namespace gfx 13 14 namespace media { 15 16 // This class is functionally the same as VideoCaptureDeviceLinux, with the 17 // exception that it is aware of the orientation of the internal Display. When 18 // the internal Display is rotated, the frames captured are rotated to match. 19 class VideoCaptureDeviceChromeOS : public VideoCaptureDeviceLinux { 20 public: 21 explicit VideoCaptureDeviceChromeOS( 22 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, 23 const Name& device_name); 24 virtual ~VideoCaptureDeviceChromeOS(); 25 26 private: 27 class ScreenObserverDelegate; 28 29 void SetDisplayRotation(const gfx::Display& display); 30 scoped_refptr<ScreenObserverDelegate> screen_observer_delegate_; 31 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceChromeOS); 32 }; 33 34 } // namespace media 35 36 #endif // MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_ 37