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

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

Issue 1014943005: Android CaptureAPI Types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added MediaInternalsVideoCaptureDeviceTest.* 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/video_capture_device.h" 5 #include "media/video/capture/video_capture_device.h"
6 6
7 #include "base/i18n/timezone.h" 7 #include "base/i18n/timezone.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 9
10 namespace media { 10 namespace media {
11 11
12 const std::string VideoCaptureDevice::Name::GetNameAndModel() const { 12 const std::string VideoCaptureDevice::Name::GetNameAndModel() const {
13 const std::string model_id = GetModel(); 13 const std::string model_id = GetModel();
14 if (model_id.empty()) 14 if (model_id.empty())
15 return device_name_; 15 return device_name_;
16 const std::string suffix = " (" + model_id + ")"; 16 const std::string suffix = " (" + model_id + ")";
17 if (EndsWith(device_name_, suffix, true)) // |true| means case-sensitive. 17 if (EndsWith(device_name_, suffix, true)) // |true| means case-sensitive.
18 return device_name_; 18 return device_name_;
19 return device_name_ + suffix; 19 return device_name_ + suffix;
20 } 20 }
21 21
22 VideoCaptureDevice::Name::Name() {} 22 VideoCaptureDevice::Name::Name() {}
23 23
24 VideoCaptureDevice::Name::Name(const std::string& name, const std::string& id) 24 VideoCaptureDevice::Name::Name(const std::string& name, const std::string& id)
25 : device_name_(name), unique_id_(id) {} 25 : device_name_(name), unique_id_(id) {}
26 26
27 #if defined(OS_WIN) 27 #if defined(OS_WIN)
28
28 VideoCaptureDevice::Name::Name(const std::string& name, 29 VideoCaptureDevice::Name::Name(const std::string& name,
29 const std::string& id, 30 const std::string& id,
30 const CaptureApiType api_type) 31 const CaptureApiType api_type)
31 : device_name_(name), 32 : device_name_(name),
32 unique_id_(id), 33 unique_id_(id),
33 capture_api_class_(api_type), 34 capture_api_class_(api_type),
34 capabilities_id_(id) {} 35 capabilities_id_(id) {}
35 #endif 36 #elif defined(OS_MACOSX)
36
37 #if defined(OS_MACOSX)
38 VideoCaptureDevice::Name::Name(const std::string& name, 37 VideoCaptureDevice::Name::Name(const std::string& name,
39 const std::string& id, 38 const std::string& id,
40 const CaptureApiType api_type) 39 const CaptureApiType api_type)
41 : device_name_(name), 40 : device_name_(name),
42 unique_id_(id), 41 unique_id_(id),
43 capture_api_class_(api_type), 42 capture_api_class_(api_type),
44 transport_type_(OTHER_TRANSPORT), 43 transport_type_(OTHER_TRANSPORT),
45 is_blacklisted_(false) {} 44 is_blacklisted_(false) {}
46 45
47 VideoCaptureDevice::Name::Name(const std::string& name, 46 VideoCaptureDevice::Name::Name(const std::string& name,
48 const std::string& id, 47 const std::string& id,
49 const CaptureApiType api_type, 48 const CaptureApiType api_type,
50 const TransportType transport_type) 49 const TransportType transport_type)
51 : device_name_(name), 50 : device_name_(name),
52 unique_id_(id), 51 unique_id_(id),
53 capture_api_class_(api_type), 52 capture_api_class_(api_type),
54 transport_type_(transport_type), 53 transport_type_(transport_type),
55 is_blacklisted_(false) {} 54 is_blacklisted_(false) {}
55 #elif defined(ANDROID)
56 VideoCaptureDevice::Name::Name(const std::string& name,
57 const std::string& id,
58 const CaptureApiType api_type)
59 : device_name_(name),
60 unique_id_(id),
61 capture_api_class_(api_type) {}
56 #endif 62 #endif
57 63
58 VideoCaptureDevice::Name::~Name() {} 64 VideoCaptureDevice::Name::~Name() {}
59 65
60 #if defined(OS_WIN) 66 #if defined(OS_WIN)
61 const char* VideoCaptureDevice::Name::GetCaptureApiTypeString() const { 67 const char* VideoCaptureDevice::Name::GetCaptureApiTypeString() const {
62 switch(capture_api_type()) { 68 switch(capture_api_type()) {
63 case MEDIA_FOUNDATION: 69 case MEDIA_FOUNDATION:
64 return "Media Foundation"; 70 return "Media Foundation";
65 case DIRECT_SHOW: 71 case DIRECT_SHOW:
(...skipping 12 matching lines...) Expand all
78 return "AV Foundation"; 84 return "AV Foundation";
79 case QTKIT: 85 case QTKIT:
80 return "QTKit"; 86 return "QTKit";
81 case DECKLINK: 87 case DECKLINK:
82 return "DeckLink"; 88 return "DeckLink";
83 default: 89 default:
84 NOTREACHED() << "Unknown Video Capture API type!"; 90 NOTREACHED() << "Unknown Video Capture API type!";
85 return "Unknown API"; 91 return "Unknown API";
86 } 92 }
87 } 93 }
94 #elif defined(OS_ANDROID)
95 const char* VideoCaptureDevice::Name::GetCaptureApiTypeString() const {
96 switch(capture_api_type()) {
97 case API1:
98 return "API1";
mcasas 2015/03/19 01:55:14 The human readable strings (and their counterparts
emircan 2015/03/19 19:52:23 I see. I am naming them "Camera API2 Full" like sp
99 case API2_FULL:
100 return "API2_FULL";
101 case API2_LEGACY:
102 return "API2_LEGACY";
103 case API2_LIMITED:
104 return "API2_LIMITED";
105 case TANGO:
106 return "TANGO";
107 case API_TYPE_UNKNOWN:
108 default:
109 NOTREACHED() << "Unknown Video Capture API type!";
110 return "Unknown API";
111 }
112 }
88 #endif 113 #endif
89 114
90 VideoCaptureDevice::~VideoCaptureDevice() {} 115 VideoCaptureDevice::~VideoCaptureDevice() {}
91 116
92 int VideoCaptureDevice::GetPowerLineFrequencyForLocation() const { 117 int VideoCaptureDevice::GetPowerLineFrequencyForLocation() const {
93 std::string current_country = base::CountryCodeForCurrentTimezone(); 118 std::string current_country = base::CountryCodeForCurrentTimezone();
94 if (current_country.empty()) 119 if (current_country.empty())
95 return 0; 120 return 0;
96 // Sorted out list of countries with 60Hz power line frequency, from 121 // Sorted out list of countries with 60Hz power line frequency, from
97 // http://en.wikipedia.org/wiki/Mains_electricity_by_country 122 // http://en.wikipedia.org/wiki/Mains_electricity_by_country
98 const char* countries_using_60Hz[] = { 123 const char* countries_using_60Hz[] = {
99 "AI", "AO", "AS", "AW", "AZ", "BM", "BR", "BS", "BZ", "CA", "CO", 124 "AI", "AO", "AS", "AW", "AZ", "BM", "BR", "BS", "BZ", "CA", "CO",
100 "CR", "CU", "DO", "EC", "FM", "GT", "GU", "GY", "HN", "HT", "JP", 125 "CR", "CU", "DO", "EC", "FM", "GT", "GU", "GY", "HN", "HT", "JP",
101 "KN", "KR", "KY", "MS", "MX", "NI", "PA", "PE", "PF", "PH", "PR", 126 "KN", "KR", "KY", "MS", "MX", "NI", "PA", "PE", "PF", "PH", "PR",
102 "PW", "SA", "SR", "SV", "TT", "TW", "UM", "US", "VG", "VI", "VE"}; 127 "PW", "SA", "SR", "SV", "TT", "TW", "UM", "US", "VG", "VI", "VE"};
103 const char** countries_using_60Hz_end = 128 const char** countries_using_60Hz_end =
104 countries_using_60Hz + arraysize(countries_using_60Hz); 129 countries_using_60Hz + arraysize(countries_using_60Hz);
105 if (std::find(countries_using_60Hz, countries_using_60Hz_end, 130 if (std::find(countries_using_60Hz, countries_using_60Hz_end,
106 current_country) == countries_using_60Hz_end) { 131 current_country) == countries_using_60Hz_end) {
107 return kPowerLine50Hz; 132 return kPowerLine50Hz;
108 } 133 }
109 return kPowerLine60Hz; 134 return kPowerLine60Hz;
110 } 135 }
111 136
112 } // namespace media 137 } // namespace media
OLDNEW
« media/video/capture/android/imageformat_list.h ('K') | « media/video/capture/video_capture_device.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698