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/media_stream_video_source.h" | 5 #include "content/renderer/media/media_stream_video_source.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 } | 386 } |
387 | 387 |
388 // Call |frame_adapter_->RemoveTrack| here even if adding the track has | 388 // Call |frame_adapter_->RemoveTrack| here even if adding the track has |
389 // failed and |frame_adapter_->AddCallback| has not been called. | 389 // failed and |frame_adapter_->AddCallback| has not been called. |
390 track_adapter_->RemoveTrack(video_track); | 390 track_adapter_->RemoveTrack(video_track); |
391 | 391 |
392 if (tracks_.empty()) | 392 if (tracks_.empty()) |
393 StopSource(); | 393 StopSource(); |
394 } | 394 } |
395 | 395 |
| 396 void MediaStreamVideoSource::UpdateHasConsumers(MediaStreamVideoTrack* track, |
| 397 bool has_consumers) { |
| 398 DCHECK(CalledOnValidThread()); |
| 399 const auto it = |
| 400 std::find(suspended_tracks_.begin(), suspended_tracks_.end(), track); |
| 401 if (has_consumers) { |
| 402 if (it != suspended_tracks_.end()) |
| 403 suspended_tracks_.erase(it); |
| 404 } else { |
| 405 if (it == suspended_tracks_.end()) |
| 406 suspended_tracks_.push_back(track); |
| 407 } |
| 408 OnHasConsumers(suspended_tracks_.size() < tracks_.size()); |
| 409 } |
| 410 |
396 void MediaStreamVideoSource::UpdateCapturingLinkSecure( | 411 void MediaStreamVideoSource::UpdateCapturingLinkSecure( |
397 MediaStreamVideoTrack* track, | 412 MediaStreamVideoTrack* track, bool is_secure) { |
398 bool is_secure) { | 413 DCHECK(CalledOnValidThread()); |
399 secure_tracker_.Update(track, is_secure); | 414 secure_tracker_.Update(track, is_secure); |
400 SetCapturingLinkSecured(secure_tracker_.is_capturing_secure()); | 415 OnCapturingLinkSecured(secure_tracker_.is_capturing_secure()); |
401 } | 416 } |
402 | 417 |
403 base::SingleThreadTaskRunner* MediaStreamVideoSource::io_task_runner() const { | 418 base::SingleThreadTaskRunner* MediaStreamVideoSource::io_task_runner() const { |
404 DCHECK(CalledOnValidThread()); | 419 DCHECK(CalledOnValidThread()); |
405 return track_adapter_->io_task_runner(); | 420 return track_adapter_->io_task_runner(); |
406 } | 421 } |
407 | 422 |
408 const media::VideoCaptureFormat* | 423 const media::VideoCaptureFormat* |
409 MediaStreamVideoSource::GetCurrentFormat() const { | 424 MediaStreamVideoSource::GetCurrentFormat() const { |
410 DCHECK(CalledOnValidThread()); | 425 DCHECK(CalledOnValidThread()); |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 callback(callback) { | 605 callback(callback) { |
591 } | 606 } |
592 | 607 |
593 MediaStreamVideoSource::TrackDescriptor::TrackDescriptor( | 608 MediaStreamVideoSource::TrackDescriptor::TrackDescriptor( |
594 const TrackDescriptor& other) = default; | 609 const TrackDescriptor& other) = default; |
595 | 610 |
596 MediaStreamVideoSource::TrackDescriptor::~TrackDescriptor() { | 611 MediaStreamVideoSource::TrackDescriptor::~TrackDescriptor() { |
597 } | 612 } |
598 | 613 |
599 } // namespace content | 614 } // namespace content |
OLD | NEW |