| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent()); | 668 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent()); |
| 669 | 669 |
| 670 // Extract information from the base session. | 670 // Extract information from the base session. |
| 671 StatsReport::Id id(StatsReport::NewTypedId( | 671 StatsReport::Id id(StatsReport::NewTypedId( |
| 672 StatsReport::kStatsReportTypeSession, pc_->session()->id())); | 672 StatsReport::kStatsReportTypeSession, pc_->session()->id())); |
| 673 StatsReport* report = reports_.ReplaceOrAddNew(id); | 673 StatsReport* report = reports_.ReplaceOrAddNew(id); |
| 674 report->set_timestamp(stats_gathering_started_); | 674 report->set_timestamp(stats_gathering_started_); |
| 675 report->AddBoolean(StatsReport::kStatsValueNameInitiator, | 675 report->AddBoolean(StatsReport::kStatsValueNameInitiator, |
| 676 pc_->session()->initial_offerer()); | 676 pc_->session()->initial_offerer()); |
| 677 | 677 |
| 678 SessionStats stats; | 678 std::unique_ptr<SessionStats> stats = pc_->session()->GetStats(); |
| 679 if (!pc_->session()->GetTransportStats(&stats)) { | 679 if (!stats) { |
| 680 return; | 680 return; |
| 681 } | 681 } |
| 682 | 682 |
| 683 // Store the proxy map away for use in SSRC reporting. | 683 // Store the proxy map away for use in SSRC reporting. |
| 684 // TODO(tommi): This shouldn't be necessary if we post the stats back to the | 684 // TODO(tommi): This shouldn't be necessary if we post the stats back to the |
| 685 // signaling thread after fetching them on the worker thread, then just use | 685 // signaling thread after fetching them on the worker thread, then just use |
| 686 // the proxy map directly from the session stats. | 686 // the proxy map directly from the session stats. |
| 687 // As is, if GetStats() failed, we could be using old (incorrect?) proxy | 687 // As is, if GetStats() failed, we could be using old (incorrect?) proxy |
| 688 // data. | 688 // data. |
| 689 proxy_to_transport_ = stats.proxy_to_transport; | 689 proxy_to_transport_ = stats->proxy_to_transport; |
| 690 | 690 |
| 691 for (const auto& transport_iter : stats.transport_stats) { | 691 for (const auto& transport_iter : stats->transport_stats) { |
| 692 // Attempt to get a copy of the certificates from the transport and | 692 // Attempt to get a copy of the certificates from the transport and |
| 693 // expose them in stats reports. All channels in a transport share the | 693 // expose them in stats reports. All channels in a transport share the |
| 694 // same local and remote certificates. | 694 // same local and remote certificates. |
| 695 // | 695 // |
| 696 StatsReport::Id local_cert_report_id, remote_cert_report_id; | 696 StatsReport::Id local_cert_report_id, remote_cert_report_id; |
| 697 rtc::scoped_refptr<rtc::RTCCertificate> certificate; | 697 rtc::scoped_refptr<rtc::RTCCertificate> certificate; |
| 698 if (pc_->session()->GetLocalCertificate( | 698 if (pc_->session()->GetLocalCertificate( |
| 699 transport_iter.second.transport_name, &certificate)) { | 699 transport_iter.second.transport_name, &certificate)) { |
| 700 StatsReport* r = AddCertificateReports(&(certificate->ssl_certificate())); | 700 StatsReport* r = AddCertificateReports(&(certificate->ssl_certificate())); |
| 701 if (r) | 701 if (r) |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 978 StatsReport* report = entry.second; | 978 StatsReport* report = entry.second; |
| 979 report->set_timestamp(stats_gathering_started_); | 979 report->set_timestamp(stats_gathering_started_); |
| 980 } | 980 } |
| 981 } | 981 } |
| 982 | 982 |
| 983 void StatsCollector::ClearUpdateStatsCacheForTest() { | 983 void StatsCollector::ClearUpdateStatsCacheForTest() { |
| 984 stats_gathering_started_ = 0; | 984 stats_gathering_started_ = 0; |
| 985 } | 985 } |
| 986 | 986 |
| 987 } // namespace webrtc | 987 } // namespace webrtc |
| OLD | NEW |