OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "media/video/capture/file_video_capture_device_factory.h" | 5 #include "media/video/capture/file_video_capture_device_factory.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/strings/sys_string_conversions.h" | 9 #include "base/strings/sys_string_conversions.h" |
10 #include "media/base/media_switches.h" | 10 #include "media/base/media_switches.h" |
11 #include "media/video/capture/file_video_capture_device.h" | 11 #include "media/video/capture/file_video_capture_device.h" |
12 | 12 |
13 namespace media { | 13 namespace media { |
14 | 14 |
15 const char kFileVideoCaptureDeviceName[] = | 15 const char kFileVideoCaptureDeviceName[] = |
16 "/dev/placeholder-for-file-backed-fake-capture-device"; | 16 "/dev/placeholder-for-file-backed-fake-capture-device"; |
17 | 17 |
18 // Inspects the command line and retrieves the file path parameter. | 18 // Inspects the command line and retrieves the file path parameter. |
19 base::FilePath GetFilePathFromCommandLine() { | 19 base::FilePath GetFilePathFromCommandLine() { |
20 base::FilePath command_line_file_path = | 20 base::FilePath command_line_file_path = |
21 CommandLine::ForCurrentProcess()->GetSwitchValuePath( | 21 CommandLine::ForCurrentProcess()->GetSwitchValuePath( |
22 switches::kUseFileForFakeVideoCapture); | 22 switches::kUseFileForFakeVideoCapture); |
23 CHECK(!command_line_file_path.empty()); | 23 CHECK(!command_line_file_path.empty()); |
24 return command_line_file_path; | 24 return command_line_file_path; |
25 } | 25 } |
26 | 26 |
27 scoped_ptr<VideoCaptureDevice> FileVideoCaptureDeviceFactory::Create( | 27 scoped_ptr<VideoCaptureDevice> FileVideoCaptureDeviceFactory::Create( |
| 28 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
28 const VideoCaptureDevice::Name& device_name) { | 29 const VideoCaptureDevice::Name& device_name) { |
29 #if defined(OS_WIN) | 30 #if defined(OS_WIN) |
30 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice( | 31 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice( |
31 base::FilePath(base::SysUTF8ToWide(device_name.name())))); | 32 base::FilePath(base::SysUTF8ToWide(device_name.name())))); |
32 #else | 33 #else |
33 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice( | 34 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice( |
34 base::FilePath(device_name.name()))); | 35 base::FilePath(device_name.name()))); |
35 #endif | 36 #endif |
36 } | 37 } |
37 | 38 |
(...skipping 17 matching lines...) Expand all Loading... |
55 VideoCaptureFormats* supported_formats) { | 56 VideoCaptureFormats* supported_formats) { |
56 base::File file = | 57 base::File file = |
57 FileVideoCaptureDevice::OpenFileForRead(GetFilePathFromCommandLine()); | 58 FileVideoCaptureDevice::OpenFileForRead(GetFilePathFromCommandLine()); |
58 VideoCaptureFormat capture_format; | 59 VideoCaptureFormat capture_format; |
59 FileVideoCaptureDevice::ParseFileAndExtractVideoFormat(&file, | 60 FileVideoCaptureDevice::ParseFileAndExtractVideoFormat(&file, |
60 &capture_format); | 61 &capture_format); |
61 supported_formats->push_back(capture_format); | 62 supported_formats->push_back(capture_format); |
62 } | 63 } |
63 | 64 |
64 } // namespace media | 65 } // namespace media |
OLD | NEW |