video_capture_device_chromeos.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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 10namespace gfx { 11class Display; 12} // namespace gfx 13 14namespace 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. 19class 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 void SetDisplayRotation(const gfx::Display& display); 27 28 private: 29 class ScreenObserverDelegate; 30 31 scoped_refptr<ScreenObserverDelegate> screen_observer_delegate_; 32 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceChromeOS); 33}; 34 35} // namespace media 36 37#endif // MEDIA_VIDEO_CAPTURE_LINUX_VIDEO_CAPTURE_DEVICE_CHROMEOS_H_ 38