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_FILE_VIDEO_CAPTURE_DEVICE_FACTORY_H_
6#define MEDIA_VIDEO_CAPTURE_FILE_VIDEO_CAPTURE_DEVICE_FACTORY_H_
7
8#include "media/video/capture/video_capture_device_factory.h"
9
10namespace media {
11
12// Extension of VideoCaptureDeviceFactory to create and manipulate file-backed
13// fake devices. These devices play back video-only files as video capture
14// input.
15class MEDIA_EXPORT FileVideoCaptureDeviceFactory :
16    public VideoCaptureDeviceFactory {
17 public:
18  FileVideoCaptureDeviceFactory() {}
19  virtual ~FileVideoCaptureDeviceFactory() {}
20
21  virtual scoped_ptr<VideoCaptureDevice> Create(
22      const VideoCaptureDevice::Name& device_name) OVERRIDE;
23  virtual void GetDeviceNames(VideoCaptureDevice::Names* device_names) OVERRIDE;
24  virtual void GetDeviceSupportedFormats(
25      const VideoCaptureDevice::Name& device,
26      VideoCaptureFormats* supported_formats) OVERRIDE;
27};
28
29}  // namespace media
30
31#endif  // MEDIA_VIDEO_CAPTURE_FILE_VIDEO_CAPTURE_DEVICE_FACTORY_H_
32