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

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

Issue 227743004: Added a kEchoCancellation constraint to turn off the audio processing. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: addressed Tommi's comments. 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
OLDNEW
(Empty)
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 #include "content/renderer/media/media_stream_constraints_util.h"
6
7 #include <sstream>
8
9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/utf_string_conversions.h"
11 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
12 #include "third_party/WebKit/public/platform/WebString.h"
13
14 namespace content {
15
16 namespace {
17
18 // Convert a string ("true", "false") to a boolean.
19 bool ConvertStringToBoolean(const std::string& string, bool* value) {
20 std::istringstream iss(string);
21 iss >> std::boolalpha >> *value;
22 return !iss.fail();
23 }
24
25 } // namespace
26
27 bool GetConstraintValueAsBoolean(const blink::WebMediaConstraints& constraints,
28 const std::string& key,
29 bool* value) {
30 return GetMandatoryConstraintValueAsBoolean(constraints, key, value) ||
31 GetOptionalConstraintValueAsBoolean(constraints, key, value);
32 }
33
34 bool GetConstraintValueAsInteger(const blink::WebMediaConstraints& constraints,
tommi (sloooow) - chröme 2014/05/03 10:26:28 Thanks for changing these. It was still stuck in
no longer working on chromium 2014/05/05 12:55:57 NP.
35 const std::string& key,
36 int* value) {
37 return GetMandatoryConstraintValueAsInteger(constraints, key, value) ||
38 GetOptionalConstraintValueAsInteger(constraints, key, value);
39 }
40
41 bool GetConstraintValueAsString(const blink::WebMediaConstraints& constraints,
42 const std::string& key,
43 std::string* value) {
44 blink::WebString value_str;
45 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(key),
tommi (sloooow) - chröme 2014/05/03 10:26:28 nit: Do the base::UTF8ToUTF16 conversion only once
no longer working on chromium 2014/05/05 12:55:57 Done.
46 value_str) &&
47 !constraints.getOptionalConstraintValue(base::UTF8ToUTF16(key),
48 value_str)) {
49 return false;
50 }
51
52 *value = value_str.utf8();
53 return true;
54 }
55
56 bool GetMandatoryConstraintValueAsBoolean(
57 const blink::WebMediaConstraints& constraints,
58 const std::string& key,
59 bool* value) {
60 blink::WebString value_str;
61 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(key),
62 value_str)) {
63 return false;
64 }
65
66 return ConvertStringToBoolean(value_str.utf8(), value);
67 }
68
69 bool GetMandatoryConstraintValueAsInteger(
70 const blink::WebMediaConstraints& constraints,
71 const std::string& key,
72 int* value) {
73 blink::WebString value_str;
74 if (!constraints.getMandatoryConstraintValue(base::UTF8ToUTF16(key),
75 value_str)) {
76 return false;
77 }
78
79 return base::StringToInt(value_str.utf8(), value);
80 }
81
82 bool GetOptionalConstraintValueAsBoolean(
83 const blink::WebMediaConstraints& constraints,
84 const std::string& key,
85 bool* value) {
86 blink::WebString value_str;
87 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(key),
88 value_str)) {
89 return false;
90 }
91
92 return ConvertStringToBoolean(value_str.utf8(), value);
93 }
94
95 bool GetOptionalConstraintValueAsInteger(
96 const blink::WebMediaConstraints& constraints,
97 const std::string& key,
98 int* value) {
99 blink::WebString value_str;
100 if (!constraints.getOptionalConstraintValue(base::UTF8ToUTF16(key),
101 value_str)) {
102 return false;
103 }
104
105 return base::StringToInt(value_str.utf8(), value);
106 }
107
108 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698