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

Side by Side Diff: content/renderer/media/media_stream_constraints_util.cc

Issue 246433006: Change MediaStreamVideoSource to output different resolutions to different tracks depending on the … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 7 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 | Annotate | Revision Log
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 "content/renderer/media/media_stream_constraints_util.h" 5 #include "content/renderer/media/media_stream_constraints_util.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 9 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
10 #include "third_party/WebKit/public/platform/WebString.h" 10 #include "third_party/WebKit/public/platform/WebString.h"
11 11
12 namespace content { 12 namespace content {
13 13
14 namespace { 14 namespace {
15 15
16 // Convert a string ("true", "false") to a boolean. 16 // Convert a string ("true", "false") to a boolean.
17 bool ConvertStringToBoolean(const std::string& string, bool* value) { 17 bool ConvertStringToBoolean(const std::string& string, bool* value) {
18 static const char kValueTrue[] = "true"; 18 static const char kValueTrue[] = "true";
19 static const char kValueFalse[] = "false"; 19 static const char kValueFalse[] = "false";
20 20
21 *value = (string == kValueTrue); 21 *value = (string == kValueTrue);
22 return *value || (string == kValueFalse); 22 return *value || (string == kValueFalse);
23 } 23 }
24 24
25 } // namespace 25 } // namespace
26 26
27 bool GetConstraintValueAsBoolean(const blink::WebMediaConstraints& constraints, 27 bool GetConstraintValueAsBoolean(const blink::WebMediaConstraints& constraints,
28 const std::string& key, 28 const std::string& name,
29 bool* value) { 29 bool* value) {
30 return GetMandatoryConstraintValueAsBoolean(constraints, key, value) || 30 return GetMandatoryConstraintValueAsBoolean(constraints, name, value) ||
31 GetOptionalConstraintValueAsBoolean(constraints, key, value); 31 GetOptionalConstraintValueAsBoolean(constraints, name, value);
32 } 32 }
33 33
34 bool GetConstraintValueAsInteger(const blink::WebMediaConstraints& constraints, 34 bool GetConstraintValueAsInteger(const blink::WebMediaConstraints& constraints,
35 const std::string& key, 35 const std::string& name,
36 int* value) { 36 int* value) {
37 return GetMandatoryConstraintValueAsInteger(constraints, key, value) || 37 return GetMandatoryConstraintValueAsInteger(constraints, name, value) ||
38 GetOptionalConstraintValueAsInteger(constraints, key, value); 38 GetOptionalConstraintValueAsInteger(constraints, name, value);
39 } 39 }
40 40
41 bool GetConstraintValueAsString(const blink::WebMediaConstraints& constraints, 41 bool GetConstraintValueAsString(const blink::WebMediaConstraints& constraints,
42 const std::string& key, 42 const std::string& name,
43 std::string* value) { 43 std::string* value) {
44 blink::WebString value_str; 44 blink::WebString value_str;
45 base::string16 key_16 = base::UTF8ToUTF16(key); 45 base::string16 name_16 = base::UTF8ToUTF16(name);
46 if (!constraints.getMandatoryConstraintValue(key_16, value_str) && 46 if (!constraints.getMandatoryConstraintValue(name_16, value_str) &&
47 !constraints.getOptionalConstraintValue(key_16, value_str)) { 47 !constraints.getOptionalConstraintValue(name_16, value_str)) {
48 return false; 48 return false;
49 } 49 }
50 50
51 *value = value_str.utf8(); 51 *value = value_str.utf8();
52 return true; 52 return true;
53 } 53 }
54 54
55 bool GetMandatoryConstraintValueAsBoolean( 55 bool GetMandatoryConstraintValueAsBoolean(
56 const blink::WebMediaConstraints& constraints, 56 const blink::WebMediaConstraints& constraints,
57 const std::string& key, 57 const std::string& name,
58 bool* value) { 58 bool* value) {
59 blink::WebString value_str; 59 blink::WebString value_str;
60 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(key), 60 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(name),
61 value_str)) { 61 value_str)) {
62 return false; 62 return false;
63 } 63 }
64 64
65 return ConvertStringToBoolean(value_str.utf8(), value); 65 return ConvertStringToBoolean(value_str.utf8(), value);
66 } 66 }
67 67
68 bool GetMandatoryConstraintValueAsInteger( 68 bool GetMandatoryConstraintValueAsInteger(
69 const blink::WebMediaConstraints& constraints, 69 const blink::WebMediaConstraints& constraints,
70 const std::string& key, 70 const std::string& name,
71 int* value) { 71 int* value) {
72 blink::WebString value_str; 72 blink::WebString value_str;
73 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(key), 73 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(name),
74 value_str)) { 74 value_str)) {
75 return false; 75 return false;
76 } 76 }
77 77
78 return base::StringToInt(value_str.utf8(), value); 78 return base::StringToInt(value_str.utf8(), value);
79 } 79 }
80 80
81 bool GetMandatoryConstraintValueAsDouble(
82 const blink::WebMediaConstraints& constraints,
83 const std::string& name,
84 double* value) {
85 blink::WebString value_str;
86 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(name),
87 value_str)) {
88 return false;
89 }
90 return base::StringToDouble(value_str.utf8(), value);
91 }
92
81 bool GetOptionalConstraintValueAsBoolean( 93 bool GetOptionalConstraintValueAsBoolean(
82 const blink::WebMediaConstraints& constraints, 94 const blink::WebMediaConstraints& constraints,
83 const std::string& key, 95 const std::string& name,
84 bool* value) { 96 bool* value) {
85 blink::WebString value_str; 97 blink::WebString value_str;
86 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(key), 98 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(name),
87 value_str)) { 99 value_str)) {
88 return false; 100 return false;
89 } 101 }
90 102
91 return ConvertStringToBoolean(value_str.utf8(), value); 103 return ConvertStringToBoolean(value_str.utf8(), value);
92 } 104 }
93 105
94 bool GetOptionalConstraintValueAsInteger( 106 bool GetOptionalConstraintValueAsInteger(
95 const blink::WebMediaConstraints& constraints, 107 const blink::WebMediaConstraints& constraints,
96 const std::string& key, 108 const std::string& name,
97 int* value) { 109 int* value) {
98 blink::WebString value_str; 110 blink::WebString value_str;
99 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(key), 111 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(name),
100 value_str)) { 112 value_str)) {
101 return false; 113 return false;
102 } 114 }
103 115
104 return base::StringToInt(value_str.utf8(), value); 116 return base::StringToInt(value_str.utf8(), value);
105 } 117 }
106 118
119 bool GetOptionalConstraintValueAsDouble(
120 const blink::WebMediaConstraints& constraints,
121 const std::string& name,
122 double* value) {
123 blink::WebString value_str;
124 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(name),
125 value_str)) {
126 return false;
127 }
128
129 return base::StringToDouble(value_str.utf8(), value);
130 }
131
107 } // namespace content 132 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698