OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/rtc_peer_connection_handler.h" | 5 #include "content/renderer/media/rtc_peer_connection_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 // the blink::WebRTCSessionDescriptionRequest. | 195 // the blink::WebRTCSessionDescriptionRequest. |
196 class CreateSessionDescriptionRequest | 196 class CreateSessionDescriptionRequest |
197 : public webrtc::CreateSessionDescriptionObserver { | 197 : public webrtc::CreateSessionDescriptionObserver { |
198 public: | 198 public: |
199 explicit CreateSessionDescriptionRequest( | 199 explicit CreateSessionDescriptionRequest( |
200 const blink::WebRTCSessionDescriptionRequest& request, | 200 const blink::WebRTCSessionDescriptionRequest& request, |
201 RTCPeerConnectionHandler* handler, | 201 RTCPeerConnectionHandler* handler, |
202 PeerConnectionTracker::Action action) | 202 PeerConnectionTracker::Action action) |
203 : webkit_request_(request), tracker_(handler, action) {} | 203 : webkit_request_(request), tracker_(handler, action) {} |
204 | 204 |
205 virtual void OnSuccess(webrtc::SessionDescriptionInterface* desc) OVERRIDE { | 205 virtual void OnSuccess(webrtc::SessionDescriptionInterface* desc) override { |
206 tracker_.TrackOnSuccess(desc); | 206 tracker_.TrackOnSuccess(desc); |
207 webkit_request_.requestSucceeded(CreateWebKitSessionDescription(desc)); | 207 webkit_request_.requestSucceeded(CreateWebKitSessionDescription(desc)); |
208 delete desc; | 208 delete desc; |
209 } | 209 } |
210 virtual void OnFailure(const std::string& error) OVERRIDE { | 210 virtual void OnFailure(const std::string& error) override { |
211 tracker_.TrackOnFailure(error); | 211 tracker_.TrackOnFailure(error); |
212 webkit_request_.requestFailed(base::UTF8ToUTF16(error)); | 212 webkit_request_.requestFailed(base::UTF8ToUTF16(error)); |
213 } | 213 } |
214 | 214 |
215 protected: | 215 protected: |
216 virtual ~CreateSessionDescriptionRequest() {} | 216 virtual ~CreateSessionDescriptionRequest() {} |
217 | 217 |
218 private: | 218 private: |
219 blink::WebRTCSessionDescriptionRequest webkit_request_; | 219 blink::WebRTCSessionDescriptionRequest webkit_request_; |
220 SessionDescriptionRequestTracker tracker_; | 220 SessionDescriptionRequestTracker tracker_; |
221 }; | 221 }; |
222 | 222 |
223 // Class mapping responses from calls to libjingle | 223 // Class mapping responses from calls to libjingle |
224 // SetLocalDescription/SetRemoteDescription and a blink::WebRTCVoidRequest. | 224 // SetLocalDescription/SetRemoteDescription and a blink::WebRTCVoidRequest. |
225 class SetSessionDescriptionRequest | 225 class SetSessionDescriptionRequest |
226 : public webrtc::SetSessionDescriptionObserver { | 226 : public webrtc::SetSessionDescriptionObserver { |
227 public: | 227 public: |
228 explicit SetSessionDescriptionRequest( | 228 explicit SetSessionDescriptionRequest( |
229 const blink::WebRTCVoidRequest& request, | 229 const blink::WebRTCVoidRequest& request, |
230 RTCPeerConnectionHandler* handler, | 230 RTCPeerConnectionHandler* handler, |
231 PeerConnectionTracker::Action action) | 231 PeerConnectionTracker::Action action) |
232 : webkit_request_(request), tracker_(handler, action) {} | 232 : webkit_request_(request), tracker_(handler, action) {} |
233 | 233 |
234 virtual void OnSuccess() OVERRIDE { | 234 virtual void OnSuccess() override { |
235 tracker_.TrackOnSuccess(NULL); | 235 tracker_.TrackOnSuccess(NULL); |
236 webkit_request_.requestSucceeded(); | 236 webkit_request_.requestSucceeded(); |
237 } | 237 } |
238 virtual void OnFailure(const std::string& error) OVERRIDE { | 238 virtual void OnFailure(const std::string& error) override { |
239 tracker_.TrackOnFailure(error); | 239 tracker_.TrackOnFailure(error); |
240 webkit_request_.requestFailed(base::UTF8ToUTF16(error)); | 240 webkit_request_.requestFailed(base::UTF8ToUTF16(error)); |
241 } | 241 } |
242 | 242 |
243 protected: | 243 protected: |
244 virtual ~SetSessionDescriptionRequest() {} | 244 virtual ~SetSessionDescriptionRequest() {} |
245 | 245 |
246 private: | 246 private: |
247 blink::WebRTCVoidRequest webkit_request_; | 247 blink::WebRTCVoidRequest webkit_request_; |
248 SessionDescriptionRequestTracker tracker_; | 248 SessionDescriptionRequestTracker tracker_; |
249 }; | 249 }; |
250 | 250 |
251 // Class mapping responses from calls to libjingle | 251 // Class mapping responses from calls to libjingle |
252 // GetStats into a blink::WebRTCStatsCallback. | 252 // GetStats into a blink::WebRTCStatsCallback. |
253 class StatsResponse : public webrtc::StatsObserver { | 253 class StatsResponse : public webrtc::StatsObserver { |
254 public: | 254 public: |
255 explicit StatsResponse(const scoped_refptr<LocalRTCStatsRequest>& request) | 255 explicit StatsResponse(const scoped_refptr<LocalRTCStatsRequest>& request) |
256 : request_(request.get()), response_(request_->createResponse().get()) { | 256 : request_(request.get()), response_(request_->createResponse().get()) { |
257 // Measure the overall time it takes to satisfy a getStats request. | 257 // Measure the overall time it takes to satisfy a getStats request. |
258 TRACE_EVENT_ASYNC_BEGIN0("webrtc", "getStats_Native", this); | 258 TRACE_EVENT_ASYNC_BEGIN0("webrtc", "getStats_Native", this); |
259 } | 259 } |
260 | 260 |
261 virtual void OnComplete(const StatsReports& reports) OVERRIDE { | 261 virtual void OnComplete(const StatsReports& reports) override { |
262 TRACE_EVENT0("webrtc", "StatsResponse::OnComplete") | 262 TRACE_EVENT0("webrtc", "StatsResponse::OnComplete") |
263 for (StatsReports::const_iterator it = reports.begin(); | 263 for (StatsReports::const_iterator it = reports.begin(); |
264 it != reports.end(); ++it) { | 264 it != reports.end(); ++it) { |
265 if ((*it)->values.size() > 0) { | 265 if ((*it)->values.size() > 0) { |
266 AddReport(*(*it)); | 266 AddReport(*(*it)); |
267 } | 267 } |
268 } | 268 } |
269 | 269 |
270 // Record the getSync operation as done before calling into Blink so that | 270 // Record the getSync operation as done before calling into Blink so that |
271 // we don't skew the perf measurements of the native code with whatever the | 271 // we don't skew the perf measurements of the native code with whatever the |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 } | 343 } |
344 | 344 |
345 namespace { | 345 namespace { |
346 | 346 |
347 class PeerConnectionUMAObserver : public webrtc::UMAObserver { | 347 class PeerConnectionUMAObserver : public webrtc::UMAObserver { |
348 public: | 348 public: |
349 PeerConnectionUMAObserver() {} | 349 PeerConnectionUMAObserver() {} |
350 virtual ~PeerConnectionUMAObserver() {} | 350 virtual ~PeerConnectionUMAObserver() {} |
351 | 351 |
352 virtual void IncrementCounter( | 352 virtual void IncrementCounter( |
353 webrtc::PeerConnectionUMAMetricsCounter counter) OVERRIDE { | 353 webrtc::PeerConnectionUMAMetricsCounter counter) override { |
354 UMA_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.IPMetrics", | 354 UMA_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.IPMetrics", |
355 counter, | 355 counter, |
356 webrtc::kBoundary); | 356 webrtc::kBoundary); |
357 } | 357 } |
358 | 358 |
359 virtual void AddHistogramSample( | 359 virtual void AddHistogramSample( |
360 webrtc::PeerConnectionUMAMetricsName type, int value) OVERRIDE { | 360 webrtc::PeerConnectionUMAMetricsName type, int value) override { |
361 switch (type) { | 361 switch (type) { |
362 case webrtc::kTimeToConnect: | 362 case webrtc::kTimeToConnect: |
363 UMA_HISTOGRAM_MEDIUM_TIMES( | 363 UMA_HISTOGRAM_MEDIUM_TIMES( |
364 "WebRTC.PeerConnection.TimeToConnect", | 364 "WebRTC.PeerConnection.TimeToConnect", |
365 base::TimeDelta::FromMilliseconds(value)); | 365 base::TimeDelta::FromMilliseconds(value)); |
366 break; | 366 break; |
367 case webrtc::kNetworkInterfaces_IPv4: | 367 case webrtc::kNetworkInterfaces_IPv4: |
368 UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnection.IPv4Interfaces", | 368 UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnection.IPv4Interfaces", |
369 value); | 369 value); |
370 break; | 370 break; |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 webrtc::SessionDescriptionInterface* native_desc = | 1049 webrtc::SessionDescriptionInterface* native_desc = |
1050 dependency_factory_->CreateSessionDescription(type, sdp, error); | 1050 dependency_factory_->CreateSessionDescription(type, sdp, error); |
1051 | 1051 |
1052 LOG_IF(ERROR, !native_desc) << "Failed to create native session description." | 1052 LOG_IF(ERROR, !native_desc) << "Failed to create native session description." |
1053 << " Type: " << type << " SDP: " << sdp; | 1053 << " Type: " << type << " SDP: " << sdp; |
1054 | 1054 |
1055 return native_desc; | 1055 return native_desc; |
1056 } | 1056 } |
1057 | 1057 |
1058 } // namespace content | 1058 } // namespace content |
OLD | NEW |