Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / media / capture / video / linux / video_capture_device_chromeos.h
blob832d8cee47092587db27d0e87634a9d9ab25265b
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.
5 #ifndef MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_
6 #define MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_
8 #include "media/capture/video/linux/video_capture_device_linux.h"
10 namespace gfx {
11 class Display;
12 } // namespace gfx
14 namespace media {
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 ~VideoCaptureDeviceChromeOS() override;
26 private:
27 class ScreenObserverDelegate;
29 void SetDisplayRotation(const gfx::Display& display);
30 scoped_refptr<ScreenObserverDelegate> screen_observer_delegate_;
31 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceChromeOS);
34 } // namespace media
36 #endif // MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_