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 |