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

Side by Side Diff: content/renderer/media/webrtc/rtc_stats.cc

Issue 2395503002: WebRTCStatsMember: Support for bool and sequence of bool (Closed)
Patch Set: Created 4 years, 2 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 (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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/webrtc/rtc_stats.h" 5 #include "content/renderer/media/webrtc/rtc_stats.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 9
10 namespace content { 10 namespace content {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 RTCStatsMember::~RTCStatsMember() { 92 RTCStatsMember::~RTCStatsMember() {
93 } 93 }
94 94
95 blink::WebString RTCStatsMember::name() const { 95 blink::WebString RTCStatsMember::name() const {
96 return blink::WebString::fromUTF8(member_->name()); 96 return blink::WebString::fromUTF8(member_->name());
97 } 97 }
98 98
99 blink::WebRTCStatsMemberType RTCStatsMember::type() const { 99 blink::WebRTCStatsMemberType RTCStatsMember::type() const {
100 switch (member_->type()) { 100 switch (member_->type()) {
101 case webrtc::RTCStatsMemberInterface::kBool:
102 return blink::WebRTCStatsMemberTypeBool;
101 case webrtc::RTCStatsMemberInterface::kInt32: 103 case webrtc::RTCStatsMemberInterface::kInt32:
102 return blink::WebRTCStatsMemberTypeInt32; 104 return blink::WebRTCStatsMemberTypeInt32;
103 case webrtc::RTCStatsMemberInterface::kUint32: 105 case webrtc::RTCStatsMemberInterface::kUint32:
104 return blink::WebRTCStatsMemberTypeUint32; 106 return blink::WebRTCStatsMemberTypeUint32;
105 case webrtc::RTCStatsMemberInterface::kInt64: 107 case webrtc::RTCStatsMemberInterface::kInt64:
106 return blink::WebRTCStatsMemberTypeInt64; 108 return blink::WebRTCStatsMemberTypeInt64;
107 case webrtc::RTCStatsMemberInterface::kUint64: 109 case webrtc::RTCStatsMemberInterface::kUint64:
108 return blink::WebRTCStatsMemberTypeUint64; 110 return blink::WebRTCStatsMemberTypeUint64;
109 case webrtc::RTCStatsMemberInterface::kDouble: 111 case webrtc::RTCStatsMemberInterface::kDouble:
110 return blink::WebRTCStatsMemberTypeDouble; 112 return blink::WebRTCStatsMemberTypeDouble;
111 case webrtc::RTCStatsMemberInterface::kString: 113 case webrtc::RTCStatsMemberInterface::kString:
112 return blink::WebRTCStatsMemberTypeString; 114 return blink::WebRTCStatsMemberTypeString;
115 case webrtc::RTCStatsMemberInterface::kSequenceBool:
116 return blink::WebRTCStatsMemberTypeSequenceBool;
113 case webrtc::RTCStatsMemberInterface::kSequenceInt32: 117 case webrtc::RTCStatsMemberInterface::kSequenceInt32:
114 return blink::WebRTCStatsMemberTypeSequenceInt32; 118 return blink::WebRTCStatsMemberTypeSequenceInt32;
115 case webrtc::RTCStatsMemberInterface::kSequenceUint32: 119 case webrtc::RTCStatsMemberInterface::kSequenceUint32:
116 return blink::WebRTCStatsMemberTypeSequenceUint32; 120 return blink::WebRTCStatsMemberTypeSequenceUint32;
117 case webrtc::RTCStatsMemberInterface::kSequenceInt64: 121 case webrtc::RTCStatsMemberInterface::kSequenceInt64:
118 return blink::WebRTCStatsMemberTypeSequenceInt64; 122 return blink::WebRTCStatsMemberTypeSequenceInt64;
119 case webrtc::RTCStatsMemberInterface::kSequenceUint64: 123 case webrtc::RTCStatsMemberInterface::kSequenceUint64:
120 return blink::WebRTCStatsMemberTypeSequenceUint64; 124 return blink::WebRTCStatsMemberTypeSequenceUint64;
121 case webrtc::RTCStatsMemberInterface::kSequenceDouble: 125 case webrtc::RTCStatsMemberInterface::kSequenceDouble:
122 return blink::WebRTCStatsMemberTypeSequenceDouble; 126 return blink::WebRTCStatsMemberTypeSequenceDouble;
123 case webrtc::RTCStatsMemberInterface::kSequenceString: 127 case webrtc::RTCStatsMemberInterface::kSequenceString:
124 return blink::WebRTCStatsMemberTypeSequenceString; 128 return blink::WebRTCStatsMemberTypeSequenceString;
125 default: 129 default:
126 NOTREACHED(); 130 NOTREACHED();
127 return blink::WebRTCStatsMemberTypeSequenceInt32; 131 return blink::WebRTCStatsMemberTypeSequenceInt32;
128 } 132 }
129 } 133 }
130 134
131 bool RTCStatsMember::isDefined() const { 135 bool RTCStatsMember::isDefined() const {
132 return member_->is_defined(); 136 return member_->is_defined();
133 } 137 }
134 138
139 bool RTCStatsMember::valueBool() const {
140 DCHECK(isDefined());
141 return *member_->cast_to<webrtc::RTCStatsMember<bool>>();
142 }
143
135 int32_t RTCStatsMember::valueInt32() const { 144 int32_t RTCStatsMember::valueInt32() const {
136 DCHECK(isDefined()); 145 DCHECK(isDefined());
137 return *member_->cast_to<webrtc::RTCStatsMember<int32_t>>(); 146 return *member_->cast_to<webrtc::RTCStatsMember<int32_t>>();
138 } 147 }
139 148
140 uint32_t RTCStatsMember::valueUint32() const { 149 uint32_t RTCStatsMember::valueUint32() const {
141 DCHECK(isDefined()); 150 DCHECK(isDefined());
142 return *member_->cast_to<webrtc::RTCStatsMember<uint32_t>>(); 151 return *member_->cast_to<webrtc::RTCStatsMember<uint32_t>>();
143 } 152 }
144 153
(...skipping 11 matching lines...) Expand all
156 DCHECK(isDefined()); 165 DCHECK(isDefined());
157 return *member_->cast_to<webrtc::RTCStatsMember<double>>(); 166 return *member_->cast_to<webrtc::RTCStatsMember<double>>();
158 } 167 }
159 168
160 blink::WebString RTCStatsMember::valueString() const { 169 blink::WebString RTCStatsMember::valueString() const {
161 DCHECK(isDefined()); 170 DCHECK(isDefined());
162 return blink::WebString::fromUTF8( 171 return blink::WebString::fromUTF8(
163 *member_->cast_to<webrtc::RTCStatsMember<std::string>>()); 172 *member_->cast_to<webrtc::RTCStatsMember<std::string>>());
164 } 173 }
165 174
175 blink::WebVector<int> RTCStatsMember::valueSequenceBool() const {
176 DCHECK(isDefined());
177 const std::vector<bool>& vector =
178 *member_->cast_to<webrtc::RTCStatsMember<std::vector<bool>>>();
179 std::vector<int> uint32_vector;
180 uint32_vector.reserve(vector.size());
181 for (size_t i = 0; i < vector.size(); ++i) {
182 uint32_vector.push_back(vector[i] ? 1 : 0);
183 }
184 return blink::WebVector<int>(uint32_vector);
185 }
186
166 blink::WebVector<int32_t> RTCStatsMember::valueSequenceInt32() const { 187 blink::WebVector<int32_t> RTCStatsMember::valueSequenceInt32() const {
167 DCHECK(isDefined()); 188 DCHECK(isDefined());
168 return blink::WebVector<int32_t>( 189 return blink::WebVector<int32_t>(
169 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int32_t>>>()); 190 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int32_t>>>());
170 } 191 }
171 192
172 blink::WebVector<uint32_t> RTCStatsMember::valueSequenceUint32() const { 193 blink::WebVector<uint32_t> RTCStatsMember::valueSequenceUint32() const {
173 DCHECK(isDefined()); 194 DCHECK(isDefined());
174 return blink::WebVector<uint32_t>( 195 return blink::WebVector<uint32_t>(
175 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint32_t>>>()); 196 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint32_t>>>());
(...skipping 21 matching lines...) Expand all
197 DCHECK(isDefined()); 218 DCHECK(isDefined());
198 const std::vector<std::string>& sequence = 219 const std::vector<std::string>& sequence =
199 *member_->cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>(); 220 *member_->cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>();
200 blink::WebVector<blink::WebString> web_sequence(sequence.size()); 221 blink::WebVector<blink::WebString> web_sequence(sequence.size());
201 for (size_t i = 0; i < sequence.size(); ++i) 222 for (size_t i = 0; i < sequence.size(); ++i)
202 web_sequence[i] = blink::WebString::fromUTF8(sequence[i]); 223 web_sequence[i] = blink::WebString::fromUTF8(sequence[i]);
203 return web_sequence; 224 return web_sequence;
204 } 225 }
205 226
206 } // namespace content 227 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698