Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: media/video/capture/file_video_capture_device_factory.cc

Issue 1017633004: FileVideoCaptureDevice: better error mgmt if !File.IsValid() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/video/capture/file_video_capture_device.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
(...skipping 22 matching lines...) Expand all
33 #else 33 #else
34 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice( 34 return scoped_ptr<VideoCaptureDevice>(new FileVideoCaptureDevice(
35 base::FilePath(device_name.name()))); 35 base::FilePath(device_name.name())));
36 #endif 36 #endif
37 } 37 }
38 38
39 void FileVideoCaptureDeviceFactory::GetDeviceNames( 39 void FileVideoCaptureDeviceFactory::GetDeviceNames(
40 VideoCaptureDevice::Names* const device_names) { 40 VideoCaptureDevice::Names* const device_names) {
41 DCHECK(thread_checker_.CalledOnValidThread()); 41 DCHECK(thread_checker_.CalledOnValidThread());
42 DCHECK(device_names->empty()); 42 DCHECK(device_names->empty());
43 base::FilePath command_line_file_path = GetFilePathFromCommandLine(); 43 const base::FilePath command_line_file_path = GetFilePathFromCommandLine();
44 #if defined(OS_WIN) 44 #if defined(OS_WIN)
45 device_names->push_back(VideoCaptureDevice::Name( 45 device_names->push_back(VideoCaptureDevice::Name(
46 base::SysWideToUTF8(command_line_file_path.value()), 46 base::SysWideToUTF8(command_line_file_path.value()),
47 kFileVideoCaptureDeviceName, 47 kFileVideoCaptureDeviceName,
48 VideoCaptureDevice::Name::DIRECT_SHOW)); 48 VideoCaptureDevice::Name::DIRECT_SHOW));
49 #elif defined(OS_MACOSX) 49 #elif defined(OS_MACOSX)
50 device_names->push_back(VideoCaptureDevice::Name( 50 device_names->push_back(VideoCaptureDevice::Name(
51 command_line_file_path.value(), 51 command_line_file_path.value(),
52 kFileVideoCaptureDeviceName, 52 kFileVideoCaptureDeviceName,
53 VideoCaptureDevice::Name::AVFOUNDATION)); 53 VideoCaptureDevice::Name::AVFOUNDATION));
54 #else 54 #else
55 device_names->push_back(VideoCaptureDevice::Name( 55 device_names->push_back(VideoCaptureDevice::Name(
56 command_line_file_path.value(), 56 command_line_file_path.value(),
57 kFileVideoCaptureDeviceName)); 57 kFileVideoCaptureDeviceName));
58 #endif 58 #endif
59 } 59 }
60 60
61 void FileVideoCaptureDeviceFactory::GetDeviceSupportedFormats( 61 void FileVideoCaptureDeviceFactory::GetDeviceSupportedFormats(
62 const VideoCaptureDevice::Name& device, 62 const VideoCaptureDevice::Name& device,
63 VideoCaptureFormats* supported_formats) { 63 VideoCaptureFormats* supported_formats) {
64 DCHECK(thread_checker_.CalledOnValidThread()); 64 DCHECK(thread_checker_.CalledOnValidThread());
65 base::File file = 65 base::File file =
66 FileVideoCaptureDevice::OpenFileForRead(GetFilePathFromCommandLine()); 66 FileVideoCaptureDevice::OpenFileForRead(GetFilePathFromCommandLine());
67 if (!file.IsValid())
68 return;
67 VideoCaptureFormat capture_format; 69 VideoCaptureFormat capture_format;
68 FileVideoCaptureDevice::ParseFileAndExtractVideoFormat(&file, 70 FileVideoCaptureDevice::ParseFileAndExtractVideoFormat(&file,
69 &capture_format); 71 &capture_format);
70 supported_formats->push_back(capture_format); 72 supported_formats->push_back(capture_format);
71 } 73 }
72 74
73 } // namespace media 75 } // namespace media
OLDNEW
« no previous file with comments | « media/video/capture/file_video_capture_device.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698