| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/media_stream_track_metrics.h" | 5 #include "content/renderer/media/webrtc/media_stream_track_metrics.h" |
| 6 | 6 |
| 7 #include <inttypes.h> | 7 #include <inttypes.h> |
| 8 #include <algorithm> | |
| 9 #include <set> | 8 #include <set> |
| 10 #include <string> | 9 #include <string> |
| 11 | 10 |
| 12 #include "base/md5.h" | 11 #include "base/md5.h" |
| 13 #include "content/common/media/media_stream_track_metrics_host_messages.h" | 12 #include "content/common/media/media_stream_track_metrics_host_messages.h" |
| 14 #include "content/renderer/render_thread_impl.h" | 13 #include "content/renderer/render_thread_impl.h" |
| 15 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" | 14 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" |
| 16 | 15 |
| 17 using webrtc::AudioTrackVector; | 16 using webrtc::AudioTrackVector; |
| 18 using webrtc::MediaStreamInterface; | 17 using webrtc::MediaStreamInterface; |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 audio_track_ids_ = all_audio_track_ids; | 168 audio_track_ids_ = all_audio_track_ids; |
| 170 video_track_ids_ = all_video_track_ids; | 169 video_track_ids_ = all_video_track_ids; |
| 171 } | 170 } |
| 172 | 171 |
| 173 void MediaStreamTrackMetricsObserver::ReportAddedAndRemovedTracks( | 172 void MediaStreamTrackMetricsObserver::ReportAddedAndRemovedTracks( |
| 174 const IdSet& new_ids, | 173 const IdSet& new_ids, |
| 175 const IdSet& old_ids, | 174 const IdSet& old_ids, |
| 176 MediaStreamTrackMetrics::TrackType track_type) { | 175 MediaStreamTrackMetrics::TrackType track_type) { |
| 177 DCHECK(has_reported_start_ && !has_reported_end_); | 176 DCHECK(has_reported_start_ && !has_reported_end_); |
| 178 | 177 |
| 179 IdSet added_tracks; | 178 IdSet added_tracks = base::STLSetDifference<IdSet>(new_ids, old_ids); |
| 180 std::set_difference(new_ids.begin(), | 179 IdSet removed_tracks = base::STLSetDifference<IdSet>(old_ids, new_ids); |
| 181 new_ids.end(), | |
| 182 old_ids.begin(), | |
| 183 old_ids.end(), | |
| 184 std::inserter(added_tracks, added_tracks.end())); | |
| 185 | |
| 186 IdSet removed_tracks; | |
| 187 std::set_difference(old_ids.begin(), | |
| 188 old_ids.end(), | |
| 189 new_ids.begin(), | |
| 190 new_ids.end(), | |
| 191 std::inserter(removed_tracks, removed_tracks.end())); | |
| 192 | 180 |
| 193 ReportTracks(added_tracks, track_type, MediaStreamTrackMetrics::CONNECTED); | 181 ReportTracks(added_tracks, track_type, MediaStreamTrackMetrics::CONNECTED); |
| 194 ReportTracks( | 182 ReportTracks( |
| 195 removed_tracks, track_type, MediaStreamTrackMetrics::DISCONNECTED); | 183 removed_tracks, track_type, MediaStreamTrackMetrics::DISCONNECTED); |
| 196 } | 184 } |
| 197 | 185 |
| 198 void MediaStreamTrackMetricsObserver::ReportTracks( | 186 void MediaStreamTrackMetricsObserver::ReportTracks( |
| 199 const IdSet& ids, | 187 const IdSet& ids, |
| 200 MediaStreamTrackMetrics::TrackType track_type, | 188 MediaStreamTrackMetrics::TrackType track_type, |
| 201 MediaStreamTrackMetrics::LifetimeEvent event) { | 189 MediaStreamTrackMetrics::LifetimeEvent event) { |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 | 323 |
| 336 uint64 MediaStreamTrackMetrics::MakeUniqueId(const std::string& track_id, | 324 uint64 MediaStreamTrackMetrics::MakeUniqueId(const std::string& track_id, |
| 337 StreamType stream_type) { | 325 StreamType stream_type) { |
| 338 return MakeUniqueIdImpl( | 326 return MakeUniqueIdImpl( |
| 339 reinterpret_cast<uint64>(reinterpret_cast<void*>(this)), | 327 reinterpret_cast<uint64>(reinterpret_cast<void*>(this)), |
| 340 track_id, | 328 track_id, |
| 341 stream_type); | 329 stream_type); |
| 342 } | 330 } |
| 343 | 331 |
| 344 } // namespace content | 332 } // namespace content |
| OLD | NEW |