Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: content/renderer/media/webrtc/media_stream_track_metrics.cc

Issue 2913693003: Replace deprecated base::NonThreadSafe in content/renderer/media/webrtc in favor of SequenceChecker. (Closed)
Patch Set: move media_stream_remote_video_source.cc to https://codereview.chromium.org/2909103002/ Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 DCHECK(thread_checker_.CalledOnValidThread()); 262 DCHECK(thread_checker_.CalledOnValidThread());
263 for (IdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) { 263 for (IdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
264 owner_->SendLifetimeMessage(*it, track_type, event, stream_type_); 264 owner_->SendLifetimeMessage(*it, track_type, event, stream_type_);
265 } 265 }
266 } 266 }
267 267
268 MediaStreamTrackMetrics::MediaStreamTrackMetrics() 268 MediaStreamTrackMetrics::MediaStreamTrackMetrics()
269 : ice_state_(webrtc::PeerConnectionInterface::kIceConnectionNew) {} 269 : ice_state_(webrtc::PeerConnectionInterface::kIceConnectionNew) {}
270 270
271 MediaStreamTrackMetrics::~MediaStreamTrackMetrics() { 271 MediaStreamTrackMetrics::~MediaStreamTrackMetrics() {
272 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
272 for (const auto& observer : observers_) { 273 for (const auto& observer : observers_) {
273 observer->SendLifetimeMessages(DISCONNECTED); 274 observer->SendLifetimeMessages(DISCONNECTED);
274 } 275 }
275 } 276 }
276 277
277 void MediaStreamTrackMetrics::AddStream(StreamType type, 278 void MediaStreamTrackMetrics::AddStream(StreamType type,
278 MediaStreamInterface* stream) { 279 MediaStreamInterface* stream) {
279 DCHECK(CalledOnValidThread()); 280 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
280 observers_.push_back( 281 observers_.push_back(
281 base::MakeUnique<MediaStreamTrackMetricsObserver>(type, stream, this)); 282 base::MakeUnique<MediaStreamTrackMetricsObserver>(type, stream, this));
282 SendLifeTimeMessageDependingOnIceState(observers_.back().get()); 283 SendLifeTimeMessageDependingOnIceState(observers_.back().get());
283 } 284 }
284 285
285 void MediaStreamTrackMetrics::RemoveStream(StreamType type, 286 void MediaStreamTrackMetrics::RemoveStream(StreamType type,
286 MediaStreamInterface* stream) { 287 MediaStreamInterface* stream) {
287 DCHECK(CalledOnValidThread()); 288 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
288 auto it = std::find_if(observers_.begin(), observers_.end(), 289 auto it = std::find_if(observers_.begin(), observers_.end(),
289 ObserverFinder(type, stream)); 290 ObserverFinder(type, stream));
290 if (it == observers_.end()) { 291 if (it == observers_.end()) {
291 // Since external apps could call removeStream with a stream they 292 // Since external apps could call removeStream with a stream they
292 // never added, this can happen without it being an error. 293 // never added, this can happen without it being an error.
293 return; 294 return;
294 } 295 }
295 296
296 observers_.erase(it); 297 observers_.erase(it);
297 } 298 }
298 299
299 void MediaStreamTrackMetrics::IceConnectionChange( 300 void MediaStreamTrackMetrics::IceConnectionChange(
300 PeerConnectionInterface::IceConnectionState new_state) { 301 PeerConnectionInterface::IceConnectionState new_state) {
301 DCHECK(CalledOnValidThread()); 302 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
302 ice_state_ = new_state; 303 ice_state_ = new_state;
303 for (const auto& observer : observers_) { 304 for (const auto& observer : observers_) {
304 SendLifeTimeMessageDependingOnIceState(observer.get()); 305 SendLifeTimeMessageDependingOnIceState(observer.get());
305 } 306 }
306 } 307 }
307 void MediaStreamTrackMetrics::SendLifeTimeMessageDependingOnIceState( 308 void MediaStreamTrackMetrics::SendLifeTimeMessageDependingOnIceState(
308 MediaStreamTrackMetricsObserver* observer) { 309 MediaStreamTrackMetricsObserver* observer) {
309 // There is a state transition diagram for these states at 310 // There is a state transition diagram for these states at
310 // http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCIceConnectionSt ate 311 // http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCIceConnectionSt ate
311 switch (ice_state_) { 312 switch (ice_state_) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 } 393 }
393 394
394 uint64_t MediaStreamTrackMetrics::MakeUniqueId(const std::string& track_id, 395 uint64_t MediaStreamTrackMetrics::MakeUniqueId(const std::string& track_id,
395 StreamType stream_type) { 396 StreamType stream_type) {
396 return MakeUniqueIdImpl( 397 return MakeUniqueIdImpl(
397 reinterpret_cast<uint64_t>(reinterpret_cast<void*>(this)), track_id, 398 reinterpret_cast<uint64_t>(reinterpret_cast<void*>(this)), track_id,
398 stream_type); 399 stream_type);
399 } 400 }
400 401
401 } // namespace content 402 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698