OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |