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 #include "third_party/webrtc/api/rtcstats.h" | 9 #include "third_party/webrtc/api/rtcstats.h" |
10 | 10 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 case webrtc::RTCStatsMemberInterface::kSequenceDouble: | 108 case webrtc::RTCStatsMemberInterface::kSequenceDouble: |
109 return blink::WebRTCStatsMemberTypeSequenceDouble; | 109 return blink::WebRTCStatsMemberTypeSequenceDouble; |
110 case webrtc::RTCStatsMemberInterface::kSequenceString: | 110 case webrtc::RTCStatsMemberInterface::kSequenceString: |
111 return blink::WebRTCStatsMemberTypeSequenceString; | 111 return blink::WebRTCStatsMemberTypeSequenceString; |
112 default: | 112 default: |
113 NOTREACHED(); | 113 NOTREACHED(); |
114 return blink::WebRTCStatsMemberTypeSequenceInt32; | 114 return blink::WebRTCStatsMemberTypeSequenceInt32; |
115 } | 115 } |
116 } | 116 } |
117 | 117 |
| 118 bool RTCStatsMember::isDefined() const { |
| 119 return member_->is_defined(); |
| 120 } |
| 121 |
118 int32_t RTCStatsMember::valueInt32() const { | 122 int32_t RTCStatsMember::valueInt32() const { |
| 123 DCHECK(isDefined()); |
119 return *member_->cast_to<webrtc::RTCStatsMember<int32_t>>(); | 124 return *member_->cast_to<webrtc::RTCStatsMember<int32_t>>(); |
120 } | 125 } |
121 | 126 |
122 uint32_t RTCStatsMember::valueUint32() const { | 127 uint32_t RTCStatsMember::valueUint32() const { |
| 128 DCHECK(isDefined()); |
123 return *member_->cast_to<webrtc::RTCStatsMember<uint32_t>>(); | 129 return *member_->cast_to<webrtc::RTCStatsMember<uint32_t>>(); |
124 } | 130 } |
125 | 131 |
126 int64_t RTCStatsMember::valueInt64() const { | 132 int64_t RTCStatsMember::valueInt64() const { |
| 133 DCHECK(isDefined()); |
127 return *member_->cast_to<webrtc::RTCStatsMember<int64_t>>(); | 134 return *member_->cast_to<webrtc::RTCStatsMember<int64_t>>(); |
128 } | 135 } |
129 | 136 |
130 uint64_t RTCStatsMember::valueUint64() const { | 137 uint64_t RTCStatsMember::valueUint64() const { |
| 138 DCHECK(isDefined()); |
131 return *member_->cast_to<webrtc::RTCStatsMember<uint64_t>>(); | 139 return *member_->cast_to<webrtc::RTCStatsMember<uint64_t>>(); |
132 } | 140 } |
133 | 141 |
134 double RTCStatsMember::valueDouble() const { | 142 double RTCStatsMember::valueDouble() const { |
| 143 DCHECK(isDefined()); |
135 return *member_->cast_to<webrtc::RTCStatsMember<double>>(); | 144 return *member_->cast_to<webrtc::RTCStatsMember<double>>(); |
136 } | 145 } |
137 | 146 |
138 blink::WebString RTCStatsMember::valueString() const { | 147 blink::WebString RTCStatsMember::valueString() const { |
| 148 DCHECK(isDefined()); |
139 return blink::WebString::fromUTF8( | 149 return blink::WebString::fromUTF8( |
140 *member_->cast_to<webrtc::RTCStatsMember<std::string>>()); | 150 *member_->cast_to<webrtc::RTCStatsMember<std::string>>()); |
141 } | 151 } |
142 | 152 |
143 blink::WebVector<int32_t> RTCStatsMember::valueSequenceInt32() const { | 153 blink::WebVector<int32_t> RTCStatsMember::valueSequenceInt32() const { |
| 154 DCHECK(isDefined()); |
144 return blink::WebVector<int32_t>( | 155 return blink::WebVector<int32_t>( |
145 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int32_t>>>()); | 156 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int32_t>>>()); |
146 } | 157 } |
147 | 158 |
148 blink::WebVector<uint32_t> RTCStatsMember::valueSequenceUint32() const { | 159 blink::WebVector<uint32_t> RTCStatsMember::valueSequenceUint32() const { |
| 160 DCHECK(isDefined()); |
149 return blink::WebVector<uint32_t>( | 161 return blink::WebVector<uint32_t>( |
150 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint32_t>>>()); | 162 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint32_t>>>()); |
151 } | 163 } |
152 | 164 |
153 blink::WebVector<int64_t> RTCStatsMember::valueSequenceInt64() const { | 165 blink::WebVector<int64_t> RTCStatsMember::valueSequenceInt64() const { |
| 166 DCHECK(isDefined()); |
154 return blink::WebVector<int64_t>( | 167 return blink::WebVector<int64_t>( |
155 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int64_t>>>()); | 168 *member_->cast_to<webrtc::RTCStatsMember<std::vector<int64_t>>>()); |
156 } | 169 } |
157 | 170 |
158 blink::WebVector<uint64_t> RTCStatsMember::valueSequenceUint64() const { | 171 blink::WebVector<uint64_t> RTCStatsMember::valueSequenceUint64() const { |
| 172 DCHECK(isDefined()); |
159 return blink::WebVector<uint64_t>( | 173 return blink::WebVector<uint64_t>( |
160 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint64_t>>>()); | 174 *member_->cast_to<webrtc::RTCStatsMember<std::vector<uint64_t>>>()); |
161 } | 175 } |
162 | 176 |
163 blink::WebVector<double> RTCStatsMember::valueSequenceDouble() const { | 177 blink::WebVector<double> RTCStatsMember::valueSequenceDouble() const { |
| 178 DCHECK(isDefined()); |
164 return blink::WebVector<double>( | 179 return blink::WebVector<double>( |
165 *member_->cast_to<webrtc::RTCStatsMember<std::vector<double>>>()); | 180 *member_->cast_to<webrtc::RTCStatsMember<std::vector<double>>>()); |
166 } | 181 } |
167 | 182 |
168 blink::WebVector<blink::WebString> RTCStatsMember::valueSequenceString() const { | 183 blink::WebVector<blink::WebString> RTCStatsMember::valueSequenceString() const { |
| 184 DCHECK(isDefined()); |
169 const std::vector<std::string>& sequence = | 185 const std::vector<std::string>& sequence = |
170 *member_->cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>(); | 186 *member_->cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>(); |
171 blink::WebVector<blink::WebString> web_sequence(sequence.size()); | 187 blink::WebVector<blink::WebString> web_sequence(sequence.size()); |
172 for (size_t i = 0; i < sequence.size(); ++i) | 188 for (size_t i = 0; i < sequence.size(); ++i) |
173 web_sequence[i] = blink::WebString::fromUTF8(sequence[i]); | 189 web_sequence[i] = blink::WebString::fromUTF8(sequence[i]); |
174 return web_sequence; | 190 return web_sequence; |
175 } | 191 } |
176 | 192 |
177 } // namespace content | 193 } // namespace content |
OLD | NEW |