• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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